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