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