Some -dynamic-too fixes
[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         PlatformConstants
293         PprTyThing
294         StaticFlags
295         SysTools
296         TidyPgm
297         Ctype
298         HaddockUtils
299         LexCore
300         Lexer
301         OptCoercion
302         Parser
303         ParserCore
304         ParserCoreUtils
305         RdrHsSyn
306         ForeignCall
307         PrelInfo
308         PrelNames
309         PrelRules
310         PrimOp
311         TysPrim
312         TysWiredIn
313         CostCentre
314         ProfInit
315         SCCfinal
316         RnBinds
317         RnEnv
318         RnExpr
319         RnHsDoc
320         RnNames
321         RnPat
322         RnSource
323         RnTypes
324         CoreMonad
325         CSE
326         FloatIn
327         FloatOut
328         LiberateCase
329         OccurAnal
330         SAT
331         SetLevels
332         SimplCore
333         SimplEnv
334         SimplMonad
335         SimplUtils
336         Simplify
337         SimplStg
338         StgStats
339         UnariseStg
340         Rules
341         SpecConstr
342         Specialise
343         CoreToStg
344         StgLint
345         StgSyn
346         DmdAnal
347         WorkWrap
348         WwLib
349         FamInst
350         Inst
351         TcAnnotations
352         TcArrows
353         TcBinds
354         TcClassDcl
355         TcDefaults
356         TcDeriv
357         TcEnv
358         TcExpr
359         TcForeign
360         TcGenDeriv
361         TcGenGenerics
362         TcHsSyn
363         TcHsType
364         TcInstDcls
365         TcMType
366         TcValidity
367         TcMatches
368         TcPat
369         TcRnDriver
370         TcRnMonad
371         TcRnTypes
372         TcRules
373         TcSimplify
374         TcErrors
375         TcTyClsDecls
376         TcTyDecls
377         TcType
378         TcEvidence
379         TcUnify
380         TcInteract
381         TcCanonical
382         TcSMonad
383         Class
384         Coercion
385         FamInstEnv
386         FunDeps
387         InstEnv
388         TyCon
389         CoAxiom
390         Kind
391         Type
392         TypeRep
393         Unify
394         Bag
395         Binary
396         BufWrite
397         Digraph
398         Encoding
399         FastBool
400         FastFunctions
401         FastMutInt
402         FastString
403         FastTypes
404         Fingerprint
405         FiniteMap
406         GraphBase
407         GraphColor
408         GraphOps
409         GraphPpr
410         IOEnv
411         ListSetOps
412         Maybes
413         MonadUtils
414         OrdList
415         Outputable
416         Pair
417         Panic
418         Pretty
419         Serialized
420         State
421         Stream
422         StringBuffer
423         UniqFM
424         UniqSet
425         Util
426         Vectorise.Builtins.Base
427         Vectorise.Builtins.Initialise
428         Vectorise.Builtins
429         Vectorise.Monad.Base
430         Vectorise.Monad.Naming
431         Vectorise.Monad.Local
432         Vectorise.Monad.Global
433         Vectorise.Monad.InstEnv
434         Vectorise.Monad
435         Vectorise.Utils.Base
436         Vectorise.Utils.Closure
437         Vectorise.Utils.Hoisting
438         Vectorise.Utils.PADict
439         Vectorise.Utils.Poly
440         Vectorise.Utils
441         Vectorise.Generic.Description
442         Vectorise.Generic.PAMethods
443         Vectorise.Generic.PADict
444         Vectorise.Generic.PData
445         Vectorise.Type.Env
446         Vectorise.Type.Type
447         Vectorise.Type.TyConDecl
448         Vectorise.Type.Classify
449         Vectorise.Convert
450         Vectorise.Vect
451         Vectorise.Var
452         Vectorise.Env
453         Vectorise.Exp
454         Vectorise
455         Hoopl.Dataflow
456         Hoopl
457
458 --        CgInfoTbls used in ghci/DebuggerUtils
459 --        CgHeapery  mkVirtHeapOffsets used in ghci
460
461     Exposed-Modules:
462             AsmCodeGen
463             TargetReg
464             NCGMonad
465             Instruction
466             Size
467             Reg
468             RegClass
469             PIC
470             Platform
471             CPrim
472             X86.Regs
473             X86.RegInfo
474             X86.Instr
475             X86.Cond
476             X86.Ppr
477             X86.CodeGen
478             PPC.Regs
479             PPC.RegInfo
480             PPC.Instr
481             PPC.Cond
482             PPC.Ppr
483             PPC.CodeGen
484             SPARC.Base
485             SPARC.Regs
486             SPARC.Imm
487             SPARC.AddrMode
488             SPARC.Cond
489             SPARC.Instr
490             SPARC.Stack
491             SPARC.ShortcutJump
492             SPARC.Ppr
493             SPARC.CodeGen
494             SPARC.CodeGen.Amode
495             SPARC.CodeGen.Base
496             SPARC.CodeGen.CondCode
497             SPARC.CodeGen.Gen32
498             SPARC.CodeGen.Gen64
499             SPARC.CodeGen.Sanity
500             SPARC.CodeGen.Expand
501             RegAlloc.Liveness
502             RegAlloc.Graph.Main
503             RegAlloc.Graph.Stats
504             RegAlloc.Graph.ArchBase
505             RegAlloc.Graph.ArchX86
506             RegAlloc.Graph.Coalesce
507             RegAlloc.Graph.Spill
508             RegAlloc.Graph.SpillClean
509             RegAlloc.Graph.SpillCost
510             RegAlloc.Graph.TrivColorable
511             RegAlloc.Linear.Main
512             RegAlloc.Linear.JoinToTargets
513             RegAlloc.Linear.State
514             RegAlloc.Linear.Stats
515             RegAlloc.Linear.FreeRegs
516             RegAlloc.Linear.StackMap
517             RegAlloc.Linear.Base
518             RegAlloc.Linear.X86.FreeRegs
519             RegAlloc.Linear.X86_64.FreeRegs
520             RegAlloc.Linear.PPC.FreeRegs
521             RegAlloc.Linear.SPARC.FreeRegs
522
523     if flag(ghci)
524         Exposed-Modules:
525             DsMeta
526             TcSplice
527             Convert
528             ByteCodeAsm
529             ByteCodeGen
530             ByteCodeInstr
531             ByteCodeItbls
532             ByteCodeLink
533             Debugger
534             LibFFI
535             Linker
536             ObjLink
537             RtClosureInspect
538             DebuggerUtils