Add MkCore, holding general Core construction facilities
[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 Library
33     Exposed: False
34
35     if flag(base3)
36         Build-Depends: base       >= 3   && < 4,
37                        directory  >= 1   && < 1.1,
38                        process    >= 1   && < 1.1,
39                        bytestring >= 0.9 && < 0.10,
40                        old-time   >= 1   && < 1.1,
41                        containers >= 0.1 && < 0.2,
42                        array      >= 0.1 && < 0.2
43     else
44         Build-Depends: base < 3
45     Build-Depends: filepath >= 1 && < 1.2
46     Build-Depends: haskell98, Cabal, hpc
47     if os(windows)
48         Build-Depends: Win32
49     else
50         Build-Depends: unix
51
52     if flag(editline)
53         Build-Depends: editline
54         CPP-Options: -DUSE_EDITLINE
55
56     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
57
58     if flag(ghci)
59         Build-Depends: template-haskell
60         CPP-Options: -DGHCI
61         Include-Dirs: ../libffi/build/include
62
63     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
64     -- able to find WCsubst.h
65     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
66
67     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
68                 ForeignFunctionInterface, EmptyDataDecls,
69                 TypeSynonymInstances, MultiParamTypeClasses,
70                 FlexibleInstances, Rank2Types, PatternSignatures
71
72     Include-Dirs: . parser utils
73
74     if flag(stage1)
75         Include-Dirs: stage1
76     else
77         Include-Dirs: stage2plus
78     Install-Includes: HsVersions.h, ghc_boot_platform.h
79
80     c-sources:
81         parser/cutils.c
82         utils/md5.c
83         -- For GHC < 6.5:
84         cbits/unicode.c
85
86     if flag(dynlibs)
87         c-sources:
88             ghci/keepCAFsForGHCi.c
89
90     hs-source-dirs:
91         basicTypes
92         cmm
93         codeGen
94         coreSyn
95         cprAnalysis
96         deSugar
97         ghci
98         hsSyn
99         iface
100         main
101         nativeGen
102         parser
103         prelude
104         profiling
105         rename
106         simplCore
107         simplStg
108         specialise
109         stgSyn
110         stranal
111         typecheck
112         types
113         utils
114         vectorise
115
116     Exposed-Modules:
117         BasicTypes
118         DataCon
119         Demand
120         Exception
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         MkCore
211         MkExternalCore
212         PprCore
213         PprExternalCore
214         CprAnalyse
215         Check
216         Coverage
217         Desugar
218         DsArrows
219         DsBinds
220         DsCCall
221         DsExpr
222         DsForeign
223         DsGRHSs
224         DsListComp
225         DsMonad
226         DsUtils
227         Match
228         MatchCon
229         MatchLit
230         HsBinds
231         HsDecls
232         HsDoc
233         HsExpr
234         HsImpExp
235         HsLit
236         HsPat
237         HsSyn
238         HsTypes
239         HsUtils
240         BinIface
241         BuildTyCl
242         IfaceEnv
243         IfaceSyn
244         IfaceType
245         LoadIface
246         MkIface
247         TcIface
248         BreakArray
249         CmdLineParser
250         CodeOutput
251         Config
252         Constants
253         DriverMkDepend
254         DriverPhases
255         DriverPipeline
256         DynFlags
257         ErrUtils
258         Finder
259         GHC
260         HeaderInfo
261         HscMain
262         HscStats
263         HscTypes
264         InteractiveEval
265         PackageConfig
266         Packages
267         ParsePkgConf
268         PprTyThing
269         StaticFlags
270         SysTools
271         TidyPgm
272         AsmCodeGen
273         MachCodeGen
274         MachInstrs
275         MachRegs
276         NCGMonad
277         PositionIndependentCode
278         PprMach
279         RegAllocColor
280         RegAllocInfo
281         RegAllocLinear
282         RegAllocStats
283         RegArchBase
284         RegArchX86
285         RegCoalesce
286         RegLiveness
287         RegSpill
288         RegSpillClean
289         RegSpillCost
290         Ctype
291         HaddockLex
292         HaddockParse
293         HaddockUtils
294         LexCore
295         Lexer
296         Parser
297         ParserCore
298         ParserCoreUtils
299         RdrHsSyn
300         ForeignCall
301         PrelInfo
302         PrelNames
303         PrelRules
304         PrimOp
305         TysPrim
306         TysWiredIn
307         CostCentre
308         SCCfinal
309         RnBinds
310         RnEnv
311         RnExpr
312         RnHsDoc
313         RnHsSyn
314         RnNames
315         RnPat
316         RnSource
317         RnTypes
318         CSE
319         FloatIn
320         FloatOut
321         LiberateCase
322         OccurAnal
323         SAT
324         SetLevels
325         SimplCore
326         SimplEnv
327         SimplMonad
328         SimplUtils
329         Simplify
330         SRT
331         SimplStg
332         StgStats
333         Rules
334         SpecConstr
335         Specialise
336         CoreToStg
337         StgLint
338         StgSyn
339         DmdAnal
340         SaAbsInt
341         SaLib
342         StrictAnal
343         WorkWrap
344         WwLib
345         FamInst
346         Inst
347         TcArrows
348         TcBinds
349         TcClassDcl
350         TcDefaults
351         TcDeriv
352         TcEnv
353         TcExpr
354         TcForeign
355         TcGenDeriv
356         TcHsSyn
357         TcHsType
358         TcInstDcls
359         TcMType
360         TcMatches
361         TcPat
362         TcRnDriver
363         TcRnMonad
364         TcRnTypes
365         TcRules
366         TcSimplify
367         TcTyClsDecls
368         TcTyDecls
369         TcTyFuns
370         TcType
371         TcUnify
372         Class
373         Coercion
374         FamInstEnv
375         FunDeps
376         Generics
377         InstEnv
378         TyCon
379         Type
380         TypeRep
381         Unify
382         Bag
383         Binary
384         BufWrite
385         Digraph
386         Encoding
387         FastBool
388         FastFunctions
389         FastMutInt
390         FastString
391         FastTypes
392         Fingerprint
393         FiniteMap
394         GraphBase
395         GraphColor
396         GraphOps
397         GraphPpr
398         IOEnv
399         Interval
400         LazyUniqFM
401         ListSetOps
402         Maybes
403         MonadUtils
404         OrdList
405         Outputable
406         Panic
407         Pretty
408         State
409         StringBuffer
410         Unicode
411         UniqFM
412         UniqSet
413         Util
414         VectBuiltIn
415         VectCore
416         VectMonad
417         VectType
418         VectUtils
419         Vectorise
420
421     if flag(ghci)
422         Exposed-Modules:
423             DsMeta
424             TcSplice
425             Convert
426             ByteCodeAsm
427             ByteCodeFFI
428             ByteCodeGen
429             ByteCodeInstr
430             ByteCodeItbls
431             ByteCodeLink
432             Debugger
433             GhciMonad
434             GhciTags
435             InteractiveUI
436             LibFFI
437             Linker
438             ObjLink
439             RtClosureInspect
440