Typeable overhaul (see #5275)
[ghc.git] / libraries / base / base.cabal
1 name:           base
2 version:        4.4.0.0
3 license:        BSD3
4 license-file:   LICENSE
5 maintainer:     libraries@haskell.org
6 bug-reports: http://hackage.haskell.org/trac/ghc/newticket?component=libraries/base
7 synopsis:       Basic libraries
8 description:
9     This package contains the Prelude and its support libraries,
10     and a large collection of useful libraries ranging from data
11     structures to parsing combinators and debugging utilities.
12 cabal-version:  >=1.6
13 build-type: Configure
14 extra-tmp-files:
15                 config.log config.status autom4te.cache
16                 include/HsBaseConfig.h include/EventConfig.h
17 extra-source-files:
18                 config.guess config.sub install-sh
19                 aclocal.m4 configure.ac configure
20                 include/CTypes.h include/md5.h
21
22 source-repository head
23     type:     git
24     location: http://darcs.haskell.org/packages/base.git/
25
26 Flag integer-simple
27     Description: Use integer-simple
28
29 Library {
30     if impl(ghc) {
31         if flag(integer-simple)
32             build-depends: integer-simple
33         else
34             build-depends: integer-gmp
35             cpp-options: -DOPTIMISE_INTEGER_GCD_LCM
36         build-depends: rts, ghc-prim
37         exposed-modules:
38             Foreign.Concurrent,
39             GHC.Arr,
40             GHC.Base,
41             GHC.Classes,
42             GHC.Conc,
43             GHC.Conc.IO,
44             GHC.Conc.Signal,
45             GHC.Conc.Sync,
46             GHC.ConsoleHandler,
47             GHC.Constants,
48             GHC.Desugar,
49             GHC.Enum,
50             GHC.Environment,
51             GHC.Err,
52             GHC.Exception,
53             GHC.Exts,
54             GHC.Fingerprint,
55             GHC.Fingerprint.Type,
56             GHC.Float,
57             GHC.Float.ConversionUtils,
58             GHC.Float.RealFracMethods,
59             GHC.Foreign,
60             GHC.ForeignPtr,
61             GHC.Handle,
62             GHC.IO,
63             GHC.IO.Buffer,
64             GHC.IO.BufferedIO,
65             GHC.IO.Device,
66             GHC.IO.Encoding,
67             GHC.IO.Encoding.CodePage,
68             GHC.IO.Encoding.Failure,
69             GHC.IO.Encoding.Iconv,
70             GHC.IO.Encoding.Latin1,
71             GHC.IO.Encoding.Types,
72             GHC.IO.Encoding.UTF16,
73             GHC.IO.Encoding.UTF32,
74             GHC.IO.Encoding.UTF8,
75             GHC.IO.Exception,
76             GHC.IO.FD,
77             GHC.IO.Handle,
78             GHC.IO.Handle.FD,
79             GHC.IO.Handle.Internals,
80             GHC.IO.Handle.Text,
81             GHC.IO.Handle.Types,
82             GHC.IO.IOMode,
83             GHC.IOArray,
84             GHC.IOBase,
85             GHC.IORef,
86             GHC.Int,
87             GHC.List,
88             GHC.MVar,
89             GHC.Num,
90             GHC.PArr,
91             GHC.Pack,
92             GHC.Ptr,
93             GHC.Read,
94             GHC.Real,
95             GHC.ST,
96             GHC.Show,
97             GHC.Stable,
98             GHC.Storable,
99             GHC.STRef,
100             GHC.TopHandler,
101             GHC.Unicode,
102             GHC.Weak,
103             GHC.Word,
104             System.Timeout
105         if os(windows)
106             exposed-modules: GHC.IO.Encoding.CodePage.Table
107                              GHC.Conc.Windows
108                              GHC.Windows
109     }
110     exposed-modules:
111         Control.Applicative,
112         Control.Arrow,
113         Control.Category,
114         Control.Concurrent,
115         Control.Concurrent.Chan,
116         Control.Concurrent.MVar,
117         Control.Concurrent.QSem,
118         Control.Concurrent.QSemN,
119         Control.Concurrent.SampleVar,
120         Control.Exception,
121         Control.Exception.Base
122         Control.OldException,
123         Control.Monad,
124         Control.Monad.Fix,
125         Control.Monad.Instances,
126         Control.Monad.ST,
127         Control.Monad.ST.Safe,
128         Control.Monad.ST.Unsafe,
129         Control.Monad.ST.Lazy,
130         Control.Monad.ST.Lazy.Safe,
131         Control.Monad.ST.Lazy.Unsafe,
132         Control.Monad.ST.Strict,
133         Control.Monad.Group
134         Control.Monad.Zip
135         Data.Bits,
136         Data.Bool,
137         Data.Char,
138         Data.Complex,
139         Data.Dynamic,
140         Data.Either,
141         Data.Eq,
142         Data.Data,
143         Data.Fixed,
144         Data.Foldable
145         Data.Function,
146         Data.Functor,
147         Data.HashTable,
148         Data.IORef,
149         Data.Int,
150         Data.Ix,
151         Data.List,
152         Data.Maybe,
153         Data.Monoid,
154         Data.Ord,
155         Data.Ratio,
156         Data.STRef
157         Data.STRef.Lazy
158         Data.STRef.Strict
159         Data.String,
160         Data.Traversable
161         Data.Tuple,
162         Data.Typeable,
163         Data.Typeable.Internal,
164         Data.Unique,
165         Data.Version,
166         Data.Word,
167         Debug.Trace,
168         Foreign,
169         Foreign.C,
170         Foreign.C.Error,
171         Foreign.C.String,
172         Foreign.C.Types,
173         Foreign.ForeignPtr,
174         Foreign.ForeignPtr.Safe,
175         Foreign.ForeignPtr.Unsafe,
176         Foreign.Marshal,
177         Foreign.Marshal.Alloc,
178         Foreign.Marshal.Array,
179         Foreign.Marshal.Error,
180         Foreign.Marshal.Pool,
181         Foreign.Marshal.Safe,
182         Foreign.Marshal.Utils,
183         Foreign.Marshal.Unsafe,
184         Foreign.Ptr,
185         Foreign.Safe,
186         Foreign.StablePtr,
187         Foreign.Storable,
188         Numeric,
189         Prelude,
190         System.Console.GetOpt
191         System.CPUTime,
192         System.Environment,
193         System.Exit,
194         System.IO,
195         System.IO.Error,
196         System.IO.Unsafe,
197         System.Info,
198         System.Mem,
199         System.Mem.StableName,
200         System.Mem.Weak,
201         System.Posix.Internals,
202         System.Posix.Types,
203         Text.ParserCombinators.ReadP,
204         Text.ParserCombinators.ReadPrec,
205         Text.Printf,
206         Text.Read,
207         Text.Read.Lex,
208         Text.Show,
209         Text.Show.Functions
210         Unsafe.Coerce
211     other-modules:
212         Control.Monad.ST.Imp
213         Control.Monad.ST.Lazy.Imp
214         Foreign.ForeignPtr.Imp
215     c-sources:
216         cbits/PrelIOUtils.c
217         cbits/WCsubst.c
218         cbits/Win32Utils.c
219         cbits/consUtils.c
220         cbits/iconv.c
221         cbits/inputReady.c
222         cbits/selectUtils.c
223         cbits/primFloat.c
224         cbits/md5.c
225     include-dirs: include
226     includes:    HsBase.h
227     install-includes:    HsBase.h HsBaseConfig.h EventConfig.h WCsubst.h consUtils.h Typeable.h
228     if os(windows) {
229         extra-libraries: wsock32, user32, shell32
230     }
231     if !os(windows) {
232         exposed-modules:
233             GHC.Event
234         other-modules:
235             GHC.Event.Array
236             GHC.Event.Clock
237             GHC.Event.Control
238             GHC.Event.EPoll
239             GHC.Event.IntMap
240             GHC.Event.Internal
241             GHC.Event.KQueue
242             GHC.Event.Manager
243             GHC.Event.PSQ
244             GHC.Event.Poll
245             GHC.Event.Thread
246             GHC.Event.Unique
247     }
248     -- We need to set the package name to base (without a version number)
249     -- as it's magic.
250     ghc-options: -package-name base
251     nhc98-options: -H4M -K3M
252     extensions: CPP
253 }