Use explicit language extensions & remove extension fields from base.cabal
[ghc-base.git] / base.cabal
1 name:           base
2 version:        4.3.1.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
21
22 source-repository head
23     type:     darcs
24     location: http://darcs.haskell.org/packages/base/
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.Float,
55             GHC.ForeignPtr,
56             GHC.MVar,
57             GHC.IO,
58             GHC.IO.IOMode,
59             GHC.IO.Buffer,
60             GHC.IO.Device,
61             GHC.IO.BufferedIO,
62             GHC.IO.FD,
63             GHC.IO.Exception,
64             GHC.IO.Encoding,
65             GHC.IO.Encoding.Latin1,
66             GHC.IO.Encoding.UTF8,
67             GHC.IO.Encoding.UTF16,
68             GHC.IO.Encoding.UTF32,
69             GHC.IO.Encoding.Types,
70             GHC.IO.Encoding.Iconv,
71             GHC.IO.Encoding.CodePage,
72             GHC.IO.Handle,
73             GHC.IO.Handle.Types,
74             GHC.IO.Handle.Internals,
75             GHC.IO.Handle.FD,
76             GHC.IO.Handle.Text,
77             GHC.IOBase,
78             GHC.Handle,
79             GHC.IORef,
80             GHC.IOArray,
81             GHC.Int,
82             GHC.List,
83             GHC.Num,
84             GHC.PArr,
85             GHC.Pack,
86             GHC.Ptr,
87             GHC.Read,
88             GHC.Real,
89             GHC.ST,
90             GHC.STRef,
91             GHC.Show,
92             GHC.Stable,
93             GHC.Storable,
94             GHC.TopHandler,
95             GHC.Unicode,
96             GHC.Weak,
97             GHC.Word,
98             System.Timeout
99         if os(windows)
100             exposed-modules: GHC.IO.Encoding.CodePage.Table
101                              GHC.Conc.Windows
102     }
103     exposed-modules:
104         Control.Applicative,
105         Control.Arrow,
106         Control.Category,
107         Control.Concurrent,
108         Control.Concurrent.Chan,
109         Control.Concurrent.MVar,
110         Control.Concurrent.QSem,
111         Control.Concurrent.QSemN,
112         Control.Concurrent.SampleVar,
113         Control.Exception,
114         Control.Exception.Base
115         Control.OldException,
116         Control.Monad,
117         Control.Monad.Fix,
118         Control.Monad.Instances,
119         Control.Monad.ST
120         Control.Monad.ST.Lazy
121         Control.Monad.ST.Strict
122         Data.Bits,
123         Data.Bool,
124         Data.Char,
125         Data.Complex,
126         Data.Dynamic,
127         Data.Either,
128         Data.Eq,
129         Data.Data,
130         Data.Fixed,
131         Data.Foldable
132         Data.Function,
133         Data.Functor,
134         Data.HashTable,
135         Data.IORef,
136         Data.Int,
137         Data.Ix,
138         Data.List,
139         Data.Maybe,
140         Data.Monoid,
141         Data.Ord,
142         Data.Ratio,
143         Data.STRef
144         Data.STRef.Lazy
145         Data.STRef.Strict
146         Data.String,
147         Data.Traversable
148         Data.Tuple,
149         Data.Typeable,
150         Data.Unique,
151         Data.Version,
152         Data.Word,
153         Debug.Trace,
154         Foreign,
155         Foreign.C,
156         Foreign.C.Error,
157         Foreign.C.String,
158         Foreign.C.Types,
159         Foreign.ForeignPtr,
160         Foreign.Marshal,
161         Foreign.Marshal.Alloc,
162         Foreign.Marshal.Array,
163         Foreign.Marshal.Error,
164         Foreign.Marshal.Pool,
165         Foreign.Marshal.Utils,
166         Foreign.Ptr,
167         Foreign.StablePtr,
168         Foreign.Storable,
169         Numeric,
170         Prelude,
171         System.Console.GetOpt
172         System.CPUTime,
173         System.Environment,
174         System.Exit,
175         System.IO,
176         System.IO.Error,
177         System.IO.Unsafe,
178         System.Info,
179         System.Mem,
180         System.Mem.StableName,
181         System.Mem.Weak,
182         System.Posix.Internals,
183         System.Posix.Types,
184         Text.ParserCombinators.ReadP,
185         Text.ParserCombinators.ReadPrec,
186         Text.Printf,
187         Text.Read,
188         Text.Read.Lex,
189         Text.Show,
190         Text.Show.Functions
191         Unsafe.Coerce
192     c-sources:
193         cbits/PrelIOUtils.c
194         cbits/WCsubst.c
195         cbits/Win32Utils.c
196         cbits/consUtils.c
197         cbits/iconv.c
198         cbits/inputReady.c
199         cbits/selectUtils.c
200         cbits/primFloat.c
201     include-dirs: include
202     includes:    HsBase.h
203     install-includes:    HsBase.h HsBaseConfig.h EventConfig.h WCsubst.h consUtils.h Typeable.h
204     if os(windows) {
205         extra-libraries: wsock32, user32, shell32
206     }
207     if !os(windows) {
208         exposed-modules:
209             System.Event
210         other-modules:
211             System.Event.Array
212             System.Event.Clock
213             System.Event.Control
214             System.Event.EPoll
215             System.Event.IntMap
216             System.Event.Internal
217             System.Event.KQueue
218             System.Event.Manager
219             System.Event.PSQ
220             System.Event.Poll
221             System.Event.Thread
222             System.Event.Unique
223     }
224     -- We need to set the package name to base (without a version number)
225     -- as it's magic.
226     ghc-options: -package-name base
227     nhc98-options: -H4M -K3M
228 }