Tidy up the error messages we get from TH in stage1 (Trac #8312)
[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.6,
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 @FFIIncludeDir@
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         cbits/genSym.c
103
104     hs-source-dirs:
105         basicTypes
106         cmm
107         codeGen
108         coreSyn
109         deSugar
110         ghci
111         hsSyn
112         iface
113         llvmGen
114         main
115         nativeGen
116         parser
117         prelude
118         profiling
119         rename
120         simplCore
121         simplStg
122         specialise
123         stgSyn
124         stranal
125         typecheck
126         types
127         utils
128         vectorise
129
130     Exposed-Modules:
131         Avail
132         BasicTypes
133         DataCon
134         Demand
135         Exception
136         GhcMonad
137         Hooks
138         Id
139         IdInfo
140         Literal
141         Llvm
142         Llvm.AbsSyn
143         Llvm.MetaData
144         Llvm.PpLlvm
145         Llvm.Types
146         LlvmCodeGen
147         LlvmCodeGen.Base
148         LlvmCodeGen.CodeGen
149         LlvmCodeGen.Data
150         LlvmCodeGen.Ppr
151         LlvmCodeGen.Regs
152         LlvmMangler
153         MkId
154         Module
155         Name
156         NameEnv
157         NameSet
158         OccName
159         RdrName
160         SrcLoc
161         UniqSupply
162         Unique
163         Var
164         VarEnv
165         VarSet
166         BlockId
167         CLabel
168         Cmm
169         CmmBuildInfoTables
170         CmmPipeline
171         CmmCallConv
172         CmmCommonBlockElim
173         CmmContFlowOpt
174         CmmExpr
175         CmmInfo
176         CmmLex
177         CmmLint
178         CmmLive
179         CmmMachOp
180         CmmNode
181         CmmOpt
182         CmmParse
183         CmmProcPoint
184         CmmRewriteAssignments
185         CmmSink
186         CmmType
187         CmmUtils
188         CmmLayoutStack
189         MkGraph
190         PprBase
191         PprC
192         PprCmm
193         PprCmmDecl
194         PprCmmExpr
195         Bitmap
196         CodeGen.Platform
197         CodeGen.Platform.ARM
198         CodeGen.Platform.NoRegs
199         CodeGen.Platform.PPC
200         CodeGen.Platform.PPC_Darwin
201         CodeGen.Platform.SPARC
202         CodeGen.Platform.X86
203         CodeGen.Platform.X86_64
204         CgUtils
205         StgCmm
206         StgCmmBind
207         StgCmmClosure
208         StgCmmCon
209         StgCmmEnv
210         StgCmmExpr
211         StgCmmForeign
212         StgCmmHeap
213         StgCmmHpc
214         StgCmmArgRep
215         StgCmmLayout
216         StgCmmMonad
217         StgCmmPrim
218         StgCmmProf
219         StgCmmTicky
220         StgCmmUtils
221         StgCmmExtCode
222         SMRep
223         CoreArity
224         CoreFVs
225         CoreLint
226         CorePrep
227         CoreSubst
228         CoreSyn
229         TrieMap
230         CoreTidy
231         CoreUnfold
232         CoreUtils
233         ExternalCore
234         MkCore
235         MkExternalCore
236         PprCore
237         PprExternalCore
238         Check
239         Coverage
240         Desugar
241         DsArrows
242         DsBinds
243         DsCCall
244         DsExpr
245         DsForeign
246         DsGRHSs
247         DsListComp
248         DsMonad
249         DsUtils
250         Match
251         MatchCon
252         MatchLit
253         HsBinds
254         HsDecls
255         HsDoc
256         HsExpr
257         HsImpExp
258         HsLit
259         HsPat
260         HsSyn
261         HsTypes
262         HsUtils
263         BinIface
264         BuildTyCl
265         IfaceEnv
266         IfaceSyn
267         IfaceType
268         LoadIface
269         MkIface
270         TcIface
271         FlagChecker
272         Annotations
273         BreakArray
274         CmdLineParser
275         CodeOutput
276         Config
277         Constants
278         DriverMkDepend
279         DriverPhases
280         PipelineMonad
281         DriverPipeline
282         DynFlags
283         ErrUtils
284         Finder
285         GHC
286         GhcMake
287         GhcPlugins
288         DynamicLoading
289         HeaderInfo
290         HscMain
291         HscStats
292         HscTypes
293         InteractiveEval
294         InteractiveEvalTypes
295         PackageConfig
296         Packages
297         PlatformConstants
298         PprTyThing
299         StaticFlags
300         SysTools
301         TidyPgm
302         Ctype
303         HaddockUtils
304         LexCore
305         Lexer
306         OptCoercion
307         Parser
308         ParserCore
309         ParserCoreUtils
310         RdrHsSyn
311         ForeignCall
312         PrelInfo
313         PrelNames
314         PrelRules
315         PrimOp
316         TysPrim
317         TysWiredIn
318         CostCentre
319         ProfInit
320         SCCfinal
321         RnBinds
322         RnEnv
323         RnExpr
324         RnHsDoc
325         RnNames
326         RnPat
327         RnSource
328         RnSplice
329         RnTypes
330         CoreMonad
331         CSE
332         FloatIn
333         FloatOut
334         LiberateCase
335         OccurAnal
336         SAT
337         SetLevels
338         SimplCore
339         SimplEnv
340         SimplMonad
341         SimplUtils
342         Simplify
343         SimplStg
344         StgStats
345         UnariseStg
346         Rules
347         SpecConstr
348         Specialise
349         CoreToStg
350         StgLint
351         StgSyn
352         DmdAnal
353         WorkWrap
354         WwLib
355         FamInst
356         Inst
357         TcAnnotations
358         TcArrows
359         TcBinds
360         TcClassDcl
361         TcDefaults
362         TcDeriv
363         TcEnv
364         TcExpr
365         TcForeign
366         TcGenDeriv
367         TcGenGenerics
368         TcHsSyn
369         TcHsType
370         TcInstDcls
371         TcMType
372         TcValidity
373         TcMatches
374         TcPat
375         TcRnDriver
376         TcRnMonad
377         TcRnTypes
378         TcRules
379         TcSimplify
380         TcErrors
381         TcTyClsDecls
382         TcTyDecls
383         TcType
384         TcEvidence
385         TcUnify
386         TcInteract
387         TcCanonical
388         TcSMonad
389         TcTypeNats
390         TcSplice
391         Class
392         Coercion
393         FamInstEnv
394         FunDeps
395         InstEnv
396         TyCon
397         CoAxiom
398         Kind
399         Type
400         TypeRep
401         Unify
402         Bag
403         Binary
404         BooleanFormula
405         BufWrite
406         Digraph
407         Encoding
408         FastBool
409         FastFunctions
410         FastMutInt
411         FastString
412         FastTypes
413         Fingerprint
414         FiniteMap
415         GraphBase
416         GraphColor
417         GraphOps
418         GraphPpr
419         IOEnv
420         ListSetOps
421         Maybes
422         MonadUtils
423         OrdList
424         Outputable
425         Pair
426         Panic
427         Pretty
428         Serialized
429         State
430         Stream
431         StringBuffer
432         UniqFM
433         UniqSet
434         Util
435         ExtsCompat46
436 --      ^^^  a temporary module necessary to bootstrap with GHC <= 7.6
437         Vectorise.Builtins.Base
438         Vectorise.Builtins.Initialise
439         Vectorise.Builtins
440         Vectorise.Monad.Base
441         Vectorise.Monad.Naming
442         Vectorise.Monad.Local
443         Vectorise.Monad.Global
444         Vectorise.Monad.InstEnv
445         Vectorise.Monad
446         Vectorise.Utils.Base
447         Vectorise.Utils.Closure
448         Vectorise.Utils.Hoisting
449         Vectorise.Utils.PADict
450         Vectorise.Utils.Poly
451         Vectorise.Utils
452         Vectorise.Generic.Description
453         Vectorise.Generic.PAMethods
454         Vectorise.Generic.PADict
455         Vectorise.Generic.PData
456         Vectorise.Type.Env
457         Vectorise.Type.Type
458         Vectorise.Type.TyConDecl
459         Vectorise.Type.Classify
460         Vectorise.Convert
461         Vectorise.Vect
462         Vectorise.Var
463         Vectorise.Env
464         Vectorise.Exp
465         Vectorise
466         Hoopl.Dataflow
467         Hoopl
468 --        CgInfoTbls used in ghci/DebuggerUtils
469 --        CgHeapery  mkVirtHeapOffsets used in ghci
470
471     Exposed-Modules:
472             AsmCodeGen
473             TargetReg
474             NCGMonad
475             Instruction
476             Size
477             Reg
478             RegClass
479             PIC
480             Platform
481             CPrim
482             X86.Regs
483             X86.RegInfo
484             X86.Instr
485             X86.Cond
486             X86.Ppr
487             X86.CodeGen
488             PPC.Regs
489             PPC.RegInfo
490             PPC.Instr
491             PPC.Cond
492             PPC.Ppr
493             PPC.CodeGen
494             SPARC.Base
495             SPARC.Regs
496             SPARC.Imm
497             SPARC.AddrMode
498             SPARC.Cond
499             SPARC.Instr
500             SPARC.Stack
501             SPARC.ShortcutJump
502             SPARC.Ppr
503             SPARC.CodeGen
504             SPARC.CodeGen.Amode
505             SPARC.CodeGen.Base
506             SPARC.CodeGen.CondCode
507             SPARC.CodeGen.Gen32
508             SPARC.CodeGen.Gen64
509             SPARC.CodeGen.Sanity
510             SPARC.CodeGen.Expand
511             RegAlloc.Liveness
512             RegAlloc.Graph.Main
513             RegAlloc.Graph.Stats
514             RegAlloc.Graph.ArchBase
515             RegAlloc.Graph.ArchX86
516             RegAlloc.Graph.Coalesce
517             RegAlloc.Graph.Spill
518             RegAlloc.Graph.SpillClean
519             RegAlloc.Graph.SpillCost
520             RegAlloc.Graph.TrivColorable
521             RegAlloc.Linear.Main
522             RegAlloc.Linear.JoinToTargets
523             RegAlloc.Linear.State
524             RegAlloc.Linear.Stats
525             RegAlloc.Linear.FreeRegs
526             RegAlloc.Linear.StackMap
527             RegAlloc.Linear.Base
528             RegAlloc.Linear.X86.FreeRegs
529             RegAlloc.Linear.X86_64.FreeRegs
530             RegAlloc.Linear.PPC.FreeRegs
531             RegAlloc.Linear.SPARC.FreeRegs
532
533     if flag(ghci)
534         Exposed-Modules:
535             DsMeta
536             Convert
537             ByteCodeAsm
538             ByteCodeGen
539             ByteCodeInstr
540             ByteCodeItbls
541             ByteCodeLink
542             Debugger
543             LibFFI
544             Linker
545             ObjLink
546             RtClosureInspect
547             DebuggerUtils