On Windows, use the console code page for text file encoding/decoding.
[ghc-base.git] / base.cabal
1 name:           base
2 version:        4.2.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
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.ConsoleHandler,
44             GHC.Constants,
45             GHC.Desugar,
46             GHC.Enum,
47             GHC.Environment,
48             GHC.Err,
49             GHC.Exception,
50             GHC.Exts,
51             GHC.Float,
52             GHC.ForeignPtr,
53             GHC.MVar,
54             GHC.IO,
55             GHC.IO.IOMode,
56             GHC.IO.Buffer,
57             GHC.IO.Device,
58             GHC.IO.BufferedIO,
59             GHC.IO.FD,
60             GHC.IO.Exception,
61             GHC.IO.Encoding,
62             GHC.IO.Encoding.Latin1,
63             GHC.IO.Encoding.UTF8,
64             GHC.IO.Encoding.UTF16,
65             GHC.IO.Encoding.UTF32,
66             GHC.IO.Encoding.Types,
67             GHC.IO.Encoding.Iconv,
68             GHC.IO.Encoding.CodePage,
69             GHC.IO.Handle,
70             GHC.IO.Handle.Types,
71             GHC.IO.Handle.Internals,
72             GHC.IO.Handle.FD,
73             GHC.IO.Handle.Text,
74             GHC.IOBase,
75             GHC.Handle,
76             GHC.IORef,
77             GHC.IOArray,
78             GHC.Int,
79             GHC.List,
80             GHC.Num,
81             GHC.PArr,
82             GHC.Pack,
83             GHC.Ptr,
84             GHC.Read,
85             GHC.Real,
86             GHC.ST,
87             GHC.STRef,
88             GHC.Show,
89             GHC.Stable,
90             GHC.Storable,
91             GHC.TopHandler,
92             GHC.Unicode,
93             GHC.Weak,
94             GHC.Word,
95             System.Timeout
96         if os(windows)
97             exposed-modules: GHC.IO.Encoding.CodePage.Table
98         extensions: MagicHash, ExistentialQuantification, Rank2Types,
99                     ScopedTypeVariables, UnboxedTuples,
100                     ForeignFunctionInterface, UnliftedFFITypes,
101                     DeriveDataTypeable, GeneralizedNewtypeDeriving,
102                     FlexibleInstances, StandaloneDeriving,
103                     PatternGuards, EmptyDataDecls, NoImplicitPrelude
104
105         if impl(ghc < 6.10) 
106            -- PatternSignatures was deprecated in 6.10
107            extensions: PatternSignatures
108     }
109     exposed-modules:
110         Control.Applicative,
111         Control.Arrow,
112         Control.Category,
113         Control.Concurrent,
114         Control.Concurrent.Chan,
115         Control.Concurrent.MVar,
116         Control.Concurrent.QSem,
117         Control.Concurrent.QSemN,
118         Control.Concurrent.SampleVar,
119         Control.Exception,
120         Control.Exception.Base
121         Control.OldException,
122         Control.Monad,
123         Control.Monad.Fix,
124         Control.Monad.Instances,
125         Control.Monad.ST
126         Control.Monad.ST.Lazy
127         Control.Monad.ST.Strict
128         Data.Bits,
129         Data.Bool,
130         Data.Char,
131         Data.Complex,
132         Data.Dynamic,
133         Data.Either,
134         Data.Eq,
135         Data.Data,
136         Data.Fixed,
137         Data.Foldable
138         Data.Function,
139         Data.HashTable,
140         Data.IORef,
141         Data.Int,
142         Data.Ix,
143         Data.List,
144         Data.Maybe,
145         Data.Monoid,
146         Data.Ord,
147         Data.Ratio,
148         Data.STRef
149         Data.STRef.Lazy
150         Data.STRef.Strict
151         Data.String,
152         Data.Traversable
153         Data.Tuple,
154         Data.Typeable,
155         Data.Unique,
156         Data.Version,
157         Data.Word,
158         Debug.Trace,
159         Foreign,
160         Foreign.C,
161         Foreign.C.Error,
162         Foreign.C.String,
163         Foreign.C.Types,
164         Foreign.ForeignPtr,
165         Foreign.Marshal,
166         Foreign.Marshal.Alloc,
167         Foreign.Marshal.Array,
168         Foreign.Marshal.Error,
169         Foreign.Marshal.Pool,
170         Foreign.Marshal.Utils,
171         Foreign.Ptr,
172         Foreign.StablePtr,
173         Foreign.Storable,
174         Numeric,
175         Prelude,
176         System.Console.GetOpt
177         System.CPUTime,
178         System.Environment,
179         System.Exit,
180         System.IO,
181         System.IO.Error,
182         System.IO.Unsafe,
183         System.Info,
184         System.Mem,
185         System.Mem.StableName,
186         System.Mem.Weak,
187         System.Posix.Internals,
188         System.Posix.Types,
189         Text.ParserCombinators.ReadP,
190         Text.ParserCombinators.ReadPrec,
191         Text.Printf,
192         Text.Read,
193         Text.Read.Lex,
194         Text.Show,
195         Text.Show.Functions
196         Unsafe.Coerce
197     c-sources:
198         cbits/PrelIOUtils.c
199         cbits/WCsubst.c
200         cbits/Win32Utils.c
201         cbits/consUtils.c
202         cbits/iconv.c
203         cbits/inputReady.c
204         cbits/selectUtils.c
205         cbits/primFloat.c
206     include-dirs: include
207     includes:    HsBase.h
208     install-includes:    HsBase.h HsBaseConfig.h WCsubst.h consUtils.h Typeable.h
209     if os(windows) {
210         extra-libraries: wsock32, user32, shell32
211     }
212     extensions: CPP
213     -- We need to set the package name to base (without a version number)
214     -- as it's magic.
215     ghc-options: -package-name base
216     nhc98-options: -H4M -K3M
217 }