remove Haddock-lexing/parsing/renaming from GHC
[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.3,
72                        array      >= 0.1 && < 0.3
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     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
92     -- able to find WCsubst.h
93     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
94
95     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
96                 ForeignFunctionInterface, EmptyDataDecls,
97                 TypeSynonymInstances, MultiParamTypeClasses,
98                 FlexibleInstances, Rank2Types, ScopedTypeVariables,
99                 DeriveDataTypeable, RelaxedPolyRec
100
101     Include-Dirs: . parser utils
102
103     if flag(stage1)
104         Include-Dirs: stage1
105         if impl(ghc < 6.9)
106             Build-Depends: extensible-exceptions
107             Extensions: PatternSignatures
108     else
109         if flag(stage2)
110             Include-Dirs: stage2
111         else
112             if flag(stage3)
113                 Include-Dirs: stage2
114
115     Install-Includes: HsVersions.h, ghc_boot_platform.h
116
117     c-sources:
118         parser/cutils.c
119         utils/md5.c
120
121     if flag(dynlibs)
122         c-sources:
123             ghci/keepCAFsForGHCi.c
124
125     hs-source-dirs:
126         basicTypes
127         cmm
128         codeGen
129         coreSyn
130         cprAnalysis
131         deSugar
132         ghci
133         hsSyn
134         iface
135         main
136         parser
137         prelude
138         profiling
139         rename
140         simplCore
141         simplStg
142         specialise
143         stgSyn
144         stranal
145         typecheck
146         types
147         utils
148         vectorise
149
150     Exposed-Modules:
151         BasicTypes
152         DataCon
153         Demand
154         Exception
155         Id
156         IdInfo
157         Literal
158         MkId
159         Module
160         Name
161         NameEnv
162         NameSet
163         NewDemand
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         CgForeignCall
221         CgHeapery
222         CgHpc
223         CgInfoTbls
224         CgLetNoEscape
225         CgMonad
226         CgParallel
227         CgPrimOp
228         CgProf
229         CgStackery
230         CgTailCall
231         CgTicky
232         CgUtils
233         StgCmm
234         StgCmmBind
235         StgCmmClosure
236         StgCmmCon
237         StgCmmEnv
238         StgCmmExpr
239         StgCmmForeign
240         StgCmmGran
241         StgCmmHeap
242         StgCmmHpc
243         StgCmmLayout
244         StgCmmMonad
245         StgCmmPrim
246         StgCmmProf
247         StgCmmTicky
248         StgCmmUtils
249         ClosureInfo
250         CodeGen
251         SMRep
252         CoreArity
253         CoreFVs
254         CoreLint
255         CorePrep
256         CoreSubst
257         CoreSyn
258         CoreTidy
259         CoreUnfold
260         CoreUtils
261         ExternalCore
262         MkCore
263         MkExternalCore
264         PprCore
265         PprExternalCore
266         CprAnalyse
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         ParsePkgConf
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         SaAbsInt
376         SaLib
377         StrictAnal
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         TcHsSyn
393         TcHsType
394         TcInstDcls
395         TcMType
396         TcMatches
397         TcPat
398         TcRnDriver
399         TcRnMonad
400         TcRnTypes
401         TcRules
402         TcSimplify
403         TcTyClsDecls
404         TcTyDecls
405         TcTyFuns
406         TcType
407         TcUnify
408         Class
409         Coercion
410         FamInstEnv
411         FunDeps
412         Generics
413         InstEnv
414         TyCon
415         Type
416         TypeRep
417         Unify
418         Bag
419         Binary
420         BufWrite
421         Digraph
422         Encoding
423         FastBool
424         FastFunctions
425         FastMutInt
426         FastString
427         FastTypes
428         Fingerprint
429         FiniteMap
430         GraphBase
431         GraphColor
432         GraphOps
433         GraphPpr
434         IOEnv
435         Interval
436         LazyUniqFM
437         ListSetOps
438         Maybes
439         MonadUtils
440         OrdList
441         Outputable
442         Panic
443         Pretty
444         Serialized
445         State
446         StringBuffer
447         UniqFM
448         UniqSet
449         Util
450         VectBuiltIn
451         VectCore
452         VectMonad
453         VectType
454         VectUtils
455         Vectorise
456
457     if flag(ncg)
458         hs-source-dirs:
459             nativeGen
460
461         Exposed-Modules:
462             AsmCodeGen
463             TargetReg
464             NCGMonad
465             Instruction
466             Size
467             Reg
468             RegClass
469             PprBase
470             PIC
471             Platform
472             Alpha.Regs
473             Alpha.RegInfo
474             Alpha.Instr
475             Alpha.CodeGen
476             X86.Regs
477             X86.RegInfo
478             X86.Instr
479             X86.Cond
480             X86.Ppr
481             X86.CodeGen
482             PPC.Regs
483             PPC.RegInfo
484             PPC.Instr
485             PPC.Cond
486             PPC.Ppr
487             PPC.CodeGen
488             SPARC.Base
489             SPARC.Regs
490             SPARC.RegPlate
491             SPARC.Imm
492             SPARC.AddrMode
493             SPARC.Cond
494             SPARC.Instr
495             SPARC.Stack
496             SPARC.ShortcutJump
497             SPARC.Ppr
498             SPARC.CodeGen
499             SPARC.CodeGen.Amode
500             SPARC.CodeGen.Base
501             SPARC.CodeGen.CCall
502             SPARC.CodeGen.CondCode
503             SPARC.CodeGen.Gen32
504             SPARC.CodeGen.Gen64
505             SPARC.CodeGen.Sanity
506             SPARC.CodeGen.Expand
507             RegAlloc.Liveness
508             RegAlloc.Graph.Main
509             RegAlloc.Graph.Stats
510             RegAlloc.Graph.ArchBase
511             RegAlloc.Graph.ArchX86
512             RegAlloc.Graph.Coalesce
513             RegAlloc.Graph.Spill
514             RegAlloc.Graph.SpillClean
515             RegAlloc.Graph.SpillCost
516             RegAlloc.Graph.TrivColorable
517             RegAlloc.Linear.Main
518             RegAlloc.Linear.JoinToTargets
519             RegAlloc.Linear.State
520             RegAlloc.Linear.Stats
521             RegAlloc.Linear.FreeRegs
522             RegAlloc.Linear.StackMap
523             RegAlloc.Linear.Base
524             RegAlloc.Linear.X86.FreeRegs
525             RegAlloc.Linear.PPC.FreeRegs
526             RegAlloc.Linear.SPARC.FreeRegs
527
528     if flag(ghci)
529         Exposed-Modules:
530             DsMeta
531             TcSplice
532             Convert
533             ByteCodeAsm
534             ByteCodeFFI
535             ByteCodeGen
536             ByteCodeInstr
537             ByteCodeItbls
538             ByteCodeLink
539             Debugger
540             LibFFI
541             Linker
542             ObjLink
543             RtClosureInspect
544