Package keys (for linking/type equality) separated from package IDs.
[ghc.git] / libraries / base / base.cabal
1 name:           base
2 version:        4.7.1.0
3 -- GHC 7.6.1 released with 4.6.0.0
4 license:        BSD3
5 license-file:   LICENSE
6 maintainer:     libraries@haskell.org
7 bug-reports:    http://ghc.haskell.org/trac/ghc/newticket?component=libraries/base
8 synopsis:       Basic libraries
9 category:       Prelude
10 description:
11     This package contains the "Prelude" and its support libraries,
12     and a large collection of useful libraries ranging from data
13     structures to parsing combinators and debugging utilities.
14 cabal-version:  >=1.10
15 build-type:     Configure
16
17 extra-tmp-files:
18     autom4te.cache
19     base.buildinfo
20     config.log
21     config.status
22     include/EventConfig.h
23     include/HsBaseConfig.h
24
25 extra-source-files:
26     aclocal.m4
27     base.buildinfo.in
28     changelog.md
29     config.guess
30     config.sub
31     configure
32     configure.ac
33     include/CTypes.h
34     include/EventConfig.h.in
35     include/HsBaseConfig.h.in
36     include/ieee-flpt.h
37     include/md5.h
38     install-sh
39
40 source-repository head
41     type:     git
42     location: http://git.haskell.org/ghc.git
43     subdir:   libraries/base
44
45 Flag integer-simple
46     Description: Use integer-simple
47
48 Library
49     default-language: Haskell2010
50     other-extensions:
51         AutoDeriveTypeable
52         BangPatterns
53         CApiFFI
54         CPP
55         ConstraintKinds
56         DataKinds
57         DeriveDataTypeable
58         DeriveGeneric
59         ExistentialQuantification
60         ExplicitForAll
61         FlexibleContexts
62         FlexibleInstances
63         FunctionalDependencies
64         GADTs
65         GeneralizedNewtypeDeriving
66         KindSignatures
67         MagicHash
68         MultiParamTypeClasses
69         NegativeLiterals
70         NoImplicitPrelude
71         NondecreasingIndentation
72         OverlappingInstances
73         OverloadedStrings
74         ParallelArrays
75         PolyKinds
76         RankNTypes
77         RecordWildCards
78         RoleAnnotations
79         Safe
80         ScopedTypeVariables
81         StandaloneDeriving
82         Trustworthy
83         TypeFamilies
84         TypeOperators
85         TypeSynonymInstances
86         UnboxedTuples
87         UndecidableInstances
88         UnliftedFFITypes
89         Unsafe
90
91     build-depends: rts == 1.0.*, ghc-prim >= 0.3.1 && < 0.4
92     if flag(integer-simple)
93         build-depends: integer-simple >= 0.1.1 && < 0.2
94     else
95         build-depends: integer-gmp >= 0.5.1 && < 0.6
96         cpp-options: -DOPTIMISE_INTEGER_GCD_LCM
97
98     exposed-modules:
99         Control.Applicative
100         Control.Arrow
101         Control.Category
102         Control.Concurrent
103         Control.Concurrent.Chan
104         Control.Concurrent.MVar
105         Control.Concurrent.QSem
106         Control.Concurrent.QSemN
107         Control.Exception
108         Control.Exception.Base
109         Control.Monad
110         Control.Monad.Fix
111         Control.Monad.Instances
112         Control.Monad.ST
113         Control.Monad.ST.Lazy
114         Control.Monad.ST.Lazy.Safe
115         Control.Monad.ST.Lazy.Unsafe
116         Control.Monad.ST.Safe
117         Control.Monad.ST.Strict
118         Control.Monad.ST.Unsafe
119         Control.Monad.Zip
120         Data.Bits
121         Data.Bool
122         Data.Char
123         Data.Coerce
124         Data.Complex
125         Data.Data
126         Data.Dynamic
127         Data.Either
128         Data.Eq
129         Data.Fixed
130         Data.Foldable
131         Data.Function
132         Data.Functor
133         Data.IORef
134         Data.Int
135         Data.Ix
136         Data.List
137         Data.Maybe
138         Data.Monoid
139         Data.OldTypeable
140         Data.OldTypeable.Internal
141         Data.Ord
142         Data.Proxy
143         Data.Ratio
144         Data.STRef
145         Data.STRef.Lazy
146         Data.STRef.Strict
147         Data.String
148         Data.Traversable
149         Data.Tuple
150         Data.Type.Bool
151         Data.Type.Coercion
152         Data.Type.Equality
153         Data.Typeable
154         Data.Typeable.Internal
155         Data.Unique
156         Data.Version
157         Data.Word
158         Debug.Trace
159         Foreign
160         Foreign.C
161         Foreign.C.Error
162         Foreign.C.String
163         Foreign.C.Types
164         Foreign.Concurrent
165         Foreign.ForeignPtr
166         Foreign.ForeignPtr.Safe
167         Foreign.ForeignPtr.Unsafe
168         Foreign.Marshal
169         Foreign.Marshal.Alloc
170         Foreign.Marshal.Array
171         Foreign.Marshal.Error
172         Foreign.Marshal.Pool
173         Foreign.Marshal.Safe
174         Foreign.Marshal.Unsafe
175         Foreign.Marshal.Utils
176         Foreign.Ptr
177         Foreign.Safe
178         Foreign.StablePtr
179         Foreign.Storable
180         GHC.Arr
181         GHC.Base
182         GHC.Char
183         GHC.Conc
184         GHC.Conc.IO
185         GHC.Conc.Signal
186         GHC.Conc.Sync
187         GHC.ConsoleHandler
188         GHC.Constants
189         GHC.Desugar
190         GHC.Enum
191         GHC.Environment
192         GHC.Err
193         GHC.Exception
194         GHC.Exts
195         GHC.Fingerprint
196         GHC.Fingerprint.Type
197         GHC.Float
198         GHC.Float.ConversionUtils
199         GHC.Float.RealFracMethods
200         GHC.Foreign
201         GHC.ForeignPtr
202         GHC.GHCi
203         GHC.Generics
204         GHC.IO
205         GHC.IO.Buffer
206         GHC.IO.BufferedIO
207         GHC.IO.Device
208         GHC.IO.Encoding
209         GHC.IO.Encoding.CodePage
210         GHC.IO.Encoding.Failure
211         GHC.IO.Encoding.Iconv
212         GHC.IO.Encoding.Latin1
213         GHC.IO.Encoding.Types
214         GHC.IO.Encoding.UTF16
215         GHC.IO.Encoding.UTF32
216         GHC.IO.Encoding.UTF8
217         GHC.IO.Exception
218         GHC.IO.FD
219         GHC.IO.Handle
220         GHC.IO.Handle.FD
221         GHC.IO.Handle.Internals
222         GHC.IO.Handle.Text
223         GHC.IO.Handle.Types
224         GHC.IO.IOMode
225         GHC.IOArray
226         GHC.IORef
227         GHC.IP
228         GHC.Int
229         GHC.List
230         GHC.MVar
231         GHC.Num
232         GHC.PArr
233         GHC.Pack
234         GHC.Profiling
235         GHC.Ptr
236         GHC.Read
237         GHC.Real
238         GHC.ST
239         GHC.STRef
240         GHC.Show
241         GHC.Stable
242         GHC.Stack
243         GHC.Stats
244         GHC.Storable
245         GHC.TopHandler
246         GHC.TypeLits
247         GHC.Unicode
248         GHC.Weak
249         GHC.Word
250         Numeric
251         Prelude
252         System.CPUTime
253         System.Console.GetOpt
254         System.Environment
255         System.Exit
256         System.IO
257         System.IO.Error
258         System.IO.Unsafe
259         System.Info
260         System.Mem
261         System.Mem.StableName
262         System.Mem.Weak
263         System.Posix.Internals
264         System.Posix.Types
265         System.Timeout
266         Text.ParserCombinators.ReadP
267         Text.ParserCombinators.ReadPrec
268         Text.Printf
269         Text.Read
270         Text.Read.Lex
271         Text.Show
272         Text.Show.Functions
273         Unsafe.Coerce
274
275     other-modules:
276         Control.Monad.ST.Imp
277         Control.Monad.ST.Lazy.Imp
278         Foreign.ForeignPtr.Imp
279         System.Environment.ExecutablePath
280
281     c-sources:
282         cbits/DarwinUtils.c
283         cbits/PrelIOUtils.c
284         cbits/SetEnv.c
285         cbits/WCsubst.c
286         cbits/Win32Utils.c
287         cbits/consUtils.c
288         cbits/iconv.c
289         cbits/inputReady.c
290         cbits/md5.c
291         cbits/primFloat.c
292         cbits/sysconf.c
293
294     include-dirs: include
295     includes:
296         HsBase.h
297     install-includes:
298         HsBase.h
299         WCsubst.h
300         consUtils.h
301         Typeable.h
302         OldTypeable.h
303
304     -- OS Specific
305     if os(windows)
306         extra-libraries: wsock32, user32, shell32
307         exposed-modules:
308             GHC.IO.Encoding.CodePage.API
309             GHC.IO.Encoding.CodePage.Table
310             GHC.Conc.Windows
311             GHC.Windows
312     else
313         exposed-modules:
314             GHC.Event
315         other-modules:
316             GHC.Event.Arr
317             GHC.Event.Array
318             GHC.Event.Clock
319             GHC.Event.Control
320             GHC.Event.EPoll
321             GHC.Event.IntTable
322             GHC.Event.Internal
323             GHC.Event.KQueue
324             GHC.Event.Manager
325             GHC.Event.PSQ
326             GHC.Event.Poll
327             GHC.Event.Thread
328             GHC.Event.TimerManager
329             GHC.Event.Unique
330
331     -- We need to set the package key to base (without a version number)
332     -- as it's magic.
333     ghc-options: -this-package-key base