Integrated new I/O manager
[ghc-base.git] / base.cabal
1 name:           base
2 version:        4.3.0.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         extensions: MagicHash, ExistentialQuantification, Rank2Types,
103                     ScopedTypeVariables, UnboxedTuples,
104                     ForeignFunctionInterface, UnliftedFFITypes,
105                     DeriveDataTypeable, GeneralizedNewtypeDeriving,
106                     FlexibleInstances, StandaloneDeriving,
107                     PatternGuards, EmptyDataDecls, NoImplicitPrelude
108
109         if impl(ghc < 6.10)
110            -- PatternSignatures was deprecated in 6.10
111            extensions: PatternSignatures
112     }
113     exposed-modules:
114         Control.Applicative,
115         Control.Arrow,
116         Control.Category,
117         Control.Concurrent,
118         Control.Concurrent.Chan,
119         Control.Concurrent.MVar,
120         Control.Concurrent.QSem,
121         Control.Concurrent.QSemN,
122         Control.Concurrent.SampleVar,
123         Control.Exception,
124         Control.Exception.Base
125         Control.OldException,
126         Control.Monad,
127         Control.Monad.Fix,
128         Control.Monad.Instances,
129         Control.Monad.ST
130         Control.Monad.ST.Lazy
131         Control.Monad.ST.Strict
132         Data.Bits,
133         Data.Bool,
134         Data.Char,
135         Data.Complex,
136         Data.Dynamic,
137         Data.Either,
138         Data.Eq,
139         Data.Data,
140         Data.Fixed,
141         Data.Foldable
142         Data.Function,
143         Data.Functor,
144         Data.HashTable,
145         Data.IORef,
146         Data.Int,
147         Data.Ix,
148         Data.List,
149         Data.Maybe,
150         Data.Monoid,
151         Data.Ord,
152         Data.Ratio,
153         Data.STRef
154         Data.STRef.Lazy
155         Data.STRef.Strict
156         Data.String,
157         Data.Traversable
158         Data.Tuple,
159         Data.Typeable,
160         Data.Unique,
161         Data.Version,
162         Data.Word,
163         Debug.Trace,
164         Foreign,
165         Foreign.C,
166         Foreign.C.Error,
167         Foreign.C.String,
168         Foreign.C.Types,
169         Foreign.ForeignPtr,
170         Foreign.Marshal,
171         Foreign.Marshal.Alloc,
172         Foreign.Marshal.Array,
173         Foreign.Marshal.Error,
174         Foreign.Marshal.Pool,
175         Foreign.Marshal.Utils,
176         Foreign.Ptr,
177         Foreign.StablePtr,
178         Foreign.Storable,
179         Numeric,
180         Prelude,
181         System.Console.GetOpt
182         System.CPUTime,
183         System.Environment,
184         System.Exit,
185         System.IO,
186         System.IO.Error,
187         System.IO.Unsafe,
188         System.Info,
189         System.Mem,
190         System.Mem.StableName,
191         System.Mem.Weak,
192         System.Posix.Internals,
193         System.Posix.Types,
194         Text.ParserCombinators.ReadP,
195         Text.ParserCombinators.ReadPrec,
196         Text.Printf,
197         Text.Read,
198         Text.Read.Lex,
199         Text.Show,
200         Text.Show.Functions
201         Unsafe.Coerce
202     c-sources:
203         cbits/PrelIOUtils.c
204         cbits/WCsubst.c
205         cbits/Win32Utils.c
206         cbits/consUtils.c
207         cbits/iconv.c
208         cbits/inputReady.c
209         cbits/selectUtils.c
210         cbits/primFloat.c
211     include-dirs: include
212     includes:    HsBase.h
213     install-includes:    HsBase.h HsBaseConfig.h EventConfig.h WCsubst.h consUtils.h Typeable.h
214     if os(windows) {
215         extra-libraries: wsock32, user32, shell32
216     }
217     if !os(windows) {
218         exposed-modules:
219             System.Event
220         other-modules:
221             System.Event.Array
222             System.Event.Clock
223             System.Event.Control
224             System.Event.EPoll
225             System.Event.IntMap
226             System.Event.Internal
227             System.Event.KQueue
228             System.Event.Manager
229             System.Event.PSQ
230             System.Event.Poll
231             System.Event.Thread
232             System.Event.Unique
233     }
234     extensions: CPP
235     -- We need to set the package name to base (without a version number)
236     -- as it's magic.
237     ghc-options: -package-name base
238     nhc98-options: -H4M -K3M
239 }