Remove LazyUniqFM; fixes trac #3880
[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         deSugar
133         ghci
134         hsSyn
135         iface
136         main
137         parser
138         prelude
139         profiling
140         rename
141         simplCore
142         simplStg
143         specialise
144         stgSyn
145         stranal
146         typecheck
147         types
148         utils
149         vectorise
150
151     Exposed-Modules:
152         BasicTypes
153         DataCon
154         Demand
155         Exception
156         Id
157         IdInfo
158         Literal
159         MkId
160         Module
161         Name
162         NameEnv
163         NameSet
164         OccName
165         RdrName
166         SrcLoc
167         UniqSupply
168         Unique
169         Var
170         VarEnv
171         VarSet
172         BlockId
173         CLabel
174         Cmm
175         CmmBrokenBlock
176         CmmBuildInfoTables
177         CmmCPS
178         CmmCPSGen
179         CmmCPSZ
180         CmmCallConv
181         CmmCommonBlockElimZ
182         CmmContFlowOpt
183         CmmCvt
184         CmmExpr
185         CmmInfo
186         CmmLex
187         CmmLint
188         CmmLive
189         CmmLiveZ
190         CmmOpt
191         CmmParse
192         CmmProcPoint
193         CmmProcPointZ
194         CmmSpillReload
195         CmmStackLayout
196         CmmTx
197         CmmUtils
198         CmmZipUtil
199         DFMonad
200         Dataflow
201         MkZipCfg
202         MkZipCfgCmm
203         OptimizationFuel
204         PprC
205         PprCmm
206         PprCmmZ
207         StackColor
208         StackPlacements
209         ZipCfg
210         ZipCfgCmmRep
211         ZipCfgExtras
212         ZipDataflow
213         Bitmap
214         CgBindery
215         CgCallConv
216         CgCase
217         CgClosure
218         CgCon
219         CgExpr
220         CgExtCode
221         CgForeignCall
222         CgHeapery
223         CgHpc
224         CgInfoTbls
225         CgLetNoEscape
226         CgMonad
227         CgParallel
228         CgPrimOp
229         CgProf
230         CgStackery
231         CgTailCall
232         CgTicky
233         CgUtils
234         StgCmm
235         StgCmmBind
236         StgCmmClosure
237         StgCmmCon
238         StgCmmEnv
239         StgCmmExpr
240         StgCmmForeign
241         StgCmmGran
242         StgCmmHeap
243         StgCmmHpc
244         StgCmmLayout
245         StgCmmMonad
246         StgCmmPrim
247         StgCmmProf
248         StgCmmTicky
249         StgCmmUtils
250         ClosureInfo
251         CodeGen
252         SMRep
253         CoreArity
254         CoreFVs
255         CoreLint
256         CorePrep
257         CoreSubst
258         CoreSyn
259         CoreTidy
260         CoreUnfold
261         CoreUtils
262         ExternalCore
263         MkCore
264         MkExternalCore
265         PprCore
266         PprExternalCore
267         Check
268         Coverage
269         Desugar
270         DsArrows
271         DsBinds
272         DsCCall
273         DsExpr
274         DsForeign
275         DsGRHSs
276         DsListComp
277         DsMonad
278         DsUtils
279         Match
280         MatchCon
281         MatchLit
282         HsBinds
283         HsDecls
284         HsDoc
285         HsExpr
286         HsImpExp
287         HsLit
288         HsPat
289         HsSyn
290         HsTypes
291         HsUtils
292         BinIface
293         BuildTyCl
294         IfaceEnv
295         IfaceSyn
296         IfaceType
297         LoadIface
298         MkIface
299         TcIface
300         Annotations
301         BreakArray
302         CmdLineParser
303         CodeOutput
304         Config
305         Constants
306         DriverMkDepend
307         DriverPhases
308         DriverPipeline
309         DynFlags
310         ErrUtils
311         Finder
312         GHC
313         HeaderInfo
314         HscMain
315         HscStats
316         HscTypes
317         InteractiveEval
318         PackageConfig
319         Packages
320         PprTyThing
321         StaticFlags
322         StaticFlagParser
323         SysTools
324         TidyPgm
325         Ctype
326         HaddockUtils
327         LexCore
328         Lexer
329         OptCoercion
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         ListSetOps
434         Maybes
435         MonadUtils
436         OrdList
437         Outputable
438         Panic
439         Pretty
440         Serialized
441         State
442         StringBuffer
443         UniqFM
444         UniqSet
445         Util
446         VectBuiltIn
447         VectCore
448         VectMonad
449         VectType
450         VectUtils
451         Vectorise
452
453     if flag(ncg)
454         hs-source-dirs:
455             nativeGen
456
457         Exposed-Modules:
458             AsmCodeGen
459             TargetReg
460             NCGMonad
461             Instruction
462             Size
463             Reg
464             RegClass
465             PprBase
466             PIC
467             Platform
468             Alpha.Regs
469             Alpha.RegInfo
470             Alpha.Instr
471             Alpha.CodeGen
472             X86.Regs
473             X86.RegInfo
474             X86.Instr
475             X86.Cond
476             X86.Ppr
477             X86.CodeGen
478             PPC.Regs
479             PPC.RegInfo
480             PPC.Instr
481             PPC.Cond
482             PPC.Ppr
483             PPC.CodeGen
484             SPARC.Base
485             SPARC.Regs
486             SPARC.RegPlate
487             SPARC.Imm
488             SPARC.AddrMode
489             SPARC.Cond
490             SPARC.Instr
491             SPARC.Stack
492             SPARC.ShortcutJump
493             SPARC.Ppr
494             SPARC.CodeGen
495             SPARC.CodeGen.Amode
496             SPARC.CodeGen.Base
497             SPARC.CodeGen.CCall
498             SPARC.CodeGen.CondCode
499             SPARC.CodeGen.Gen32
500             SPARC.CodeGen.Gen64
501             SPARC.CodeGen.Sanity
502             SPARC.CodeGen.Expand
503             RegAlloc.Liveness
504             RegAlloc.Graph.Main
505             RegAlloc.Graph.Stats
506             RegAlloc.Graph.ArchBase
507             RegAlloc.Graph.ArchX86
508             RegAlloc.Graph.Coalesce
509             RegAlloc.Graph.Spill
510             RegAlloc.Graph.SpillClean
511             RegAlloc.Graph.SpillCost
512             RegAlloc.Graph.TrivColorable
513             RegAlloc.Linear.Main
514             RegAlloc.Linear.JoinToTargets
515             RegAlloc.Linear.State
516             RegAlloc.Linear.Stats
517             RegAlloc.Linear.FreeRegs
518             RegAlloc.Linear.StackMap
519             RegAlloc.Linear.Base
520             RegAlloc.Linear.X86.FreeRegs
521             RegAlloc.Linear.PPC.FreeRegs
522             RegAlloc.Linear.SPARC.FreeRegs
523
524     if flag(ghci)
525         Exposed-Modules:
526             DsMeta
527             TcSplice
528             Convert
529             ByteCodeAsm
530             ByteCodeFFI
531             ByteCodeGen
532             ByteCodeInstr
533             ByteCodeItbls
534             ByteCodeLink
535             Debugger
536             LibFFI
537             Linker
538             ObjLink
539             RtClosureInspect
540