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