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