test impl(ghc) instead of IsGHC
[ghc-base.git] / base.cabal
1 name:        base
2 version:    2.1
3 license:    BSD3
4 license-file:    LICENSE
5 maintainer:    libraries@haskell.org
6 synopsis:    Basic libraries
7 description:
8     This package contains the Prelude and its support libraries,
9     and a large collection of useful libraries ranging from data
10     structures to parsing combinators and debugging utilities.
11
12 Library {
13     -- This is actually something of a hack, as if we are using
14     -- GHC and we don't have an rts package for some reason, we
15     -- actually ought to fail.
16     if impl(ghc) {
17         build-depends: rts
18         exposed-modules:
19             Data.Generics,
20             Data.Generics.Aliases,
21             Data.Generics.Basics,
22             Data.Generics.Instances,
23             Data.Generics.Schemes,
24             Data.Generics.Text,
25             Data.Generics.Twins,
26             Foreign.Concurrent,
27             GHC.Arr,
28             GHC.Base,
29             GHC.Conc,
30             GHC.ConsoleHandler,
31             GHC.Dotnet,
32             GHC.Enum,
33             GHC.Environment,
34             GHC.Err,
35             GHC.Exception,
36             GHC.Exts,
37             GHC.Float,
38             GHC.ForeignPtr,
39             GHC.Handle,
40             GHC.IO,
41             GHC.IOBase,
42             GHC.Int,
43             GHC.List,
44             GHC.Num,
45             GHC.PArr,
46             GHC.Pack,
47             GHC.Prim,
48             GHC.PrimopWrappers,
49             GHC.Ptr,
50             GHC.Read,
51             GHC.Real,
52             GHC.ST,
53             GHC.STRef,
54             GHC.Show,
55             GHC.Stable,
56             GHC.Storable,
57             GHC.TopHandler,
58             GHC.Unicode,
59             GHC.Weak,
60             GHC.Word,
61             System.Timeout
62     }
63     exposed-modules:
64         Control.Applicative,
65         Control.Arrow,
66         Control.Concurrent,
67         Control.Concurrent.Chan,
68         Control.Concurrent.MVar,
69         Control.Concurrent.QSem,
70         Control.Concurrent.QSemN,
71         Control.Concurrent.SampleVar,
72         Control.Exception,
73         Control.Monad,
74         Control.Monad.Fix,
75         Control.Monad.Instances,
76         Control.Monad.ST,
77         Control.Monad.ST.Lazy,
78         Control.Monad.ST.Strict,
79         Data.Bits,
80         Data.Bool,
81         Data.Char,
82         Data.Complex,
83         Data.Dynamic,
84         Data.Either,
85         Data.Eq,
86         Data.Fixed,
87         Data.Foldable
88         Data.Function,
89         Data.HashTable,
90         Data.IORef,
91         Data.Int,
92         Data.Ix,
93         Data.List,
94         Data.Maybe,
95         Data.Monoid,
96         Data.Ord,
97         Data.Ratio,
98         Data.STRef,
99         Data.STRef.Lazy,
100         Data.STRef.Strict,
101         Data.String,
102         Data.Traversable
103         Data.Tuple,
104         Data.Typeable,
105         Data.Unique,
106         Data.Version,
107         Data.Word,
108         Debug.Trace,
109         Foreign,
110         Foreign.C,
111         Foreign.C.Error,
112         Foreign.C.String,
113         Foreign.C.Types,
114         Foreign.ForeignPtr,
115         Foreign.Marshal,
116         Foreign.Marshal.Alloc,
117         Foreign.Marshal.Array,
118         Foreign.Marshal.Error,
119         Foreign.Marshal.Pool,
120         Foreign.Marshal.Utils,
121         Foreign.Ptr,
122         Foreign.StablePtr,
123         Foreign.Storable,
124         Numeric,
125         Prelude,
126         System.Console.GetOpt,
127         System.CPUTime,
128         System.Environment,
129         System.Exit,
130         System.IO,
131         System.IO.Error,
132         System.IO.Unsafe,
133         System.Info,
134         System.Mem,
135         System.Mem.StableName,
136         System.Mem.Weak,
137         System.Posix.Internals,
138         System.Posix.Types,
139         Text.ParserCombinators.ReadP,
140         Text.ParserCombinators.ReadPrec,
141         Text.Printf,
142         Text.Read,
143         Text.Read.Lex,
144         Text.Show,
145         Text.Show.Functions
146         Unsafe.Coerce
147     c-sources:
148         cbits/PrelIOUtils.c
149         cbits/WCsubst.c
150         cbits/Win32Utils.c
151         cbits/consUtils.c
152         cbits/dirUtils.c
153         cbits/inputReady.c
154         cbits/lockFile.c
155         cbits/longlong.c
156         cbits/selectUtils.c
157     include-dirs: include
158     includes:    HsBase.h
159     install-includes:    HsBase.h HsBaseConfig.h WCsubst.h dirUtils.h lockFile.h consUtils.h Typeable.h
160     if os(mingw32) {
161         extra-libraries: wsock32, msvcrt, kernel32, user32, shell32
162     }
163     extensions:    CPP
164     -- XXX is there an extension for using # in varids?
165     -- We need to set the package name to base (without a version number)
166     -- as it's magic.
167     ghc-options: -fglasgow-exts -package-name base
168     nhc98-options: -H4M -K3M
169 }
170