containers: Bump to 0.6.0.1
[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: @ProjectVersionMunged@
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 Flag terminfo
44     Description: Build GHC with terminfo support on non-Windows platforms.
45     Default: True
46     Manual: True
47
48 Library
49     Default-Language: Haskell2010
50     Exposed: False
51
52     Build-Depends: base       >= 4.9 && < 5,
53                    deepseq    >= 1.4 && < 1.5,
54                    directory  >= 1   && < 1.4,
55                    process    >= 1   && < 1.7,
56                    bytestring >= 0.9 && < 0.11,
57                    binary     == 0.8.*,
58                    time       >= 1.4 && < 1.9,
59                    containers >= 0.5 && < 0.7,
60                    array      >= 0.1 && < 0.6,
61                    filepath   >= 1   && < 1.5,
62                    template-haskell == 2.14.*,
63                    hpc        == 0.6.*,
64                    transformers == 0.5.*,
65                    ghc-boot   == @ProjectVersionMunged@,
66                    ghc-boot-th == @ProjectVersionMunged@,
67                    ghc-heap   == @ProjectVersionMunged@,
68                    ghci == @ProjectVersionMunged@
69
70     if os(windows)
71         Build-Depends: Win32  >= 2.3 && < 2.7
72     else
73         if flag(terminfo)
74             Build-Depends: terminfo == 0.4.*
75         Build-Depends: unix   >= 2.7 && < 2.9
76
77     GHC-Options: -Wall
78                  -Wno-name-shadowing
79                  -Wnoncanonical-monad-instances
80                  -Wnoncanonical-monadfail-instances
81                  -Wnoncanonical-monoid-instances
82
83     if flag(ghci)
84         CPP-Options: -DGHCI
85         Include-Dirs: ../rts/dist/build @FFIIncludeDir@
86
87     Other-Extensions:
88         BangPatterns
89         CPP
90         DataKinds
91         DeriveDataTypeable
92         DeriveFoldable
93         DeriveFunctor
94         DeriveTraversable
95         DisambiguateRecordFields
96         ExplicitForAll
97         FlexibleContexts
98         FlexibleInstances
99         GADTs
100         GeneralizedNewtypeDeriving
101         MagicHash
102         MultiParamTypeClasses
103         NamedFieldPuns
104         NondecreasingIndentation
105         RankNTypes
106         RecordWildCards
107         ScopedTypeVariables
108         StandaloneDeriving
109         Trustworthy
110         TupleSections
111         TypeFamilies
112         TypeSynonymInstances
113         UnboxedTuples
114         UndecidableInstances
115
116     Include-Dirs: . parser utils
117
118     -- We need to set the unit id to ghc (without a version number)
119     -- as it's magic.
120     GHC-Options: -this-unit-id ghc
121
122     if flag(stage1)
123         Include-Dirs: stage1
124     else
125         if flag(stage2)
126             Include-Dirs: stage2
127         else
128             if flag(stage3)
129                 Include-Dirs: stage2
130
131     Install-Includes: HsVersions.h, ghc_boot_platform.h
132
133     c-sources:
134         parser/cutils.c
135         ghci/keepCAFsForGHCi.c
136         cbits/genSym.c
137
138     hs-source-dirs:
139         backpack
140         basicTypes
141         cmm
142         codeGen
143         coreSyn
144         deSugar
145         ghci
146         hsSyn
147         iface
148         llvmGen
149         main
150         nativeGen
151         parser
152         prelude
153         profiling
154         rename
155         simplCore
156         simplStg
157         specialise
158         stgSyn
159         stranal
160         typecheck
161         types
162         utils
163
164     -- we use an explicit Prelude
165     Default-Extensions:
166         NoImplicitPrelude
167
168     Other-Modules:
169         GhcPrelude
170
171     Exposed-Modules:
172         Ar
173         FileCleanup
174         DriverBkp
175         BkpSyn
176         NameShape
177         RnModIface
178         Avail
179         AsmUtils
180         BasicTypes
181         ConLike
182         DataCon
183         PatSyn
184         Demand
185         Debug
186         Exception
187         FieldLabel
188         GhcMonad
189         Hooks
190         Id
191         IdInfo
192         Lexeme
193         Literal
194         Llvm
195         Llvm.AbsSyn
196         Llvm.MetaData
197         Llvm.PpLlvm
198         Llvm.Types
199         LlvmCodeGen
200         LlvmCodeGen.Base
201         LlvmCodeGen.CodeGen
202         LlvmCodeGen.Data
203         LlvmCodeGen.Ppr
204         LlvmCodeGen.Regs
205         LlvmMangler
206         MkId
207         Module
208         Name
209         NameEnv
210         NameSet
211         OccName
212         RdrName
213         NameCache
214         SrcLoc
215         UniqSupply
216         Unique
217         Var
218         VarEnv
219         VarSet
220         UnVarGraph
221         BlockId
222         CLabel
223         Cmm
224         CmmBuildInfoTables
225         CmmPipeline
226         CmmCallConv
227         CmmCommonBlockElim
228         CmmImplementSwitchPlans
229         CmmContFlowOpt
230         CmmExpr
231         CmmInfo
232         CmmLex
233         CmmLint
234         CmmLive
235         CmmMachOp
236         CmmMonad
237         CmmSwitch
238         CmmNode
239         CmmOpt
240         CmmParse
241         CmmProcPoint
242         CmmSink
243         CmmType
244         CmmUtils
245         CmmLayoutStack
246         EnumSet
247         MkGraph
248         PprBase
249         PprC
250         PprCmm
251         PprCmmDecl
252         PprCmmExpr
253         Bitmap
254         CodeGen.Platform
255         CodeGen.Platform.ARM
256         CodeGen.Platform.ARM64
257         CodeGen.Platform.NoRegs
258         CodeGen.Platform.PPC
259         CodeGen.Platform.PPC_Darwin
260         CodeGen.Platform.SPARC
261         CodeGen.Platform.X86
262         CodeGen.Platform.X86_64
263         CgUtils
264         StgCmm
265         StgCmmBind
266         StgCmmClosure
267         StgCmmCon
268         StgCmmEnv
269         StgCmmExpr
270         StgCmmForeign
271         StgCmmHeap
272         StgCmmHpc
273         StgCmmArgRep
274         StgCmmLayout
275         StgCmmMonad
276         StgCmmPrim
277         StgCmmProf
278         StgCmmTicky
279         StgCmmUtils
280         StgCmmExtCode
281         SMRep
282         CoreArity
283         CoreFVs
284         CoreLint
285         CorePrep
286         CoreSubst
287         CoreOpt
288         CoreSyn
289         TrieMap
290         CoreTidy
291         CoreUnfold
292         CoreUtils
293         CoreMap
294         CoreSeq
295         CoreStats
296         MkCore
297         PprCore
298         PmExpr
299         TmOracle
300         Check
301         Coverage
302         Desugar
303         DsArrows
304         DsBinds
305         DsCCall
306         DsExpr
307         DsForeign
308         DsGRHSs
309         DsListComp
310         DsMonad
311         DsUsage
312         DsUtils
313         ExtractDocs
314         Match
315         MatchCon
316         MatchLit
317         HsBinds
318         HsDecls
319         HsDoc
320         HsExpr
321         HsImpExp
322         HsLit
323         PlaceHolder
324         HsExtension
325         HsInstances
326         HsPat
327         HsSyn
328         HsTypes
329         HsUtils
330         HsDumpAst
331         BinIface
332         BinFingerprint
333         BuildTyCl
334         IfaceEnv
335         IfaceSyn
336         IfaceType
337         ToIface
338         LoadIface
339         MkIface
340         TcIface
341         FlagChecker
342         Annotations
343         CmdLineParser
344         CodeOutput
345         Config
346         Constants
347         DriverMkDepend
348         DriverPhases
349         PipelineMonad
350         DriverPipeline
351         DynFlags
352         ErrUtils
353         Finder
354         GHC
355         GhcMake
356         GhcPlugins
357         DynamicLoading
358         HeaderInfo
359         HscMain
360         HscStats
361         HscTypes
362         InteractiveEval
363         InteractiveEvalTypes
364         PackageConfig
365         Packages
366         PlatformConstants
367         Plugins
368         TcPluginM
369         PprTyThing
370         StaticPtrTable
371         SysTools
372         SysTools.BaseDir
373         SysTools.Terminal
374         SysTools.ExtraObj
375         SysTools.Info
376         SysTools.Process
377         SysTools.Tasks
378         Elf
379         TidyPgm
380         Ctype
381         HaddockUtils
382         Lexer
383         OptCoercion
384         Parser
385         RdrHsSyn
386         ApiAnnotation
387         ForeignCall
388         KnownUniques
389         PrelInfo
390         PrelNames
391         PrelRules
392         PrimOp
393         TysPrim
394         TysWiredIn
395         CostCentre
396         CostCentreState
397         ProfInit
398         RnBinds
399         RnEnv
400         RnExpr
401         RnHsDoc
402         RnNames
403         RnPat
404         RnSource
405         RnSplice
406         RnTypes
407         RnFixity
408         RnUtils
409         RnUnbound
410         CoreMonad
411         CSE
412         FloatIn
413         FloatOut
414         LiberateCase
415         OccurAnal
416         SAT
417         SetLevels
418         SimplCore
419         SimplEnv
420         SimplMonad
421         SimplUtils
422         Simplify
423         SimplStg
424         StgStats
425         StgCse
426         UnariseStg
427         RepType
428         Rules
429         SpecConstr
430         Specialise
431         CoreToStg
432         StgLint
433         StgSyn
434         CallArity
435         DmdAnal
436         Exitify
437         WorkWrap
438         WwLib
439         FamInst
440         Inst
441         TcAnnotations
442         TcArrows
443         TcBinds
444         TcSigs
445         TcClassDcl
446         TcDefaults
447         TcDeriv
448         TcDerivInfer
449         TcDerivUtils
450         TcEnv
451         TcExpr
452         TcForeign
453         TcGenDeriv
454         TcGenFunctor
455         TcGenGenerics
456         TcHsSyn
457         TcHsType
458         TcInstDcls
459         TcMType
460         TcValidity
461         TcMatches
462         TcPat
463         TcPatSyn
464         TcRnDriver
465         TcBackpack
466         TcRnExports
467         TcRnMonad
468         TcRnTypes
469         TcRules
470         TcSimplify
471         TcHoleErrors
472         TcErrors
473         TcTyClsDecls
474         TcTyDecls
475         TcTypeable
476         TcType
477         TcEvidence
478         TcEvTerm
479         TcUnify
480         TcInteract
481         TcCanonical
482         TcFlatten
483         TcSMonad
484         TcTypeNats
485         TcSplice
486         Class
487         Coercion
488         DsMeta
489         THNames
490         FamInstEnv
491         FunDeps
492         InstEnv
493         TyCon
494         CoAxiom
495         Kind
496         Type
497         TyCoRep
498         Unify
499         Bag
500         Binary
501         BooleanFormula
502         BufWrite
503         Digraph
504         Encoding
505         FastFunctions
506         FastMutInt
507         FastString
508         FastStringEnv
509         Fingerprint
510         FiniteMap
511         FV
512         GraphBase
513         GraphColor
514         GraphOps
515         GraphPpr
516         IOEnv
517         Json
518         ListSetOps
519         ListT
520         Maybes
521         MonadUtils
522         OrdList
523         Outputable
524         Pair
525         Panic
526         PprColour
527         Pretty
528         State
529         Stream
530         StringBuffer
531         UniqDFM
532         UniqDSet
533         UniqFM
534         UniqMap
535         UniqSet
536         Util
537         Hoopl.Block
538         Hoopl.Collections
539         Hoopl.Dataflow
540         Hoopl.Graph
541         Hoopl.Label
542 --        CgInfoTbls used in ghci/DebuggerUtils
543 --        CgHeapery  mkVirtHeapOffsets used in ghci
544
545     Exposed-Modules:
546             AsmCodeGen
547             TargetReg
548             NCGMonad
549             Instruction
550             Format
551             Reg
552             RegClass
553             PIC
554             Platform
555             CPrim
556             X86.Regs
557             X86.RegInfo
558             X86.Instr
559             X86.Cond
560             X86.Ppr
561             X86.CodeGen
562             PPC.Regs
563             PPC.RegInfo
564             PPC.Instr
565             PPC.Cond
566             PPC.Ppr
567             PPC.CodeGen
568             SPARC.Base
569             SPARC.Regs
570             SPARC.Imm
571             SPARC.AddrMode
572             SPARC.Cond
573             SPARC.Instr
574             SPARC.Stack
575             SPARC.ShortcutJump
576             SPARC.Ppr
577             SPARC.CodeGen
578             SPARC.CodeGen.Amode
579             SPARC.CodeGen.Base
580             SPARC.CodeGen.CondCode
581             SPARC.CodeGen.Gen32
582             SPARC.CodeGen.Gen64
583             SPARC.CodeGen.Sanity
584             SPARC.CodeGen.Expand
585             RegAlloc.Liveness
586             RegAlloc.Graph.Main
587             RegAlloc.Graph.Stats
588             RegAlloc.Graph.ArchBase
589             RegAlloc.Graph.ArchX86
590             RegAlloc.Graph.Coalesce
591             RegAlloc.Graph.Spill
592             RegAlloc.Graph.SpillClean
593             RegAlloc.Graph.SpillCost
594             RegAlloc.Graph.TrivColorable
595             RegAlloc.Linear.Main
596             RegAlloc.Linear.JoinToTargets
597             RegAlloc.Linear.State
598             RegAlloc.Linear.Stats
599             RegAlloc.Linear.FreeRegs
600             RegAlloc.Linear.StackMap
601             RegAlloc.Linear.Base
602             RegAlloc.Linear.X86.FreeRegs
603             RegAlloc.Linear.X86_64.FreeRegs
604             RegAlloc.Linear.PPC.FreeRegs
605             RegAlloc.Linear.SPARC.FreeRegs
606             Dwarf
607             Dwarf.Types
608             Dwarf.Constants
609             Convert
610             ByteCodeTypes
611             ByteCodeAsm
612             ByteCodeGen
613             ByteCodeInstr
614             ByteCodeItbls
615             ByteCodeLink
616             Debugger
617             Linker
618             RtClosureInspect
619             GHCi