Remove the (very) old strictness analyser
[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         OccName
166         RdrName
167         SrcLoc
168         UniqSupply
169         Unique
170         Var
171         VarEnv
172         VarSet
173         BlockId
174         CLabel
175         Cmm
176         CmmBrokenBlock
177         CmmBuildInfoTables
178         CmmCPS
179         CmmCPSGen
180         CmmCPSZ
181         CmmCallConv
182         CmmCommonBlockElimZ
183         CmmContFlowOpt
184         CmmCvt
185         CmmExpr
186         CmmInfo
187         CmmLex
188         CmmLint
189         CmmLive
190         CmmLiveZ
191         CmmOpt
192         CmmParse
193         CmmProcPoint
194         CmmProcPointZ
195         CmmSpillReload
196         CmmStackLayout
197         CmmTx
198         CmmUtils
199         CmmZipUtil
200         DFMonad
201         Dataflow
202         MkZipCfg
203         MkZipCfgCmm
204         OptimizationFuel
205         PprC
206         PprCmm
207         PprCmmZ
208         StackColor
209         StackPlacements
210         ZipCfg
211         ZipCfgCmmRep
212         ZipCfgExtras
213         ZipDataflow
214         Bitmap
215         CgBindery
216         CgCallConv
217         CgCase
218         CgClosure
219         CgCon
220         CgExpr
221         CgExtCode
222         CgForeignCall
223         CgHeapery
224         CgHpc
225         CgInfoTbls
226         CgLetNoEscape
227         CgMonad
228         CgParallel
229         CgPrimOp
230         CgProf
231         CgStackery
232         CgTailCall
233         CgTicky
234         CgUtils
235         StgCmm
236         StgCmmBind
237         StgCmmClosure
238         StgCmmCon
239         StgCmmEnv
240         StgCmmExpr
241         StgCmmForeign
242         StgCmmGran
243         StgCmmHeap
244         StgCmmHpc
245         StgCmmLayout
246         StgCmmMonad
247         StgCmmPrim
248         StgCmmProf
249         StgCmmTicky
250         StgCmmUtils
251         ClosureInfo
252         CodeGen
253         SMRep
254         CoreArity
255         CoreFVs
256         CoreLint
257         CorePrep
258         CoreSubst
259         CoreSyn
260         CoreTidy
261         CoreUnfold
262         CoreUtils
263         ExternalCore
264         MkCore
265         MkExternalCore
266         PprCore
267         PprExternalCore
268         Check
269         Coverage
270         Desugar
271         DsArrows
272         DsBinds
273         DsCCall
274         DsExpr
275         DsForeign
276         DsGRHSs
277         DsListComp
278         DsMonad
279         DsUtils
280         Match
281         MatchCon
282         MatchLit
283         HsBinds
284         HsDecls
285         HsDoc
286         HsExpr
287         HsImpExp
288         HsLit
289         HsPat
290         HsSyn
291         HsTypes
292         HsUtils
293         BinIface
294         BuildTyCl
295         IfaceEnv
296         IfaceSyn
297         IfaceType
298         LoadIface
299         MkIface
300         TcIface
301         Annotations
302         BreakArray
303         CmdLineParser
304         CodeOutput
305         Config
306         Constants
307         DriverMkDepend
308         DriverPhases
309         DriverPipeline
310         DynFlags
311         ErrUtils
312         Finder
313         GHC
314         HeaderInfo
315         HscMain
316         HscStats
317         HscTypes
318         InteractiveEval
319         PackageConfig
320         Packages
321         PprTyThing
322         StaticFlags
323         StaticFlagParser
324         SysTools
325         TidyPgm
326         Ctype
327         HaddockUtils
328         LexCore
329         Lexer
330         Parser
331         ParserCore
332         ParserCoreUtils
333         RdrHsSyn
334         ForeignCall
335         PrelInfo
336         PrelNames
337         PrelRules
338         PrimOp
339         TysPrim
340         TysWiredIn
341         CostCentre
342         SCCfinal
343         RnBinds
344         RnEnv
345         RnExpr
346         RnHsDoc
347         RnHsSyn
348         RnNames
349         RnPat
350         RnSource
351         RnTypes
352         CoreMonad
353         CSE
354         FloatIn
355         FloatOut
356         LiberateCase
357         OccurAnal
358         SAT
359         SetLevels
360         SimplCore
361         SimplEnv
362         SimplMonad
363         SimplUtils
364         Simplify
365         SRT
366         SimplStg
367         StgStats
368         Rules
369         SpecConstr
370         Specialise
371         CoreToStg
372         StgLint
373         StgSyn
374         DmdAnal
375         WorkWrap
376         WwLib
377         FamInst
378         Inst
379         TcAnnotations
380         TcArrows
381         TcBinds
382         TcClassDcl
383         TcDefaults
384         TcDeriv
385         TcEnv
386         TcExpr
387         TcForeign
388         TcGenDeriv
389         TcHsSyn
390         TcHsType
391         TcInstDcls
392         TcMType
393         TcMatches
394         TcPat
395         TcRnDriver
396         TcRnMonad
397         TcRnTypes
398         TcRules
399         TcSimplify
400         TcTyClsDecls
401         TcTyDecls
402         TcTyFuns
403         TcType
404         TcUnify
405         Class
406         Coercion
407         FamInstEnv
408         FunDeps
409         Generics
410         InstEnv
411         TyCon
412         Type
413         TypeRep
414         Unify
415         Bag
416         Binary
417         BufWrite
418         Digraph
419         Encoding
420         FastBool
421         FastFunctions
422         FastMutInt
423         FastString
424         FastTypes
425         Fingerprint
426         FiniteMap
427         GraphBase
428         GraphColor
429         GraphOps
430         GraphPpr
431         IOEnv
432         Interval
433         LazyUniqFM
434         ListSetOps
435         Maybes
436         MonadUtils
437         OrdList
438         Outputable
439         Panic
440         Pretty
441         Serialized
442         State
443         StringBuffer
444         UniqFM
445         UniqSet
446         Util
447         VectBuiltIn
448         VectCore
449         VectMonad
450         VectType
451         VectUtils
452         Vectorise
453
454     if flag(ncg)
455         hs-source-dirs:
456             nativeGen
457
458         Exposed-Modules:
459             AsmCodeGen
460             TargetReg
461             NCGMonad
462             Instruction
463             Size
464             Reg
465             RegClass
466             PprBase
467             PIC
468             Platform
469             Alpha.Regs
470             Alpha.RegInfo
471             Alpha.Instr
472             Alpha.CodeGen
473             X86.Regs
474             X86.RegInfo
475             X86.Instr
476             X86.Cond
477             X86.Ppr
478             X86.CodeGen
479             PPC.Regs
480             PPC.RegInfo
481             PPC.Instr
482             PPC.Cond
483             PPC.Ppr
484             PPC.CodeGen
485             SPARC.Base
486             SPARC.Regs
487             SPARC.RegPlate
488             SPARC.Imm
489             SPARC.AddrMode
490             SPARC.Cond
491             SPARC.Instr
492             SPARC.Stack
493             SPARC.ShortcutJump
494             SPARC.Ppr
495             SPARC.CodeGen
496             SPARC.CodeGen.Amode
497             SPARC.CodeGen.Base
498             SPARC.CodeGen.CCall
499             SPARC.CodeGen.CondCode
500             SPARC.CodeGen.Gen32
501             SPARC.CodeGen.Gen64
502             SPARC.CodeGen.Sanity
503             SPARC.CodeGen.Expand
504             RegAlloc.Liveness
505             RegAlloc.Graph.Main
506             RegAlloc.Graph.Stats
507             RegAlloc.Graph.ArchBase
508             RegAlloc.Graph.ArchX86
509             RegAlloc.Graph.Coalesce
510             RegAlloc.Graph.Spill
511             RegAlloc.Graph.SpillClean
512             RegAlloc.Graph.SpillCost
513             RegAlloc.Graph.TrivColorable
514             RegAlloc.Linear.Main
515             RegAlloc.Linear.JoinToTargets
516             RegAlloc.Linear.State
517             RegAlloc.Linear.Stats
518             RegAlloc.Linear.FreeRegs
519             RegAlloc.Linear.StackMap
520             RegAlloc.Linear.Base
521             RegAlloc.Linear.X86.FreeRegs
522             RegAlloc.Linear.PPC.FreeRegs
523             RegAlloc.Linear.SPARC.FreeRegs
524
525     if flag(ghci)
526         Exposed-Modules:
527             DsMeta
528             TcSplice
529             Convert
530             ByteCodeAsm
531             ByteCodeFFI
532             ByteCodeGen
533             ByteCodeInstr
534             ByteCodeItbls
535             ByteCodeLink
536             Debugger
537             LibFFI
538             Linker
539             ObjLink
540             RtClosureInspect
541