List extensions used rather than using the -fglasgow-exts hammer
[ghc-base.git] / base.cabal
1 name:           base
2 version:        3.0
3 license:        BSD3
4 license-file:   LICENSE
5 maintainer:     libraries@haskell.org
6 synopsis:       Basic libraries
7 description:
8     This package contains the Prelude and its support libraries,
9     and a large collection of useful libraries ranging from data
10     structures to parsing combinators and debugging utilities.
11 cabal-version:  >=1.2
12 build-type: Custom
13 extra-tmp-files:
14                 config.log config.status autom4te.cache
15                 include/HsBaseConfig.h
16
17
18 Library {
19     -- This is actually something of a hack, as if we are using
20     -- GHC and we don't have an rts package for some reason, we
21     -- actually ought to fail.
22     if impl(ghc) {
23         build-depends: rts
24         exposed-modules:
25             Data.Generics,
26             Data.Generics.Aliases,
27             Data.Generics.Basics,
28             Data.Generics.Instances,
29             Data.Generics.Schemes,
30             Data.Generics.Text,
31             Data.Generics.Twins,
32             Foreign.Concurrent,
33             GHC.Arr,
34             GHC.Base,
35             GHC.Conc,
36             GHC.ConsoleHandler,
37             GHC.Desugar,
38             GHC.Dotnet,
39             GHC.Enum,
40             GHC.Environment,
41             GHC.Err,
42             GHC.Exception,
43             GHC.Exts,
44             GHC.Float,
45             GHC.ForeignPtr,
46             GHC.Handle,
47             GHC.IO,
48             GHC.IOBase,
49             GHC.Int,
50             GHC.List,
51             GHC.Num,
52             GHC.PArr,
53             GHC.Pack,
54             GHC.PrimopWrappers,
55             GHC.Ptr,
56             GHC.Read,
57             GHC.Real,
58             GHC.ST,
59             GHC.STRef,
60             GHC.Show,
61             GHC.Stable,
62             GHC.Storable,
63             GHC.TopHandler,
64             GHC.Unicode,
65             GHC.Weak,
66             GHC.Word,
67             System.Timeout
68         extensions: MagicHash, ExistentialQuantification, Rank2Types,
69                     ScopedTypeVariables, UnboxedTuples,
70                     ForeignFunctionInterface, UnliftedFFITypes,
71                     DeriveDataTypeable, GeneralizedNewtypeDeriving,
72                     FlexibleInstances, PatternSignatures, StandaloneDeriving,
73                     PatternGuards
74     }
75     exposed-modules:
76         Control.Applicative,
77         Control.Arrow,
78         Control.Category,
79         Control.Concurrent,
80         Control.Concurrent.Chan,
81         Control.Concurrent.MVar,
82         Control.Concurrent.QSem,
83         Control.Concurrent.QSemN,
84         Control.Concurrent.SampleVar,
85         Control.Exception,
86         Control.Monad,
87         Control.Monad.Fix,
88         Control.Monad.Instances,
89         Control.Monad.ST,
90         Control.Monad.ST.Lazy,
91         Control.Monad.ST.Strict,
92         Data.Bits,
93         Data.Bool,
94         Data.Char,
95         Data.Complex,
96         Data.Dynamic,
97         Data.Either,
98         Data.Eq,
99         Data.Fixed,
100         Data.Foldable
101         Data.Function,
102         Data.HashTable,
103         Data.IORef,
104         Data.Int,
105         Data.Ix,
106         Data.List,
107         Data.Maybe,
108         Data.Monoid,
109         Data.Ord,
110         Data.Ratio,
111         Data.STRef,
112         Data.STRef.Lazy,
113         Data.STRef.Strict,
114         Data.String,
115         Data.Traversable
116         Data.Tuple,
117         Data.Typeable,
118         Data.Unique,
119         Data.Version,
120         Data.Word,
121         Debug.Trace,
122         Foreign,
123         Foreign.C,
124         Foreign.C.Error,
125         Foreign.C.String,
126         Foreign.C.Types,
127         Foreign.ForeignPtr,
128         Foreign.Marshal,
129         Foreign.Marshal.Alloc,
130         Foreign.Marshal.Array,
131         Foreign.Marshal.Error,
132         Foreign.Marshal.Pool,
133         Foreign.Marshal.Utils,
134         Foreign.Ptr,
135         Foreign.StablePtr,
136         Foreign.Storable,
137         Numeric,
138         Prelude,
139         System.Console.GetOpt,
140         System.CPUTime,
141         System.Environment,
142         System.Exit,
143         System.IO,
144         System.IO.Error,
145         System.IO.Unsafe,
146         System.Info,
147         System.Mem,
148         System.Mem.StableName,
149         System.Mem.Weak,
150         System.Posix.Internals,
151         System.Posix.Types,
152         Text.ParserCombinators.ReadP,
153         Text.ParserCombinators.ReadPrec,
154         Text.Printf,
155         Text.Read,
156         Text.Read.Lex,
157         Text.Show,
158         Text.Show.Functions
159         Unsafe.Coerce
160     c-sources:
161         cbits/PrelIOUtils.c
162         cbits/WCsubst.c
163         cbits/Win32Utils.c
164         cbits/consUtils.c
165         cbits/dirUtils.c
166         cbits/inputReady.c
167         cbits/longlong.c
168         cbits/selectUtils.c
169     include-dirs: include
170     includes:    HsBase.h
171     install-includes:    HsBase.h HsBaseConfig.h WCsubst.h dirUtils.h consUtils.h Typeable.h
172     if os(windows) {
173         extra-libraries: wsock32, msvcrt, kernel32, user32, shell32
174     }
175     extensions: CPP
176     -- We need to set the package name to base (without a version number)
177     -- as it's magic.
178     ghc-options: -package-name base
179     nhc98-options: -H4M -K3M
180 }