Add missing CgExtCode to ghc.cabal.in
[ghc-hetmet.git] / compiler / ghc.cabal.in
1 -- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by
2 -- ./configure.  Make sure you are editing ghc.cabal.in, not ghc.cabal.
3
4 Name: ghc
5 Version: @ProjectVersion@
6 License: BSD3
7 License-File: ../LICENSE
8 Author: The GHC Team
9 Maintainer: glasgow-haskell-users@haskell.org
10 Homepage: http://www.haskell.org/ghc/
11 Synopsis: The GHC API
12 Description:
13     GHC's functionality can be useful for more things than just
14     compiling Haskell programs. Important use cases are programs
15     that analyse (and perhaps transform) Haskell code. Others
16     include loading Haskell code dynamically in a GHCi-like manner.
17     For this reason, a lot of GHC's functionality is made available
18     through this package.
19 Category: Development
20 Build-Type: Simple
21 Cabal-Version: >= 1.2.3
22
23 Flag base4
24     Description: Choose the even newer, even smaller, split-up base package.
25
26 Flag base3
27     Description: Choose the new smaller, split-up base package.
28
29 Flag dynlibs
30     Description: Dynamic library support
31     Default: False
32     Manual: True
33
34 Flag ghci
35     Description: Build GHCi support.
36     Default: False
37     Manual: True
38
39 Flag ncg
40     Description: Build the NCG.
41     Default: False
42     Manual: True
43
44 Flag stage1
45     Description: Is this stage 1?
46     Default: False
47
48 Flag stage2
49     Description: Is this stage 2?
50     Default: False
51
52 Flag stage3
53     Description: Is this stage 3?
54     Default: False
55
56 Library
57     Exposed: False
58
59     if flag(base4)
60         Build-Depends: base       >= 4   && < 5
61     if flag(base3)
62         Build-Depends: base       >= 3   && < 4
63     if !flag(base3) && !flag(base4)
64         Build-Depends: base       < 3
65
66     if flag(base3) || flag(base4)
67         Build-Depends: directory  >= 1   && < 1.1,
68                        process    >= 1   && < 1.1,
69                        bytestring >= 0.9 && < 0.10,
70                        old-time   >= 1   && < 1.1,
71                        containers >= 0.1 && < 0.4,
72                        array      >= 0.1 && < 0.4
73
74     Build-Depends: filepath >= 1 && < 1.2
75     Build-Depends: Cabal, hpc
76     if os(windows)
77         Build-Depends: Win32
78     else
79         Build-Depends: unix
80
81     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
82
83     if flag(ghci)
84         Build-Depends: template-haskell
85         CPP-Options: -DGHCI
86         Include-Dirs: ../libffi/build/include
87
88     if !flag(ncg)
89         CPP-Options: -DOMIT_NATIVE_CODEGEN
90
91     Build-Depends: bin-package-db
92
93     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
94     -- able to find WCsubst.h
95     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
96
97     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
98                 ForeignFunctionInterface, EmptyDataDecls,
99                 TypeSynonymInstances, MultiParamTypeClasses,
100                 FlexibleInstances, Rank2Types, ScopedTypeVariables,
101                 DeriveDataTypeable, RelaxedPolyRec
102
103     Include-Dirs: . parser utils
104
105     if flag(stage1)
106         Include-Dirs: stage1
107         if impl(ghc < 6.9)
108             Build-Depends: extensible-exceptions
109             Extensions: PatternSignatures
110     else
111         if flag(stage2)
112             Include-Dirs: stage2
113         else
114             if flag(stage3)
115                 Include-Dirs: stage2
116
117     Install-Includes: HsVersions.h, ghc_boot_platform.h
118
119     c-sources:
120         parser/cutils.c
121         utils/md5.c
122
123     if flag(dynlibs)
124         c-sources:
125             ghci/keepCAFsForGHCi.c
126
127     hs-source-dirs:
128         basicTypes
129         cmm
130         codeGen
131         coreSyn
132         cprAnalysis
133         deSugar
134         ghci
135         hsSyn
136         iface
137         main
138         parser
139         prelude
140         profiling
141         rename
142         simplCore
143         simplStg
144         specialise
145         stgSyn
146         stranal
147         typecheck
148         types
149         utils
150         vectorise
151
152     Exposed-Modules:
153         BasicTypes
154         DataCon
155         Demand
156         Exception
157         Id
158         IdInfo
159         Literal
160         MkId
161         Module
162         Name
163         NameEnv
164         NameSet
165         NewDemand
166         OccName
167         RdrName
168         SrcLoc
169         UniqSupply
170         Unique
171         Var
172         VarEnv
173         VarSet
174         BlockId
175         CLabel
176         Cmm
177         CmmBrokenBlock
178         CmmBuildInfoTables
179         CmmCPS
180         CmmCPSGen
181         CmmCPSZ
182         CmmCallConv
183         CmmCommonBlockElimZ
184         CmmContFlowOpt
185         CmmCvt
186         CmmExpr
187         CmmInfo
188         CmmLex
189         CmmLint
190         CmmLive
191         CmmLiveZ
192         CmmOpt
193         CmmParse
194         CmmProcPoint
195         CmmProcPointZ
196         CmmSpillReload
197         CmmStackLayout
198         CmmTx
199         CmmUtils
200         CmmZipUtil
201         DFMonad
202         Dataflow
203         MkZipCfg
204         MkZipCfgCmm
205         OptimizationFuel
206         PprC
207         PprCmm
208         PprCmmZ
209         StackColor
210         StackPlacements
211         ZipCfg
212         ZipCfgCmmRep
213         ZipCfgExtras
214         ZipDataflow
215         Bitmap
216         CgBindery
217         CgCallConv
218         CgCase
219         CgClosure
220         CgCon
221         CgExpr
222         CgExtCode
223         CgForeignCall
224         CgHeapery
225         CgHpc
226         CgInfoTbls
227         CgLetNoEscape
228         CgMonad
229         CgParallel
230         CgPrimOp
231         CgProf
232         CgStackery
233         CgTailCall
234         CgTicky
235         CgUtils
236         StgCmm
237         StgCmmBind
238         StgCmmClosure
239         StgCmmCon
240         StgCmmEnv
241         StgCmmExpr
242         StgCmmForeign
243         StgCmmGran
244         StgCmmHeap
245         StgCmmHpc
246         StgCmmLayout
247         StgCmmMonad
248         StgCmmPrim
249         StgCmmProf
250         StgCmmTicky
251         StgCmmUtils
252         ClosureInfo
253         CodeGen
254         SMRep
255         CoreArity
256         CoreFVs
257         CoreLint
258         CorePrep
259         CoreSubst
260         CoreSyn
261         CoreTidy
262         CoreUnfold
263         CoreUtils
264         ExternalCore
265         MkCore
266         MkExternalCore
267         PprCore
268         PprExternalCore
269         CprAnalyse
270         Check
271         Coverage
272         Desugar
273         DsArrows
274         DsBinds
275         DsCCall
276         DsExpr
277         DsForeign
278         DsGRHSs
279         DsListComp
280         DsMonad
281         DsUtils
282         Match
283         MatchCon
284         MatchLit
285         HsBinds
286         HsDecls
287         HsDoc
288         HsExpr
289         HsImpExp
290         HsLit
291         HsPat
292         HsSyn
293         HsTypes
294         HsUtils
295         BinIface
296         BuildTyCl
297         IfaceEnv
298         IfaceSyn
299         IfaceType
300         LoadIface
301         MkIface
302         TcIface
303         Annotations
304         BreakArray
305         CmdLineParser
306         CodeOutput
307         Config
308         Constants
309         DriverMkDepend
310         DriverPhases
311         DriverPipeline
312         DynFlags
313         ErrUtils
314         Finder
315         GHC
316         HeaderInfo
317         HscMain
318         HscStats
319         HscTypes
320         InteractiveEval
321         PackageConfig
322         Packages
323         PprTyThing
324         StaticFlags
325         StaticFlagParser
326         SysTools
327         TidyPgm
328         Ctype
329         HaddockUtils
330         LexCore
331         Lexer
332         Parser
333         ParserCore
334         ParserCoreUtils
335         RdrHsSyn
336         ForeignCall
337         PrelInfo
338         PrelNames
339         PrelRules
340         PrimOp
341         TysPrim
342         TysWiredIn
343         CostCentre
344         SCCfinal
345         RnBinds
346         RnEnv
347         RnExpr
348         RnHsDoc
349         RnHsSyn
350         RnNames
351         RnPat
352         RnSource
353         RnTypes
354         CoreMonad
355         CSE
356         FloatIn
357         FloatOut
358         LiberateCase
359         OccurAnal
360         SAT
361         SetLevels
362         SimplCore
363         SimplEnv
364         SimplMonad
365         SimplUtils
366         Simplify
367         SRT
368         SimplStg
369         StgStats
370         Rules
371         SpecConstr
372         Specialise
373         CoreToStg
374         StgLint
375         StgSyn
376         DmdAnal
377         SaAbsInt
378         SaLib
379         StrictAnal
380         WorkWrap
381         WwLib
382         FamInst
383         Inst
384         TcAnnotations
385         TcArrows
386         TcBinds
387         TcClassDcl
388         TcDefaults
389         TcDeriv
390         TcEnv
391         TcExpr
392         TcForeign
393         TcGenDeriv
394         TcHsSyn
395         TcHsType
396         TcInstDcls
397         TcMType
398         TcMatches
399         TcPat
400         TcRnDriver
401         TcRnMonad
402         TcRnTypes
403         TcRules
404         TcSimplify
405         TcTyClsDecls
406         TcTyDecls
407         TcTyFuns
408         TcType
409         TcUnify
410         Class
411         Coercion
412         FamInstEnv
413         FunDeps
414         Generics
415         InstEnv
416         TyCon
417         Type
418         TypeRep
419         Unify
420         Bag
421         Binary
422         BufWrite
423         Digraph
424         Encoding
425         FastBool
426         FastFunctions
427         FastMutInt
428         FastString
429         FastTypes
430         Fingerprint
431         FiniteMap
432         GraphBase
433         GraphColor
434         GraphOps
435         GraphPpr
436         IOEnv
437         Interval
438         LazyUniqFM
439         ListSetOps
440         Maybes
441         MonadUtils
442         OrdList
443         Outputable
444         Panic
445         Pretty
446         Serialized
447         State
448         StringBuffer
449         UniqFM
450         UniqSet
451         Util
452         VectBuiltIn
453         VectCore
454         VectMonad
455         VectType
456         VectUtils
457         Vectorise
458
459     if flag(ncg)
460         hs-source-dirs:
461             nativeGen
462
463         Exposed-Modules:
464             AsmCodeGen
465             TargetReg
466             NCGMonad
467             Instruction
468             Size
469             Reg
470             RegClass
471             PprBase
472             PIC
473             Platform
474             Alpha.Regs
475             Alpha.RegInfo
476             Alpha.Instr
477             Alpha.CodeGen
478             X86.Regs
479             X86.RegInfo
480             X86.Instr
481             X86.Cond
482             X86.Ppr
483             X86.CodeGen
484             PPC.Regs
485             PPC.RegInfo
486             PPC.Instr
487             PPC.Cond
488             PPC.Ppr
489             PPC.CodeGen
490             SPARC.Base
491             SPARC.Regs
492             SPARC.RegPlate
493             SPARC.Imm
494             SPARC.AddrMode
495             SPARC.Cond
496             SPARC.Instr
497             SPARC.Stack
498             SPARC.ShortcutJump
499             SPARC.Ppr
500             SPARC.CodeGen
501             SPARC.CodeGen.Amode
502             SPARC.CodeGen.Base
503             SPARC.CodeGen.CCall
504             SPARC.CodeGen.CondCode
505             SPARC.CodeGen.Gen32
506             SPARC.CodeGen.Gen64
507             SPARC.CodeGen.Sanity
508             SPARC.CodeGen.Expand
509             RegAlloc.Liveness
510             RegAlloc.Graph.Main
511             RegAlloc.Graph.Stats
512             RegAlloc.Graph.ArchBase
513             RegAlloc.Graph.ArchX86
514             RegAlloc.Graph.Coalesce
515             RegAlloc.Graph.Spill
516             RegAlloc.Graph.SpillClean
517             RegAlloc.Graph.SpillCost
518             RegAlloc.Graph.TrivColorable
519             RegAlloc.Linear.Main
520             RegAlloc.Linear.JoinToTargets
521             RegAlloc.Linear.State
522             RegAlloc.Linear.Stats
523             RegAlloc.Linear.FreeRegs
524             RegAlloc.Linear.StackMap
525             RegAlloc.Linear.Base
526             RegAlloc.Linear.X86.FreeRegs
527             RegAlloc.Linear.PPC.FreeRegs
528             RegAlloc.Linear.SPARC.FreeRegs
529
530     if flag(ghci)
531         Exposed-Modules:
532             DsMeta
533             TcSplice
534             Convert
535             ByteCodeAsm
536             ByteCodeFFI
537             ByteCodeGen
538             ByteCodeInstr
539             ByteCodeItbls
540             ByteCodeLink
541             Debugger
542             LibFFI
543             Linker
544             ObjLink
545             RtClosureInspect
546