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