Snapshot
[ghc.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 stage1
40     Description: Is this stage 1?
41     Default: False
42     Manual: True
43
44 Flag stage2
45     Description: Is this stage 2?
46     Default: False
47     Manual: True
48
49 Flag stage3
50     Description: Is this stage 3?
51     Default: False
52     Manual: True
53
54 Library
55     Exposed: False
56
57     if flag(base4)
58         Build-Depends: base       >= 4   && < 5
59     if flag(base3)
60         Build-Depends: base       >= 3   && < 4
61     if !flag(base3) && !flag(base4)
62         Build-Depends: base       < 3
63
64     if flag(base3) || flag(base4)
65         Build-Depends: directory  >= 1   && < 1.2,
66                        process    >= 1   && < 1.2,
67                        bytestring >= 0.9 && < 0.10,
68                        old-time   >= 1   && < 1.1,
69                        containers >= 0.1 && < 0.5,
70                        array      >= 0.1 && < 0.4
71
72     Build-Depends: filepath >= 1 && < 1.3
73     Build-Depends: Cabal, hpc
74     if os(windows)
75         Build-Depends: Win32
76     else
77         Build-Depends: unix
78
79     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
80
81     if flag(ghci)
82         Build-Depends: template-haskell
83         CPP-Options: -DGHCI
84         Include-Dirs: ../rts/dist/build
85
86     Build-Depends: bin-package-db
87     Build-Depends: hoopl
88
89     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
90     -- able to find WCsubst.h
91     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
92
93     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
94                 ForeignFunctionInterface, EmptyDataDecls,
95                 TypeSynonymInstances, MultiParamTypeClasses,
96                 FlexibleInstances, Rank2Types, ScopedTypeVariables,
97                 DeriveDataTypeable, BangPatterns
98     if impl(ghc >= 7.1)
99         Extensions: NondecreasingIndentation
100
101     Include-Dirs: . parser utils
102
103     if flag(stage1)
104         Include-Dirs: stage1
105     else
106         if flag(stage2)
107             Include-Dirs: stage2
108         else
109             if flag(stage3)
110                 Include-Dirs: stage2
111
112     Install-Includes: HsVersions.h, ghc_boot_platform.h
113
114     c-sources:
115         parser/cutils.c
116         utils/md5.c
117
118     if flag(dynlibs)
119         c-sources:
120             ghci/keepCAFsForGHCi.c
121
122     hs-source-dirs:
123         basicTypes
124         cmm
125         codeGen
126         coreSyn
127         deSugar
128         ghci
129         hsSyn
130         iface
131         llvmGen
132         main
133         nativeGen
134         parser
135         prelude
136         profiling
137         rename
138         simplCore
139         simplStg
140         specialise
141         stgSyn
142         stranal
143         typecheck
144         types
145         utils
146         vectorise
147
148     Exposed-Modules:
149         Avail
150         BasicTypes
151         DataCon
152         Demand
153         Exception
154         GhcMonad
155         Id
156         IdInfo
157         Literal
158         Llvm
159         Llvm.AbsSyn
160         Llvm.PpLlvm
161         Llvm.Types
162         LlvmCodeGen
163         LlvmCodeGen.Base
164         LlvmCodeGen.CodeGen
165         LlvmCodeGen.Data
166         LlvmCodeGen.Ppr
167         LlvmCodeGen.Regs
168         LlvmMangler
169         MkId
170         Module
171         Name
172         NameEnv
173         NameSet
174         OccName
175         RdrName
176         SrcLoc
177         UniqSupply
178         Unique
179         Var
180         VarEnv
181         VarSet
182         BlockId
183         CLabel
184         Cmm
185         CmmBuildInfoTables
186         CmmPipeline
187         CmmCallConv
188         CmmCommonBlockElim
189         CmmContFlowOpt
190         CmmCvt
191         CmmExpr
192         CmmInfo
193         CmmLex
194         CmmLint
195         CmmLive
196         CmmMachOp
197         CmmNode
198         CmmOpt
199         CmmParse
200         CmmProcPoint
201         CmmSpillReload
202         CmmRewriteAssignments
203         CmmStackLayout
204         CmmType
205         CmmUtils
206         MkGraph
207         OldCmm
208         OldCmmLint
209         OldCmmUtils
210         OldPprCmm
211         OptimizationFuel
212         PprBase
213         PprC
214         PprCmm
215         PprCmmDecl
216         PprCmmExpr
217         Bitmap
218         CgBindery
219         CgCallConv
220         CgCase
221         CgClosure
222         CgCon
223         CgExpr
224         CgExtCode
225         CgForeignCall
226         CgHeapery
227         CgHpc
228         CgInfoTbls
229         CgLetNoEscape
230         CgMonad
231         CgParallel
232         CgPrimOp
233         CgProf
234         CgStackery
235         CgTailCall
236         CgTicky
237         CgUtils
238         StgCmm
239         StgCmmBind
240         StgCmmClosure
241         StgCmmCon
242         StgCmmEnv
243         StgCmmExpr
244         StgCmmForeign
245         StgCmmGran
246         StgCmmHeap
247         StgCmmHpc
248         StgCmmLayout
249         StgCmmMonad
250         StgCmmPrim
251         StgCmmProf
252         StgCmmTicky
253         StgCmmUtils
254         ClosureInfo
255         CodeGen
256         SMRep
257         CoreArity
258         CoreFVs
259         CoreLint
260         CorePrep
261         CoreSubst
262         CoreSyn
263         TrieMap
264         CoreTidy
265         CoreUnfold
266         CoreUtils
267         ExternalCore
268         MkCore
269         MkExternalCore
270         PprCore
271         PprExternalCore
272         Check
273         Coverage
274         Desugar
275         DsArrows
276         DsBinds
277         DsCCall
278         DsExpr
279         DsForeign
280         DsGRHSs
281         DsListComp
282         DsMonad
283         DsUtils
284         Match
285         MatchCon
286         MatchLit
287         HsBinds
288         HsDecls
289         HsDoc
290         HsExpr
291         HsImpExp
292         HsLit
293         HsPat
294         HsSyn
295         HsTypes
296         HsUtils
297         BinIface
298         BuildTyCl
299         IfaceEnv
300         IfaceSyn
301         IfaceType
302         LoadIface
303         MkIface
304         TcIface
305         FlagChecker
306         Annotations
307         BreakArray
308         CmdLineParser
309         CodeOutput
310         Config
311         Constants
312         DriverMkDepend
313         DriverPhases
314         DriverPipeline
315         DynFlags
316         ErrUtils
317         Finder
318         GHC
319         GhcMake
320         GhcPlugins
321         DynamicLoading
322         HeaderInfo
323         HscMain
324         HscStats
325         HscTypes
326         InteractiveEval
327         PackageConfig
328         Packages
329         PprTyThing
330         StaticFlags
331         StaticFlagParser
332         SysTools
333         TidyPgm
334         Ctype
335         HaddockUtils
336         LexCore
337         Lexer
338         OptCoercion
339         Parser
340         ParserCore
341         ParserCoreUtils
342         RdrHsSyn
343         ForeignCall
344         PrelInfo
345         PrelNames
346         PrelRules
347         PrimOp
348         TysPrim
349         TysWiredIn
350         CostCentre
351         ProfInit
352         SCCfinal
353         RnBinds
354         RnEnv
355         RnExpr
356         RnHsDoc
357         RnHsSyn
358         RnNames
359         RnPat
360         RnSource
361         RnTypes
362         CoreMonad
363         CSE
364         FloatIn
365         FloatOut
366         LiberateCase
367         OccurAnal
368         SAT
369         SetLevels
370         SimplCore
371         SimplEnv
372         SimplMonad
373         SimplUtils
374         Simplify
375         SRT
376         SimplStg
377         StgStats
378         Rules
379         SpecConstr
380         Specialise
381         CoreToStg
382         StgLint
383         StgSyn
384         DmdAnal
385         WorkWrap
386         WwLib
387         FamInst
388         Inst
389         TcAnnotations
390         TcArrows
391         TcBinds
392         TcClassDcl
393         TcDefaults
394         TcDeriv
395         TcEnv
396         TcExpr
397         TcForeign
398         TcGenDeriv
399         TcGenGenerics
400         TcHsSyn
401         TcHsType
402         TcInstDcls
403         TcMType
404         TcMatches
405         TcPat
406         TcRnDriver
407         TcRnMonad
408         TcRnTypes
409         TcRules
410         TcSimplify
411         TcErrors
412         TcTyClsDecls
413         TcTyDecls
414         TcType
415         TcEvidence
416         TcUnify
417         TcInteract
418         TcCanonical
419         TcSMonad
420         Class
421         IParam
422         Coercion
423         FamInstEnv
424         FunDeps
425         InstEnv
426         TyCon
427         Kind
428         Type
429         TypeRep
430         Unify
431         Bag
432         Binary
433         BufWrite
434         Digraph
435         Encoding
436         FastBool
437         FastFunctions
438         FastMutInt
439         FastString
440         FastTypes
441         Fingerprint
442         FiniteMap
443         GraphBase
444         GraphColor
445         GraphOps
446         GraphPpr
447         IOEnv
448         ListSetOps
449         Maybes
450         MonadUtils
451         OrdList
452         Outputable
453         Pair
454         Panic
455         Pretty
456         Serialized
457         State
458         StringBuffer
459         UniqFM
460         UniqSet
461         Util
462         Vectorise.Builtins.Base
463         Vectorise.Builtins.Initialise
464         Vectorise.Builtins
465         Vectorise.Monad.Base
466         Vectorise.Monad.Naming
467         Vectorise.Monad.Local
468         Vectorise.Monad.Global
469         Vectorise.Monad.InstEnv
470         Vectorise.Monad
471         Vectorise.Utils.Base
472         Vectorise.Utils.Closure
473         Vectorise.Utils.Hoisting
474         Vectorise.Utils.PADict
475         Vectorise.Utils.Poly
476         Vectorise.Utils
477         Vectorise.Generic.Description
478         Vectorise.Generic.PAMethods
479         Vectorise.Generic.PADict
480         Vectorise.Generic.PData
481         Vectorise.Type.Env
482         Vectorise.Type.Type
483         Vectorise.Type.TyConDecl
484         Vectorise.Type.Classify
485         Vectorise.Convert
486         Vectorise.Vect
487         Vectorise.Var
488         Vectorise.Env
489         Vectorise.Exp
490         Vectorise
491         Hoopl.Dataflow
492         Hoopl
493
494     Exposed-Modules:
495             AsmCodeGen
496             TargetReg
497             NCGMonad
498             Instruction
499             Size
500             Reg
501             RegClass
502             PIC
503             Platform
504             CPrim
505             X86.Regs
506             X86.RegInfo
507             X86.Instr
508             X86.Cond
509             X86.Ppr
510             X86.CodeGen
511             PPC.Regs
512             PPC.RegInfo
513             PPC.Instr
514             PPC.Cond
515             PPC.Ppr
516             PPC.CodeGen
517             SPARC.Base
518             SPARC.Regs
519             SPARC.RegPlate
520             SPARC.Imm
521             SPARC.AddrMode
522             SPARC.Cond
523             SPARC.Instr
524             SPARC.Stack
525             SPARC.ShortcutJump
526             SPARC.Ppr
527             SPARC.CodeGen
528             SPARC.CodeGen.Amode
529             SPARC.CodeGen.Base
530             SPARC.CodeGen.CCall
531             SPARC.CodeGen.CondCode
532             SPARC.CodeGen.Gen32
533             SPARC.CodeGen.Gen64
534             SPARC.CodeGen.Sanity
535             SPARC.CodeGen.Expand
536             RegAlloc.Liveness
537             RegAlloc.Graph.Main
538             RegAlloc.Graph.Stats
539             RegAlloc.Graph.ArchBase
540             RegAlloc.Graph.ArchX86
541             RegAlloc.Graph.Coalesce
542             RegAlloc.Graph.Spill
543             RegAlloc.Graph.SpillClean
544             RegAlloc.Graph.SpillCost
545             RegAlloc.Graph.TrivColorable
546             RegAlloc.Linear.Main
547             RegAlloc.Linear.JoinToTargets
548             RegAlloc.Linear.State
549             RegAlloc.Linear.Stats
550             RegAlloc.Linear.FreeRegs
551             RegAlloc.Linear.StackMap
552             RegAlloc.Linear.Base
553             RegAlloc.Linear.X86.FreeRegs
554             RegAlloc.Linear.PPC.FreeRegs
555             RegAlloc.Linear.SPARC.FreeRegs
556
557     if flag(ghci)
558         Exposed-Modules:
559             DsMeta
560             TcSplice
561             Convert
562             ByteCodeAsm
563             ByteCodeGen
564             ByteCodeInstr
565             ByteCodeItbls
566             ByteCodeLink
567             Debugger
568             LibFFI
569             Linker
570             ObjLink
571             RtClosureInspect
572             DebuggerUtils