33734a00c7a59b49a88531e47deb20c7119e017e
[ghc.git] / libraries / base / base.cabal
1 name:           base
2 version:        4.8.2.0
3 -- NOTE: Don't forget to update ./changelog.md
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     Manual: True
48     Default: False
49
50 Flag integer-gmp
51     Description: Use integer-gmp
52     Manual: True
53     Default: False
54
55 Library
56     default-language: Haskell2010
57     other-extensions:
58         BangPatterns
59         CApiFFI
60         CPP
61         ConstraintKinds
62         DataKinds
63         DeriveDataTypeable
64         DeriveGeneric
65         ExistentialQuantification
66         ExplicitForAll
67         FlexibleContexts
68         FlexibleInstances
69         FunctionalDependencies
70         GADTs
71         GeneralizedNewtypeDeriving
72         KindSignatures
73         MagicHash
74         MultiParamTypeClasses
75         NegativeLiterals
76         NoImplicitPrelude
77         NondecreasingIndentation
78         OverloadedStrings
79         ParallelArrays
80         PolyKinds
81         RankNTypes
82         RecordWildCards
83         RoleAnnotations
84         Safe
85         ScopedTypeVariables
86         StandaloneDeriving
87         Trustworthy
88         TypeFamilies
89         TypeOperators
90         TypeSynonymInstances
91         UnboxedTuples
92         UndecidableInstances
93         UnliftedFFITypes
94         Unsafe
95
96     build-depends: rts == 1.0.*, ghc-prim == 0.4.*
97     if flag(integer-simple)
98         build-depends: integer-simple >= 0.1.1 && < 0.2
99
100     if flag(integer-gmp)
101         build-depends: integer-gmp >= 1.0 && < 1.1
102         cpp-options: -DOPTIMISE_INTEGER_GCD_LCM
103
104     exposed-modules:
105         Control.Applicative
106         Control.Arrow
107         Control.Category
108         Control.Concurrent
109         Control.Concurrent.Chan
110         Control.Concurrent.MVar
111         Control.Concurrent.QSem
112         Control.Concurrent.QSemN
113         Control.Exception
114         Control.Exception.Base
115         Control.Monad
116         Control.Monad.Fix
117         Control.Monad.Instances
118         Control.Monad.ST
119         Control.Monad.ST.Lazy
120         Control.Monad.ST.Lazy.Safe
121         Control.Monad.ST.Lazy.Unsafe
122         Control.Monad.ST.Safe
123         Control.Monad.ST.Strict
124         Control.Monad.ST.Unsafe
125         Control.Monad.Zip
126         Data.Bifunctor
127         Data.Bits
128         Data.Bool
129         Data.Char
130         Data.Coerce
131         Data.Complex
132         Data.Data
133         Data.Dynamic
134         Data.Either
135         Data.Eq
136         Data.Fixed
137         Data.Foldable
138         Data.Function
139         Data.Functor
140         Data.Functor.Identity
141         Data.IORef
142         Data.Int
143         Data.Ix
144         Data.List
145         Data.Maybe
146         Data.Monoid
147         Data.Ord
148         Data.Proxy
149         Data.Ratio
150         Data.STRef
151         Data.STRef.Lazy
152         Data.STRef.Strict
153         Data.String
154         Data.Traversable
155         Data.Tuple
156         Data.Type.Bool
157         Data.Type.Coercion
158         Data.Type.Equality
159         Data.Typeable
160         Data.Typeable.Internal
161         Data.Unique
162         Data.Version
163         Data.Void
164         Data.Word
165         Debug.Trace
166         Foreign
167         Foreign.C
168         Foreign.C.Error
169         Foreign.C.String
170         Foreign.C.Types
171         Foreign.Concurrent
172         Foreign.ForeignPtr
173         Foreign.ForeignPtr.Safe
174         Foreign.ForeignPtr.Unsafe
175         Foreign.Marshal
176         Foreign.Marshal.Alloc
177         Foreign.Marshal.Array
178         Foreign.Marshal.Error
179         Foreign.Marshal.Pool
180         Foreign.Marshal.Safe
181         Foreign.Marshal.Unsafe
182         Foreign.Marshal.Utils
183         Foreign.Ptr
184         Foreign.Safe
185         Foreign.StablePtr
186         Foreign.Storable
187         GHC.Arr
188         GHC.Base
189         GHC.Char
190         GHC.Conc
191         GHC.Conc.IO
192         GHC.Conc.Signal
193         GHC.Conc.Sync
194         GHC.ConsoleHandler
195         GHC.Constants
196         GHC.Desugar
197         GHC.Enum
198         GHC.Environment
199         GHC.Err
200         GHC.Exception
201         GHC.Exts
202         GHC.Fingerprint
203         GHC.Fingerprint.Type
204         GHC.Float
205         GHC.Float.ConversionUtils
206         GHC.Float.RealFracMethods
207         GHC.Foreign
208         GHC.ForeignPtr
209         GHC.GHCi
210         GHC.Generics
211         GHC.IO
212         GHC.IO.Buffer
213         GHC.IO.BufferedIO
214         GHC.IO.Device
215         GHC.IO.Encoding
216         GHC.IO.Encoding.CodePage
217         GHC.IO.Encoding.Failure
218         GHC.IO.Encoding.Iconv
219         GHC.IO.Encoding.Latin1
220         GHC.IO.Encoding.Types
221         GHC.IO.Encoding.UTF16
222         GHC.IO.Encoding.UTF32
223         GHC.IO.Encoding.UTF8
224         GHC.IO.Exception
225         GHC.IO.FD
226         GHC.IO.Handle
227         GHC.IO.Handle.FD
228         GHC.IO.Handle.Internals
229         GHC.IO.Handle.Text
230         GHC.IO.Handle.Types
231         GHC.IO.IOMode
232         GHC.IOArray
233         GHC.IORef
234         GHC.Int
235         GHC.List
236         GHC.MVar
237         GHC.Natural
238         GHC.Num
239         GHC.OldList
240         GHC.PArr
241         GHC.Pack
242         GHC.Profiling
243         GHC.Ptr
244         GHC.Read
245         GHC.Real
246         GHC.RTS.Flags
247         GHC.ST
248         GHC.StaticPtr
249         GHC.STRef
250         GHC.Show
251         GHC.Stable
252         GHC.Stack
253         GHC.Stats
254         GHC.Storable
255         GHC.TopHandler
256         GHC.TypeLits
257         GHC.Unicode
258         GHC.Weak
259         GHC.Word
260         Numeric
261         Numeric.Natural
262         Prelude
263         System.CPUTime
264         System.Console.GetOpt
265         System.Environment
266         System.Exit
267         System.IO
268         System.IO.Error
269         System.IO.Unsafe
270         System.Info
271         System.Mem
272         System.Mem.StableName
273         System.Mem.Weak
274         System.Posix.Internals
275         System.Posix.Types
276         System.Timeout
277         Text.ParserCombinators.ReadP
278         Text.ParserCombinators.ReadPrec
279         Text.Printf
280         Text.Read
281         Text.Read.Lex
282         Text.Show
283         Text.Show.Functions
284         Unsafe.Coerce
285
286     other-modules:
287         Control.Monad.ST.Imp
288         Control.Monad.ST.Lazy.Imp
289         Data.OldList
290         Foreign.ForeignPtr.Imp
291         System.Environment.ExecutablePath
292
293     c-sources:
294         cbits/DarwinUtils.c
295         cbits/PrelIOUtils.c
296         cbits/SetEnv.c
297         cbits/WCsubst.c
298         cbits/Win32Utils.c
299         cbits/consUtils.c
300         cbits/iconv.c
301         cbits/inputReady.c
302         cbits/md5.c
303         cbits/primFloat.c
304         cbits/rts.c
305         cbits/sysconf.c
306
307     include-dirs: include
308     includes:
309         HsBase.h
310     install-includes:
311         HsBase.h
312         WCsubst.h
313         consUtils.h
314
315     -- OS Specific
316     if os(windows)
317         extra-libraries: wsock32, user32, shell32
318         exposed-modules:
319             GHC.IO.Encoding.CodePage.API
320             GHC.IO.Encoding.CodePage.Table
321             GHC.Conc.Windows
322             GHC.Windows
323     else
324         exposed-modules:
325             GHC.Event
326         other-modules:
327             GHC.Event.Arr
328             GHC.Event.Array
329             GHC.Event.Clock
330             GHC.Event.Control
331             GHC.Event.EPoll
332             GHC.Event.IntTable
333             GHC.Event.Internal
334             GHC.Event.KQueue
335             GHC.Event.Manager
336             GHC.Event.PSQ
337             GHC.Event.Poll
338             GHC.Event.Thread
339             GHC.Event.TimerManager
340             GHC.Event.Unique
341
342     -- We need to set the package key to base (without a version number)
343     -- as it's magic.
344     ghc-options: -this-package-key base