name:           base
version:        4.2.0.2
license:        BSD3
license-file:   LICENSE
maintainer:     libraries@haskell.org
bug-reports: http://hackage.haskell.org/trac/ghc/newticket?component=libraries/base
synopsis:       Basic libraries
description:
    This package contains the Prelude and its support libraries,
    and a large collection of useful libraries ranging from data
    structures to parsing combinators and debugging utilities.
cabal-version:  >=1.6
build-type: Configure
extra-tmp-files:
                config.log config.status autom4te.cache
                include/HsBaseConfig.h
extra-source-files:
                config.guess config.sub install-sh
                aclocal.m4 configure.ac configure
                include/CTypes.h

source-repository head
    type:     darcs
    location: http://darcs.haskell.org/packages/base/

Flag integer-simple
    Description: Use integer-simple

Library {
    if impl(ghc) {
        if flag(integer-simple)
            build-depends: integer-simple
        else
            build-depends: integer-gmp
            cpp-options: -DOPTIMISE_INTEGER_GCD_LCM
        build-depends: rts, ghc-prim
        exposed-modules:
            Foreign.Concurrent,
            GHC.Arr,
            GHC.Base,
            GHC.Classes,
            GHC.Conc,
            GHC.ConsoleHandler,
            GHC.Constants,
            GHC.Desugar,
            GHC.Enum,
            GHC.Environment,
            GHC.Err,
            GHC.Exception,
            GHC.Exts,
            GHC.Float,
            GHC.ForeignPtr,
            GHC.MVar,
            GHC.IO,
            GHC.IO.IOMode,
            GHC.IO.Buffer,
            GHC.IO.Device,
            GHC.IO.BufferedIO,
            GHC.IO.FD,
            GHC.IO.Exception,
            GHC.IO.Encoding,
            GHC.IO.Encoding.Latin1,
            GHC.IO.Encoding.UTF8,
            GHC.IO.Encoding.UTF16,
            GHC.IO.Encoding.UTF32,
            GHC.IO.Encoding.Types,
            GHC.IO.Encoding.Iconv,
            GHC.IO.Encoding.CodePage,
            GHC.IO.Handle,
            GHC.IO.Handle.Types,
            GHC.IO.Handle.Internals,
            GHC.IO.Handle.FD,
            GHC.IO.Handle.Text,
            GHC.IOBase,
            GHC.Handle,
            GHC.IORef,
            GHC.IOArray,
            GHC.Int,
            GHC.List,
            GHC.Num,
            GHC.PArr,
            GHC.Pack,
            GHC.Ptr,
            GHC.Read,
            GHC.Real,
            GHC.ST,
            GHC.STRef,
            GHC.Show,
            GHC.Stable,
            GHC.Storable,
            GHC.TopHandler,
            GHC.Unicode,
            GHC.Weak,
            GHC.Word,
            System.Timeout
        if os(windows)
            exposed-modules: GHC.IO.Encoding.CodePage.Table
        extensions: MagicHash, ExistentialQuantification, Rank2Types,
                    ScopedTypeVariables, UnboxedTuples,
                    ForeignFunctionInterface, UnliftedFFITypes,
                    DeriveDataTypeable, GeneralizedNewtypeDeriving,
                    FlexibleInstances, StandaloneDeriving,
                    PatternGuards, EmptyDataDecls, NoImplicitPrelude

        if impl(ghc < 6.10) 
           -- PatternSignatures was deprecated in 6.10
           extensions: PatternSignatures
    }
    exposed-modules:
        Control.Applicative,
        Control.Arrow,
        Control.Category,
        Control.Concurrent,
        Control.Concurrent.Chan,
        Control.Concurrent.MVar,
        Control.Concurrent.QSem,
        Control.Concurrent.QSemN,
        Control.Concurrent.SampleVar,
        Control.Exception,
        Control.Exception.Base
        Control.OldException,
        Control.Monad,
        Control.Monad.Fix,
        Control.Monad.Instances,
        Control.Monad.ST
        Control.Monad.ST.Lazy
        Control.Monad.ST.Strict
        Data.Bits,
        Data.Bool,
        Data.Char,
        Data.Complex,
        Data.Dynamic,
        Data.Either,
        Data.Eq,
        Data.Data,
        Data.Fixed,
        Data.Foldable
        Data.Function,
        Data.Functor,
        Data.HashTable,
        Data.IORef,
        Data.Int,
        Data.Ix,
        Data.List,
        Data.Maybe,
        Data.Monoid,
        Data.Ord,
        Data.Ratio,
        Data.STRef
        Data.STRef.Lazy
        Data.STRef.Strict
        Data.String,
        Data.Traversable
        Data.Tuple,
        Data.Typeable,
        Data.Unique,
        Data.Version,
        Data.Word,
        Debug.Trace,
        Foreign,
        Foreign.C,
        Foreign.C.Error,
        Foreign.C.String,
        Foreign.C.Types,
        Foreign.ForeignPtr,
        Foreign.Marshal,
        Foreign.Marshal.Alloc,
        Foreign.Marshal.Array,
        Foreign.Marshal.Error,
        Foreign.Marshal.Pool,
        Foreign.Marshal.Utils,
        Foreign.Ptr,
        Foreign.StablePtr,
        Foreign.Storable,
        Numeric,
        Prelude,
        System.Console.GetOpt
        System.CPUTime,
        System.Environment,
        System.Exit,
        System.IO,
        System.IO.Error,
        System.IO.Unsafe,
        System.Info,
        System.Mem,
        System.Mem.StableName,
        System.Mem.Weak,
        System.Posix.Internals,
        System.Posix.Types,
        Text.ParserCombinators.ReadP,
        Text.ParserCombinators.ReadPrec,
        Text.Printf,
        Text.Read,
        Text.Read.Lex,
        Text.Show,
        Text.Show.Functions
        Unsafe.Coerce
    c-sources:
        cbits/PrelIOUtils.c
        cbits/WCsubst.c
        cbits/Win32Utils.c
        cbits/consUtils.c
        cbits/iconv.c
        cbits/inputReady.c
        cbits/selectUtils.c
        cbits/primFloat.c
    include-dirs: include
    includes:    HsBase.h
    install-includes:    HsBase.h HsBaseConfig.h WCsubst.h consUtils.h Typeable.h
    if os(windows) {
        extra-libraries: wsock32, user32, shell32
    }
    extensions: CPP
    -- We need to set the package name to base (without a version number)
    -- as it's magic.
    ghc-options: -package-name base
    nhc98-options: -H4M -K3M
}
