Set cabal files to default-language:Haskell2010
[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.10
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     Default-Language: Haskell2010
45     Exposed: False
46
47     Build-Depends: base       >= 4   && < 5,
48                    directory  >= 1   && < 1.3,
49                    process    >= 1   && < 1.3,
50                    bytestring >= 0.9 && < 0.11,
51                    time                 < 1.5,
52                    containers >= 0.1 && < 0.6,
53                    array      >= 0.1 && < 0.6,
54                    filepath   >= 1   && < 1.4,
55                    Cabal,
56                    hpc,
57                    transformers
58
59     if flag(stage1) && impl(ghc < 7.5)
60         Build-Depends: old-time   >= 1   && < 1.2
61
62     if os(windows)
63         Build-Depends: Win32
64     else
65         Build-Depends: unix
66
67     GHC-Options: -Wall -fno-warn-name-shadowing
68
69     if flag(ghci)
70         Build-Depends: template-haskell
71         CPP-Options: -DGHCI
72         Include-Dirs: ../rts/dist/build @FFIIncludeDir@
73
74     Build-Depends: bin-package-db
75     Build-Depends: hoopl
76
77     Default-Extensions: CPP, MagicHash, UnboxedTuples
78                 TypeSynonymInstances, MultiParamTypeClasses,
79                 FlexibleInstances, RankNTypes, ScopedTypeVariables,
80                 DeriveDataTypeable, BangPatterns, NondecreasingIndentation
81
82     Include-Dirs: . parser utils
83
84     if flag(stage1)
85         Include-Dirs: stage1
86     else
87         if flag(stage2)
88             Include-Dirs: stage2
89         else
90             if flag(stage3)
91                 Include-Dirs: stage2
92
93     Install-Includes: HsVersions.h, ghc_boot_platform.h
94
95     c-sources:
96         parser/cutils.c
97
98     c-sources:
99         ghci/keepCAFsForGHCi.c
100         cbits/genSym.c
101
102     hs-source-dirs:
103         basicTypes
104         cmm
105         codeGen
106         coreSyn
107         deSugar
108         ghci
109         hsSyn
110         iface
111         llvmGen
112         main
113         nativeGen
114         parser
115         prelude
116         profiling
117         rename
118         simplCore
119         simplStg
120         specialise
121         stgSyn
122         stranal
123         typecheck
124         types
125         utils
126         vectorise
127
128     Exposed-Modules:
129         Avail
130         BasicTypes
131         ConLike
132         DataCon
133         PatSyn
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         UnVarGraph
167         BlockId
168         CLabel
169         Cmm
170         CmmBuildInfoTables
171         CmmPipeline
172         CmmCallConv
173         CmmCommonBlockElim
174         CmmContFlowOpt
175         CmmExpr
176         CmmInfo
177         CmmLex
178         CmmLint
179         CmmLive
180         CmmMachOp
181         CmmNode
182         CmmOpt
183         CmmParse
184         CmmProcPoint
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         MkCore
234         PprCore
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         PipelineMonad
278         DriverPipeline
279         DynFlags
280         ErrUtils
281         Finder
282         GHC
283         GhcMake
284         GhcPlugins
285         DynamicLoading
286         HeaderInfo
287         HscMain
288         HscStats
289         HscTypes
290         InteractiveEval
291         InteractiveEvalTypes
292         PackageConfig
293         Packages
294         PlatformConstants
295         PprTyThing
296         StaticFlags
297         SysTools
298         TidyPgm
299         Ctype
300         HaddockUtils
301         Lexer
302         OptCoercion
303         Parser
304         RdrHsSyn
305         ForeignCall
306         PrelInfo
307         PrelNames
308         PrelRules
309         PrimOp
310         TysPrim
311         TysWiredIn
312         CostCentre
313         ProfInit
314         SCCfinal
315         RnBinds
316         RnEnv
317         RnExpr
318         RnHsDoc
319         RnNames
320         RnPat
321         RnSource
322         RnSplice
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         CallArity
347         DmdAnal
348         WorkWrap
349         WwLib
350         FamInst
351         Inst
352         TcAnnotations
353         TcArrows
354         TcBinds
355         TcClassDcl
356         TcDefaults
357         TcDeriv
358         TcEnv
359         TcExpr
360         TcForeign
361         TcGenDeriv
362         TcGenGenerics
363         TcHsSyn
364         TcHsType
365         TcInstDcls
366         TcMType
367         TcValidity
368         TcMatches
369         TcPat
370         TcPatSyn
371         TcRnDriver
372         TcRnMonad
373         TcRnTypes
374         TcRules
375         TcSimplify
376         TcErrors
377         TcTyClsDecls
378         TcTyDecls
379         TcType
380         TcEvidence
381         TcUnify
382         TcInteract
383         TcCanonical
384         TcSMonad
385         TcTypeNats
386         TcSplice
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             Convert
533             ByteCodeAsm
534             ByteCodeGen
535             ByteCodeInstr
536             ByteCodeItbls
537             ByteCodeLink
538             Debugger
539             LibFFI
540             Linker
541             ObjLink
542             RtClosureInspect
543             DebuggerUtils