Use haskeline, rather than editline, for line editing in ghci
[ghc-hetmet.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
22
23 Flag base4
24     Description: Choose the even newer, even smaller, split-up base package.
25
26 Flag base3
27     Description: Choose the new smaller, split-up base package.
28
29 Flag dynlibs
30     Description: Dynamic library support
31     Default: False
32     Manual: True
33
34 Flag ghci
35     Description: Build GHCi support.
36     Default: False
37     Manual: True
38
39 Flag ncg
40     Description: Build the NCG.
41     Default: False
42     Manual: True
43
44 Flag stage1
45     Description: Is this stage 1?
46     Default: False
47
48 Flag stage2
49     Description: Is this stage 2?
50     Default: False
51
52 Flag stage3
53     Description: Is this stage 3?
54     Default: False
55
56 Library
57     Exposed: False
58
59     if flag(base4)
60         Build-Depends: base       >= 4   && < 5
61     if flag(base3)
62         Build-Depends: base       >= 3   && < 4
63     if !flag(base3) && !flag(base4)
64         Build-Depends: base       < 3
65
66     if flag(base3) || flag(base4)
67         Build-Depends: directory  >= 1   && < 1.1,
68                        process    >= 1   && < 1.1,
69                        bytestring >= 0.9 && < 0.10,
70                        old-time   >= 1   && < 1.1,
71                        containers >= 0.1 && < 0.3,
72                        array      >= 0.1 && < 0.3
73
74     Build-Depends: filepath >= 1 && < 1.2
75     Build-Depends: haskell98, Cabal, hpc
76     if os(windows)
77         Build-Depends: Win32
78     else
79         Build-Depends: unix
80
81     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
82
83     if flag(ghci)
84         Build-Depends: template-haskell
85         CPP-Options: -DGHCI
86         Include-Dirs: ../libffi/build/include
87
88     if !flag(ncg)
89         CPP-Options: -DOMIT_NATIVE_CODEGEN
90
91     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
92     -- able to find WCsubst.h
93     Include-Dirs: ../libraries/base/cbits, ../libraries/base/include
94
95     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
96                 ForeignFunctionInterface, EmptyDataDecls,
97                 TypeSynonymInstances, MultiParamTypeClasses,
98                 FlexibleInstances, Rank2Types, ScopedTypeVariables,
99                 DeriveDataTypeable, RelaxedPolyRec
100
101     Include-Dirs: . parser utils
102
103     if flag(stage1)
104         Include-Dirs: stage1
105         if impl(ghc < 6.9)
106             Build-Depends: extensible-exceptions
107             Extensions: PatternSignatures
108     else
109         if flag(stage2)
110             Include-Dirs: stage2
111         else
112             if flag(stage3)
113                 Include-Dirs: stage2
114
115     Install-Includes: HsVersions.h, ghc_boot_platform.h
116
117     c-sources:
118         parser/cutils.c
119         utils/md5.c
120
121     if flag(dynlibs)
122         c-sources:
123             ghci/keepCAFsForGHCi.c
124
125     hs-source-dirs:
126         basicTypes
127         cmm
128         codeGen
129         coreSyn
130         cprAnalysis
131         deSugar
132         ghci
133         hsSyn
134         iface
135         main
136         parser
137         prelude
138         profiling
139         rename
140         simplCore
141         simplStg
142         specialise
143         stgSyn
144         stranal
145         typecheck
146         types
147         utils
148         vectorise
149
150     Exposed-Modules:
151         BasicTypes
152         DataCon
153         Demand
154         Exception
155         Id
156         IdInfo
157         Literal
158         MkId
159         Module
160         Name
161         NameEnv
162         NameSet
163         NewDemand
164         OccName
165         RdrName
166         SrcLoc
167         UniqSupply
168         Unique
169         Var
170         VarEnv
171         VarSet
172         BlockId
173         CLabel
174         Cmm
175         CmmBrokenBlock
176         CmmBuildInfoTables
177         CmmCPS
178         CmmCPSGen
179         CmmCPSZ
180         CmmCallConv
181         CmmCommonBlockElimZ
182         CmmContFlowOpt
183         CmmCvt
184         CmmExpr
185         CmmInfo
186         CmmLex
187         CmmLint
188         CmmLive
189         CmmLiveZ
190         CmmOpt
191         CmmParse
192         CmmProcPoint
193         CmmProcPointZ
194         CmmSpillReload
195         CmmStackLayout
196         CmmTx
197         CmmUtils
198         CmmZipUtil
199         DFMonad
200         Dataflow
201         MkZipCfg
202         MkZipCfgCmm
203         OptimizationFuel
204         PprC
205         PprCmm
206         PprCmmZ
207         StackColor
208         StackPlacements
209         ZipCfg
210         ZipCfgCmmRep
211         ZipCfgExtras
212         ZipDataflow
213         Bitmap
214         CgBindery
215         CgCallConv
216         CgCase
217         CgClosure
218         CgCon
219         CgExpr
220         CgForeignCall
221         CgHeapery
222         CgHpc
223         CgInfoTbls
224         CgLetNoEscape
225         CgMonad
226         CgParallel
227         CgPrimOp
228         CgProf
229         CgStackery
230         CgTailCall
231         CgTicky
232         CgUtils
233         StgCmm
234         StgCmmBind
235         StgCmmClosure
236         StgCmmCon
237         StgCmmEnv
238         StgCmmExpr
239         StgCmmForeign
240         StgCmmGran
241         StgCmmHeap
242         StgCmmHpc
243         StgCmmLayout
244         StgCmmMonad
245         StgCmmPrim
246         StgCmmProf
247         StgCmmTicky
248         StgCmmUtils
249         ClosureInfo
250         CodeGen
251         SMRep
252         CoreArity
253         CoreFVs
254         CoreLint
255         CorePrep
256         CoreSubst
257         CoreSyn
258         CoreTidy
259         CoreUnfold
260         CoreUtils
261         ExternalCore
262         MkCore
263         MkExternalCore
264         PprCore
265         PprExternalCore
266         CprAnalyse
267         Check
268         Coverage
269         Desugar
270         DsArrows
271         DsBinds
272         DsCCall
273         DsExpr
274         DsForeign
275         DsGRHSs
276         DsListComp
277         DsMonad
278         DsUtils
279         Match
280         MatchCon
281         MatchLit
282         HsBinds
283         HsDecls
284         HsDoc
285         HsExpr
286         HsImpExp
287         HsLit
288         HsPat
289         HsSyn
290         HsTypes
291         HsUtils
292         BinIface
293         BuildTyCl
294         IfaceEnv
295         IfaceSyn
296         IfaceType
297         LoadIface
298         MkIface
299         TcIface
300         Annotations
301         BreakArray
302         CmdLineParser
303         CodeOutput
304         Config
305         Constants
306         DriverMkDepend
307         DriverPhases
308         DriverPipeline
309         DynFlags
310         ErrUtils
311         Finder
312         GHC
313         HeaderInfo
314         HscMain
315         HscStats
316         HscTypes
317         InteractiveEval
318         PackageConfig
319         Packages
320         ParsePkgConf
321         PprTyThing
322         StaticFlags
323         StaticFlagParser
324         SysTools
325         TidyPgm
326         Ctype
327         HaddockLex
328         HaddockParse
329         HaddockUtils
330         LexCore
331         Lexer
332         Parser
333         ParserCore
334         ParserCoreUtils
335         RdrHsSyn
336         ForeignCall
337         PrelInfo
338         PrelNames
339         PrelRules
340         PrimOp
341         TysPrim
342         TysWiredIn
343         CostCentre
344         SCCfinal
345         RnBinds
346         RnEnv
347         RnExpr
348         RnHsDoc
349         RnHsSyn
350         RnNames
351         RnPat
352         RnSource
353         RnTypes
354         CoreMonad
355         CSE
356         FloatIn
357         FloatOut
358         LiberateCase
359         OccurAnal
360         SAT
361         SetLevels
362         SimplCore
363         SimplEnv
364         SimplMonad
365         SimplUtils
366         Simplify
367         SRT
368         SimplStg
369         StgStats
370         Rules
371         SpecConstr
372         Specialise
373         CoreToStg
374         StgLint
375         StgSyn
376         DmdAnal
377         SaAbsInt
378         SaLib
379         StrictAnal
380         WorkWrap
381         WwLib
382         FamInst
383         Inst
384         TcAnnotations
385         TcArrows
386         TcBinds
387         TcClassDcl
388         TcDefaults
389         TcDeriv
390         TcEnv
391         TcExpr
392         TcForeign
393         TcGenDeriv
394         TcHsSyn
395         TcHsType
396         TcInstDcls
397         TcMType
398         TcMatches
399         TcPat
400         TcRnDriver
401         TcRnMonad
402         TcRnTypes
403         TcRules
404         TcSimplify
405         TcTyClsDecls
406         TcTyDecls
407         TcTyFuns
408         TcType
409         TcUnify
410         Class
411         Coercion
412         FamInstEnv
413         FunDeps
414         Generics
415         InstEnv
416         TyCon
417         Type
418         TypeRep
419         Unify
420         Bag
421         Binary
422         BufWrite
423         Digraph
424         Encoding
425         FastBool
426         FastFunctions
427         FastMutInt
428         FastString
429         FastTypes
430         Fingerprint
431         FiniteMap
432         GraphBase
433         GraphColor
434         GraphOps
435         GraphPpr
436         IOEnv
437         Interval
438         LazyUniqFM
439         ListSetOps
440         Maybes
441         MonadUtils
442         OrdList
443         Outputable
444         Panic
445         Pretty
446         Serialized
447         State
448         StringBuffer
449         UniqFM
450         UniqSet
451         Util
452         VectBuiltIn
453         VectCore
454         VectMonad
455         VectType
456         VectUtils
457         Vectorise
458
459     if flag(ncg)
460         hs-source-dirs:
461             nativeGen
462
463         Exposed-Modules:
464             AsmCodeGen
465             TargetReg
466             NCGMonad
467             Instruction
468             Size
469             Reg
470             RegClass
471             PprBase
472             PIC
473             Platform
474             Alpha.Regs
475             Alpha.RegInfo
476             Alpha.Instr
477             Alpha.CodeGen
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.RegPlate
493             SPARC.Imm
494             SPARC.AddrMode          
495             SPARC.Cond
496             SPARC.Instr
497             SPARC.Stack    
498             SPARC.ShortcutJump
499             SPARC.Ppr
500             SPARC.CodeGen
501             SPARC.CodeGen.Amode
502             SPARC.CodeGen.Base
503             SPARC.CodeGen.CCall
504             SPARC.CodeGen.CondCode
505             SPARC.CodeGen.Gen32
506             SPARC.CodeGen.Gen64
507             SPARC.CodeGen.Sanity
508             RegAlloc.Liveness
509             RegAlloc.Graph.Main
510             RegAlloc.Graph.Stats
511             RegAlloc.Graph.ArchBase
512             RegAlloc.Graph.ArchX86
513             RegAlloc.Graph.Coalesce
514             RegAlloc.Graph.Spill
515             RegAlloc.Graph.SpillClean
516             RegAlloc.Graph.SpillCost
517             RegAlloc.Graph.TrivColorable
518             RegAlloc.Linear.Main
519             RegAlloc.Linear.JoinToTargets
520             RegAlloc.Linear.State
521             RegAlloc.Linear.Stats
522             RegAlloc.Linear.FreeRegs
523             RegAlloc.Linear.StackMap
524             RegAlloc.Linear.Base
525             RegAlloc.Linear.X86.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             ByteCodeFFI
536             ByteCodeGen
537             ByteCodeInstr
538             ByteCodeItbls
539             ByteCodeLink
540             Debugger
541             LibFFI
542             Linker
543             ObjLink
544             RtClosureInspect
545