Remove the old codegen
[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.3,
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.Platform
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         CgUtils
212         StgCmm
213         StgCmmBind
214         StgCmmClosure
215         StgCmmCon
216         StgCmmEnv
217         StgCmmExpr
218         StgCmmForeign
219         StgCmmGran
220         StgCmmHeap
221         StgCmmHpc
222         StgCmmLayout
223         StgCmmMonad
224         StgCmmPrim
225         StgCmmProf
226         StgCmmTicky
227         StgCmmUtils
228         StgCmmExtCode
229         SMRep
230         CoreArity
231         CoreFVs
232         CoreLint
233         CorePrep
234         CoreSubst
235         CoreSyn
236         TrieMap
237         CoreTidy
238         CoreUnfold
239         CoreUtils
240         ExternalCore
241         MkCore
242         MkExternalCore
243         PprCore
244         PprExternalCore
245         Check
246         Coverage
247         Desugar
248         DsArrows
249         DsBinds
250         DsCCall
251         DsExpr
252         DsForeign
253         DsGRHSs
254         DsListComp
255         DsMonad
256         DsUtils
257         Match
258         MatchCon
259         MatchLit
260         HsBinds
261         HsDecls
262         HsDoc
263         HsExpr
264         HsImpExp
265         HsLit
266         HsPat
267         HsSyn
268         HsTypes
269         HsUtils
270         BinIface
271         BuildTyCl
272         IfaceEnv
273         IfaceSyn
274         IfaceType
275         LoadIface
276         MkIface
277         TcIface
278         FlagChecker
279         Annotations
280         BreakArray
281         CmdLineParser
282         CodeOutput
283         Config
284         Constants
285         DriverMkDepend
286         DriverPhases
287         DriverPipeline
288         DynFlags
289         ErrUtils
290         Finder
291         GHC
292         GhcMake
293         GhcPlugins
294         DynamicLoading
295         HeaderInfo
296         HscMain
297         HscStats
298         HscTypes
299         InteractiveEval
300         PackageConfig
301         Packages
302         PprTyThing
303         StaticFlags
304         StaticFlagParser
305         SysTools
306         TidyPgm
307         Ctype
308         HaddockUtils
309         LexCore
310         Lexer
311         OptCoercion
312         Parser
313         ParserCore
314         ParserCoreUtils
315         RdrHsSyn
316         ForeignCall
317         PrelInfo
318         PrelNames
319         PrelRules
320         PrimOp
321         TysPrim
322         TysWiredIn
323         CostCentre
324         ProfInit
325         SCCfinal
326         RnBinds
327         RnEnv
328         RnExpr
329         RnHsDoc
330         RnNames
331         RnPat
332         RnSource
333         RnTypes
334         CoreMonad
335         CSE
336         FloatIn
337         FloatOut
338         LiberateCase
339         OccurAnal
340         SAT
341         SetLevels
342         SimplCore
343         SimplEnv
344         SimplMonad
345         SimplUtils
346         Simplify
347         SimplStg
348         StgStats
349         UnariseStg
350         Rules
351         SpecConstr
352         Specialise
353         CoreToStg
354         StgLint
355         StgSyn
356         DmdAnal
357         WorkWrap
358         WwLib
359         FamInst
360         Inst
361         TcAnnotations
362         TcArrows
363         TcBinds
364         TcClassDcl
365         TcDefaults
366         TcDeriv
367         TcEnv
368         TcExpr
369         TcForeign
370         TcGenDeriv
371         TcGenGenerics
372         TcHsSyn
373         TcHsType
374         TcInstDcls
375         TcMType
376         TcMatches
377         TcPat
378         TcRnDriver
379         TcRnMonad
380         TcRnTypes
381         TcRules
382         TcSimplify
383         TcErrors
384         TcTyClsDecls
385         TcTyDecls
386         TcType
387         TcEvidence
388         TcUnify
389         TcInteract
390         TcCanonical
391         TcSMonad
392         Class
393         Coercion
394         FamInstEnv
395         FunDeps
396         InstEnv
397         TyCon
398         Kind
399         Type
400         TypeRep
401         Unify
402         Bag
403         Binary
404         BufWrite
405         Digraph
406         Encoding
407         FastBool
408         FastFunctions
409         FastMutInt
410         FastString
411         FastTypes
412         Fingerprint
413         FiniteMap
414         GraphBase
415         GraphColor
416         GraphOps
417         GraphPpr
418         IOEnv
419         ListSetOps
420         Maybes
421         MonadUtils
422         OrdList
423         Outputable
424         Pair
425         Panic
426         Pretty
427         Serialized
428         State
429         Stream
430         StringBuffer
431         UniqFM
432         UniqSet
433         Util
434         Vectorise.Builtins.Base
435         Vectorise.Builtins.Initialise
436         Vectorise.Builtins
437         Vectorise.Monad.Base
438         Vectorise.Monad.Naming
439         Vectorise.Monad.Local
440         Vectorise.Monad.Global
441         Vectorise.Monad.InstEnv
442         Vectorise.Monad
443         Vectorise.Utils.Base
444         Vectorise.Utils.Closure
445         Vectorise.Utils.Hoisting
446         Vectorise.Utils.PADict
447         Vectorise.Utils.Poly
448         Vectorise.Utils
449         Vectorise.Generic.Description
450         Vectorise.Generic.PAMethods
451         Vectorise.Generic.PADict
452         Vectorise.Generic.PData
453         Vectorise.Type.Env
454         Vectorise.Type.Type
455         Vectorise.Type.TyConDecl
456         Vectorise.Type.Classify
457         Vectorise.Convert
458         Vectorise.Vect
459         Vectorise.Var
460         Vectorise.Env
461         Vectorise.Exp
462         Vectorise
463         Hoopl.Dataflow
464         Hoopl
465
466 --        CgInfoTbls used in ghci/DebuggerUtils
467 --        CgHeapery  mkVirtHeapOffsets used in ghci
468
469     Exposed-Modules:
470             AsmCodeGen
471             TargetReg
472             NCGMonad
473             Instruction
474             Size
475             Reg
476             RegClass
477             PIC
478             Platform
479             CPrim
480             X86.Regs
481             X86.RegInfo
482             X86.Instr
483             X86.Cond
484             X86.Ppr
485             X86.CodeGen
486             PPC.Regs
487             PPC.RegInfo
488             PPC.Instr
489             PPC.Cond
490             PPC.Ppr
491             PPC.CodeGen
492             SPARC.Base
493             SPARC.Regs
494             SPARC.Imm
495             SPARC.AddrMode
496             SPARC.Cond
497             SPARC.Instr
498             SPARC.Stack
499             SPARC.ShortcutJump
500             SPARC.Ppr
501             SPARC.CodeGen
502             SPARC.CodeGen.Amode
503             SPARC.CodeGen.Base
504             SPARC.CodeGen.CondCode
505             SPARC.CodeGen.Gen32
506             SPARC.CodeGen.Gen64
507             SPARC.CodeGen.Sanity
508             SPARC.CodeGen.Expand
509             RegAlloc.Liveness
510             RegAlloc.Graph.Main
511             RegAlloc.Graph.Stats
512             RegAlloc.Graph.ArchBase
513             RegAlloc.Graph.ArchX86
514             RegAlloc.Graph.Coalesce
515             RegAlloc.Graph.Spill
516             RegAlloc.Graph.SpillClean
517             RegAlloc.Graph.SpillCost
518             RegAlloc.Graph.TrivColorable
519             RegAlloc.Linear.Main
520             RegAlloc.Linear.JoinToTargets
521             RegAlloc.Linear.State
522             RegAlloc.Linear.Stats
523             RegAlloc.Linear.FreeRegs
524             RegAlloc.Linear.StackMap
525             RegAlloc.Linear.Base
526             RegAlloc.Linear.X86.FreeRegs
527             RegAlloc.Linear.X86_64.FreeRegs
528             RegAlloc.Linear.PPC.FreeRegs
529             RegAlloc.Linear.SPARC.FreeRegs
530
531     if flag(ghci)
532         Exposed-Modules:
533             DsMeta
534             TcSplice
535             Convert
536             ByteCodeAsm
537             ByteCodeGen
538             ByteCodeInstr
539             ByteCodeItbls
540             ByteCodeLink
541             Debugger
542             LibFFI
543             Linker
544             ObjLink
545             RtClosureInspect
546             DebuggerUtils