Rename maybeTyConSingleCon to tyConSingleDataCon_maybe
[ghc-hetmet.git] / compiler / ghc.cabal
1 Name: ghc
2 -- XXX Version number!
3 Version: 6.9
4 Copyright: XXX
5 -- License: XXX
6 License-File: XXX
7 Author: XXX
8 Maintainer: glasgow-haskell-users@haskell.org
9 Homepage: http://www.haskell.org/ghc/
10 Synopsis: XXX
11 Description:
12         XXX
13 Category: XXX
14 Build-Type: Simple
15 Cabal-Version: >= 1.2
16
17 Flag base3
18     Description: Choose the new smaller, split-up base package.
19
20 Flag dynlibs
21     Description: Dynamic library support
22
23 Flag editline
24     Description: Use editline
25
26 Flag ghci
27     Description: Build GHCi support.
28
29 Flag stage1
30     Description: Is this stage 1?
31
32 Flag windows
33     Description: On a Windows machine
34
35 Library
36     Exposed: False
37
38     if flag(base3)
39         Build-Depends: base       >= 3   && < 4,
40                        directory  >= 1   && < 1.1,
41                        process    >= 1   && < 1.1,
42                        bytestring >= 0.9 && < 0.10,
43                        old-time   >= 1   && < 1.1,
44                        containers >= 0.1 && < 0.2,
45                        array      >= 0.1 && < 0.2
46     else
47         Build-Depends: base < 3
48     Build-Depends: filepath >= 1 && < 1.2
49     Build-Depends: haskell98, Cabal, hpc
50     if flag(windows)
51         Build-Depends: Win32
52     else
53         Build-Depends: unix
54
55     if flag(editline)
56         Build-Depends: editline
57         CPP-Options: -DUSE_EDITLINE
58
59     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
60
61     if flag(ghci)
62         Build-Depends: template-haskell
63         CPP-Options: -DGHCI
64         Include-Dirs: ../libffi/build/include
65
66     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
67     -- able to find WCsubst.h
68     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
69
70     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
71                 ForeignFunctionInterface, EmptyDataDecls,
72                 TypeSynonymInstances, MultiParamTypeClasses,
73                 FlexibleInstances, Rank2Types, PatternSignatures
74
75     Include-Dirs: . parser utils
76
77     if flag(stage1)
78         Include-Dirs: stage1
79     else
80         Include-Dirs: stage2plus
81     Install-Includes: HsVersions.h, ghc_boot_platform.h
82
83     c-sources:
84         parser/cutils.c
85         utils/md5.c
86         -- For GHC < 6.5:
87         cbits/unicode.c
88
89     if flag(dynlibs)
90         c-sources:
91             ghci/keepCAFsForGHCi.c
92
93     hs-source-dirs:
94         basicTypes
95         cmm
96         codeGen
97         coreSyn
98         cprAnalysis
99         deSugar
100         ghci
101         hsSyn
102         iface
103         main
104         nativeGen
105         parser
106         prelude
107         profiling
108         rename
109         simplCore
110         simplStg
111         specialise
112         stgSyn
113         stranal
114         typecheck
115         types
116         utils
117         vectorise
118
119     Exposed-Modules:
120         BasicTypes
121         DataCon
122         Demand
123         Exception
124         Id
125         IdInfo
126         Literal
127         MkId
128         Module
129         Name
130         NameEnv
131         NameSet
132         NewDemand
133         OccName
134         RdrName
135         SrcLoc
136         UniqSupply
137         Unique
138         Var
139         VarEnv
140         VarSet
141         BlockId
142         CLabel
143         Cmm
144         CmmBrokenBlock
145         CmmCPS
146         CmmCPSGen
147         CmmCPSZ
148         CmmCallConv
149         CmmCommonBlockElimZ
150         CmmContFlowOpt
151         CmmCvt
152         CmmExpr
153         CmmInfo
154         CmmLex
155         CmmLint
156         CmmLive
157         CmmLiveZ
158         CmmOpt
159         CmmParse
160         CmmProcPoint
161         CmmProcPointZ
162         CmmSpillReload
163         CmmTx
164         CmmUtils
165         CmmZipUtil
166         DFMonad
167         Dataflow
168         MachOp
169         MkZipCfg
170         MkZipCfgCmm
171         OptimizationFuel
172         PprC
173         PprCmm
174         PprCmmZ
175         StackColor
176         StackPlacements
177         ZipCfg
178         ZipCfgCmmRep
179         ZipCfgExtras
180         ZipDataflow
181         Bitmap
182         CgBindery
183         CgCallConv
184         CgCase
185         CgClosure
186         CgCon
187         CgExpr
188         CgForeignCall
189         CgHeapery
190         CgHpc
191         CgInfoTbls
192         CgLetNoEscape
193         CgMonad
194         CgParallel
195         CgPrimOp
196         CgProf
197         CgStackery
198         CgTailCall
199         CgTicky
200         CgUtils
201         ClosureInfo
202         CodeGen
203         SMRep
204         CoreFVs
205         CoreLint
206         CorePrep
207         CoreSubst
208         CoreSyn
209         CoreTidy
210         CoreUnfold
211         CoreUtils
212         ExternalCore
213         MkExternalCore
214         PprCore
215         PprExternalCore
216         CprAnalyse
217         Check
218         Coverage
219         Desugar
220         DsArrows
221         DsBinds
222         DsCCall
223         DsExpr
224         DsForeign
225         DsGRHSs
226         DsListComp
227         DsMonad
228         DsUtils
229         Match
230         MatchCon
231         MatchLit
232         HsBinds
233         HsDecls
234         HsDoc
235         HsExpr
236         HsImpExp
237         HsLit
238         HsPat
239         HsSyn
240         HsTypes
241         HsUtils
242         BinIface
243         BuildTyCl
244         IfaceEnv
245         IfaceSyn
246         IfaceType
247         LoadIface
248         MkIface
249         TcIface
250         BreakArray
251         CmdLineParser
252         CodeOutput
253         Config
254         Constants
255         DriverMkDepend
256         DriverPhases
257         DriverPipeline
258         DynFlags
259         ErrUtils
260         Finder
261         GHC
262         HeaderInfo
263         HscMain
264         HscStats
265         HscTypes
266         InteractiveEval
267         PackageConfig
268         Packages
269         ParsePkgConf
270         PprTyThing
271         StaticFlags
272         SysTools
273         TidyPgm
274         AsmCodeGen
275         MachCodeGen
276         MachInstrs
277         MachRegs
278         NCGMonad
279         PositionIndependentCode
280         PprMach
281         RegAllocColor
282         RegAllocInfo
283         RegAllocLinear
284         RegAllocStats
285         RegArchBase
286         RegArchX86
287         RegCoalesce
288         RegLiveness
289         RegSpill
290         RegSpillClean
291         RegSpillCost
292         Ctype
293         HaddockLex
294         HaddockParse
295         HaddockUtils
296         LexCore
297         Lexer
298         Parser
299         ParserCore
300         ParserCoreUtils
301         RdrHsSyn
302         ForeignCall
303         PrelInfo
304         PrelNames
305         PrelRules
306         PrimOp
307         TysPrim
308         TysWiredIn
309         CostCentre
310         SCCfinal
311         RnBinds
312         RnEnv
313         RnExpr
314         RnHsDoc
315         RnHsSyn
316         RnNames
317         RnPat
318         RnSource
319         RnTypes
320         CSE
321         FloatIn
322         FloatOut
323         LiberateCase
324         OccurAnal
325         SAT
326         SetLevels
327         SimplCore
328         SimplEnv
329         SimplMonad
330         SimplUtils
331         Simplify
332         SRT
333         SimplStg
334         StgStats
335         Rules
336         SpecConstr
337         Specialise
338         CoreToStg
339         StgLint
340         StgSyn
341         DmdAnal
342         SaAbsInt
343         SaLib
344         StrictAnal
345         WorkWrap
346         WwLib
347         FamInst
348         Inst
349         TcArrows
350         TcBinds
351         TcClassDcl
352         TcDefaults
353         TcDeriv
354         TcEnv
355         TcExpr
356         TcForeign
357         TcGenDeriv
358         TcHsSyn
359         TcHsType
360         TcInstDcls
361         TcMType
362         TcMatches
363         TcPat
364         TcRnDriver
365         TcRnMonad
366         TcRnTypes
367         TcRules
368         TcSimplify
369         TcTyClsDecls
370         TcTyDecls
371         TcTyFuns
372         TcType
373         TcUnify
374         Class
375         Coercion
376         FamInstEnv
377         FunDeps
378         Generics
379         InstEnv
380         TyCon
381         Type
382         TypeRep
383         Unify
384         Bag
385         Binary
386         BufWrite
387         Digraph
388         Encoding
389         FastBool
390         FastFunctions
391         FastMutInt
392         FastString
393         FastTypes
394         Fingerprint
395         FiniteMap
396         GraphBase
397         GraphColor
398         GraphOps
399         GraphPpr
400         IOEnv
401         Interval
402         LazyUniqFM
403         ListSetOps
404         Maybes
405         MonadUtils
406         OrdList
407         Outputable
408         Panic
409         Pretty
410         State
411         StringBuffer
412         Unicode
413         UniqFM
414         UniqSet
415         Util
416         VectBuiltIn
417         VectCore
418         VectMonad
419         VectType
420         VectUtils
421         Vectorise
422
423     if flag(ghci)
424         Exposed-Modules:
425             DsMeta
426             TcSplice
427             Convert
428             ByteCodeAsm
429             ByteCodeFFI
430             ByteCodeGen
431             ByteCodeInstr
432             ByteCodeItbls
433             ByteCodeLink
434             Debugger
435             GhciMonad
436             GhciTags
437             InteractiveUI
438             LibFFI
439             Linker
440             ObjLink
441             RtClosureInspect
442