5f86a14af19c63c19238ea07cd877ff108db7562
[ghc.git] / libraries / base / base.cabal
1 name:           base
2 version:        4.9.0.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.IO.Class
119         Control.Monad.ST
120         Control.Monad.ST.Lazy
121         Control.Monad.ST.Lazy.Safe
122         Control.Monad.ST.Lazy.Unsafe
123         Control.Monad.ST.Safe
124         Control.Monad.ST.Strict
125         Control.Monad.ST.Unsafe
126         Control.Monad.Zip
127         Data.Bifunctor
128         Data.Bits
129         Data.Bool
130         Data.Char
131         Data.Coerce
132         Data.Complex
133         Data.Data
134         Data.Dynamic
135         Data.Either
136         Data.Eq
137         Data.Fixed
138         Data.Foldable
139         Data.Function
140         Data.Functor
141         Data.Functor.Identity
142         Data.IORef
143         Data.Int
144         Data.Ix
145         Data.List
146         Data.List.NonEmpty
147         Data.Maybe
148         Data.Monoid
149         Data.Ord
150         Data.Proxy
151         Data.Ratio
152         Data.Semigroup
153         Data.STRef
154         Data.STRef.Lazy
155         Data.STRef.Strict
156         Data.String
157         Data.Traversable
158         Data.Tuple
159         Data.Type.Bool
160         Data.Type.Coercion
161         Data.Type.Equality
162         Data.Typeable
163         Data.Typeable.Internal
164         Data.Unique
165         Data.Version
166         Data.Void
167         Data.Word
168         Debug.Trace
169         Foreign
170         Foreign.C
171         Foreign.C.Error
172         Foreign.C.String
173         Foreign.C.Types
174         Foreign.Concurrent
175         Foreign.ForeignPtr
176         Foreign.ForeignPtr.Safe
177         Foreign.ForeignPtr.Unsafe
178         Foreign.Marshal
179         Foreign.Marshal.Alloc
180         Foreign.Marshal.Array
181         Foreign.Marshal.Error
182         Foreign.Marshal.Pool
183         Foreign.Marshal.Safe
184         Foreign.Marshal.Unsafe
185         Foreign.Marshal.Utils
186         Foreign.Ptr
187         Foreign.Safe
188         Foreign.StablePtr
189         Foreign.Storable
190         GHC.Arr
191         GHC.Base
192         GHC.Char
193         GHC.Conc
194         GHC.Conc.IO
195         GHC.Conc.Signal
196         GHC.Conc.Sync
197         GHC.ConsoleHandler
198         GHC.Constants
199         GHC.Desugar
200         GHC.Enum
201         GHC.Environment
202         GHC.Err
203         GHC.Exception
204         GHC.Exts
205         GHC.Fingerprint
206         GHC.Fingerprint.Type
207         GHC.Float
208         GHC.Float.ConversionUtils
209         GHC.Float.RealFracMethods
210         GHC.Foreign
211         GHC.ForeignPtr
212         GHC.GHCi
213         GHC.Generics
214         GHC.IO
215         GHC.IO.Buffer
216         GHC.IO.BufferedIO
217         GHC.IO.Device
218         GHC.IO.Encoding
219         GHC.IO.Encoding.CodePage
220         GHC.IO.Encoding.Failure
221         GHC.IO.Encoding.Iconv
222         GHC.IO.Encoding.Latin1
223         GHC.IO.Encoding.Types
224         GHC.IO.Encoding.UTF16
225         GHC.IO.Encoding.UTF32
226         GHC.IO.Encoding.UTF8
227         GHC.IO.Exception
228         GHC.IO.FD
229         GHC.IO.Handle
230         GHC.IO.Handle.FD
231         GHC.IO.Handle.Internals
232         GHC.IO.Handle.Text
233         GHC.IO.Handle.Types
234         GHC.IO.IOMode
235         GHC.IOArray
236         GHC.IORef
237         GHC.Int
238         GHC.List
239         GHC.MVar
240         GHC.Natural
241         GHC.Num
242         GHC.OldList
243         GHC.PArr
244         GHC.Pack
245         GHC.Profiling
246         GHC.Ptr
247         GHC.Read
248         GHC.Real
249         GHC.RTS.Flags
250         GHC.ST
251         GHC.StaticPtr
252         GHC.STRef
253         GHC.Show
254         GHC.Stable
255         GHC.Stack
256         GHC.Stack.Types
257         GHC.Stats
258         GHC.Storable
259         GHC.TopHandler
260         GHC.TypeLits
261         GHC.Unicode
262         GHC.Weak
263         GHC.Word
264         Numeric
265         Numeric.Natural
266         Prelude
267         System.CPUTime
268         System.Console.GetOpt
269         System.Environment
270         System.Exit
271         System.IO
272         System.IO.Error
273         System.IO.Unsafe
274         System.Info
275         System.Mem
276         System.Mem.StableName
277         System.Mem.Weak
278         System.Posix.Internals
279         System.Posix.Types
280         System.Timeout
281         Text.ParserCombinators.ReadP
282         Text.ParserCombinators.ReadPrec
283         Text.Printf
284         Text.Read
285         Text.Read.Lex
286         Text.Show
287         Text.Show.Functions
288         Unsafe.Coerce
289
290     other-modules:
291         Control.Monad.ST.Imp
292         Control.Monad.ST.Lazy.Imp
293         Data.OldList
294         Foreign.ForeignPtr.Imp
295         System.Environment.ExecutablePath
296
297     c-sources:
298         cbits/DarwinUtils.c
299         cbits/PrelIOUtils.c
300         cbits/SetEnv.c
301         cbits/WCsubst.c
302         cbits/Win32Utils.c
303         cbits/consUtils.c
304         cbits/iconv.c
305         cbits/inputReady.c
306         cbits/md5.c
307         cbits/primFloat.c
308         cbits/rts.c
309         cbits/sysconf.c
310
311     include-dirs: include
312     includes:
313         HsBase.h
314     install-includes:
315         HsBase.h
316         WCsubst.h
317         consUtils.h
318
319     -- OS Specific
320     if os(windows)
321         extra-libraries: wsock32, user32, shell32
322         exposed-modules:
323             GHC.IO.Encoding.CodePage.API
324             GHC.IO.Encoding.CodePage.Table
325             GHC.Conc.Windows
326             GHC.Windows
327     else
328         exposed-modules:
329             GHC.Event
330         other-modules:
331             GHC.Event.Arr
332             GHC.Event.Array
333             GHC.Event.Clock
334             GHC.Event.Control
335             GHC.Event.EPoll
336             GHC.Event.IntTable
337             GHC.Event.Internal
338             GHC.Event.KQueue
339             GHC.Event.Manager
340             GHC.Event.PSQ
341             GHC.Event.Poll
342             GHC.Event.Thread
343             GHC.Event.TimerManager
344             GHC.Event.Unique
345
346     -- We need to set the unit id to base (without a version number)
347     -- as it's magic.
348     ghc-options: -this-package-key base