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