Bump template-haskell to 2.14.0.0
[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.6,
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                    ghci == @ProjectVersionMunged@
68
69     if os(windows)
70         Build-Depends: Win32  >= 2.3 && < 2.7
71     else
72         if flag(terminfo)
73             Build-Depends: terminfo == 0.4.*
74         Build-Depends: unix   == 2.7.*
75
76     GHC-Options: -Wall
77                  -Wno-name-shadowing
78                  -Wnoncanonical-monad-instances
79                  -Wnoncanonical-monadfail-instances
80                  -Wnoncanonical-monoid-instances
81
82     if flag(ghci)
83         CPP-Options: -DGHCI
84         Include-Dirs: ../rts/dist/build @FFIIncludeDir@
85
86     Other-Extensions:
87         BangPatterns
88         CPP
89         DataKinds
90         DeriveDataTypeable
91         DeriveFoldable
92         DeriveFunctor
93         DeriveTraversable
94         DisambiguateRecordFields
95         ExplicitForAll
96         FlexibleContexts
97         FlexibleInstances
98         GADTs
99         GeneralizedNewtypeDeriving
100         MagicHash
101         MultiParamTypeClasses
102         NamedFieldPuns
103         NondecreasingIndentation
104         RankNTypes
105         RecordWildCards
106         ScopedTypeVariables
107         StandaloneDeriving
108         Trustworthy
109         TupleSections
110         TypeFamilies
111         TypeSynonymInstances
112         UnboxedTuples
113         UndecidableInstances
114
115     Include-Dirs: . parser utils
116
117     -- We need to set the unit id to ghc (without a version number)
118     -- as it's magic.
119     GHC-Options: -this-unit-id ghc
120
121     if flag(stage1)
122         Include-Dirs: stage1
123     else
124         if flag(stage2)
125             Include-Dirs: stage2
126         else
127             if flag(stage3)
128                 Include-Dirs: stage2
129
130     Install-Includes: HsVersions.h, ghc_boot_platform.h
131
132     c-sources:
133         parser/cutils.c
134         ghci/keepCAFsForGHCi.c
135         cbits/genSym.c
136
137     hs-source-dirs:
138         backpack
139         basicTypes
140         cmm
141         codeGen
142         coreSyn
143         deSugar
144         ghci
145         hsSyn
146         iface
147         llvmGen
148         main
149         nativeGen
150         parser
151         prelude
152         profiling
153         rename
154         simplCore
155         simplStg
156         specialise
157         stgSyn
158         stranal
159         typecheck
160         types
161         utils
162         vectorise
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         CoreSeq
294         CoreStats
295         MkCore
296         PprCore
297         PmExpr
298         TmOracle
299         Check
300         Coverage
301         Desugar
302         DsArrows
303         DsBinds
304         DsCCall
305         DsExpr
306         DsForeign
307         DsGRHSs
308         DsListComp
309         DsMonad
310         DsUsage
311         DsUtils
312         Match
313         MatchCon
314         MatchLit
315         HsBinds
316         HsDecls
317         HsDoc
318         HsExpr
319         HsImpExp
320         HsLit
321         PlaceHolder
322         HsExtension
323         HsPat
324         HsSyn
325         HsTypes
326         HsUtils
327         HsDumpAst
328         BinIface
329         BinFingerprint
330         BuildTyCl
331         IfaceEnv
332         IfaceSyn
333         IfaceType
334         ToIface
335         LoadIface
336         MkIface
337         TcIface
338         FlagChecker
339         Annotations
340         CmdLineParser
341         CodeOutput
342         Config
343         Constants
344         DriverMkDepend
345         DriverPhases
346         PipelineMonad
347         DriverPipeline
348         DynFlags
349         ErrUtils
350         Finder
351         GHC
352         GhcMake
353         GhcPlugins
354         DynamicLoading
355         HeaderInfo
356         HscMain
357         HscStats
358         HscTypes
359         InteractiveEval
360         InteractiveEvalTypes
361         PackageConfig
362         Packages
363         PlatformConstants
364         Plugins
365         TcPluginM
366         PprTyThing
367         StaticPtrTable
368         SysTools
369         SysTools.BaseDir
370         SysTools.Terminal
371         SysTools.ExtraObj
372         SysTools.Info
373         SysTools.Process
374         SysTools.Tasks
375         Elf
376         TidyPgm
377         Ctype
378         HaddockUtils
379         Lexer
380         OptCoercion
381         Parser
382         RdrHsSyn
383         ApiAnnotation
384         ForeignCall
385         KnownUniques
386         PrelInfo
387         PrelNames
388         PrelRules
389         PrimOp
390         TysPrim
391         TysWiredIn
392         CostCentre
393         CostCentreState
394         ProfInit
395         RnBinds
396         RnEnv
397         RnExpr
398         RnHsDoc
399         RnNames
400         RnPat
401         RnSource
402         RnSplice
403         RnTypes
404         RnFixity
405         RnUtils
406         RnUnbound
407         CoreMonad
408         CSE
409         FloatIn
410         FloatOut
411         LiberateCase
412         OccurAnal
413         SAT
414         SetLevels
415         SimplCore
416         SimplEnv
417         SimplMonad
418         SimplUtils
419         Simplify
420         SimplStg
421         StgStats
422         StgCse
423         UnariseStg
424         RepType
425         Rules
426         SpecConstr
427         Specialise
428         CoreToStg
429         StgLint
430         StgSyn
431         CallArity
432         DmdAnal
433         Exitify
434         WorkWrap
435         WwLib
436         FamInst
437         Inst
438         TcAnnotations
439         TcArrows
440         TcBinds
441         TcSigs
442         TcClassDcl
443         TcDefaults
444         TcDeriv
445         TcDerivInfer
446         TcDerivUtils
447         TcEnv
448         TcExpr
449         TcForeign
450         TcGenDeriv
451         TcGenFunctor
452         TcGenGenerics
453         TcHsSyn
454         TcHsType
455         TcInstDcls
456         TcMType
457         TcValidity
458         TcMatches
459         TcPat
460         TcPatSyn
461         TcRnDriver
462         TcBackpack
463         TcRnExports
464         TcRnMonad
465         TcRnTypes
466         TcRules
467         TcSimplify
468         TcErrors
469         TcTyClsDecls
470         TcTyDecls
471         TcTypeable
472         TcType
473         TcEvidence
474         TcEvTerm
475         TcUnify
476         TcInteract
477         TcCanonical
478         TcFlatten
479         TcSMonad
480         TcTypeNats
481         TcSplice
482         Class
483         Coercion
484         DsMeta
485         THNames
486         FamInstEnv
487         FunDeps
488         InstEnv
489         TyCon
490         CoAxiom
491         Kind
492         Type
493         TyCoRep
494         Unify
495         Bag
496         Binary
497         BooleanFormula
498         BufWrite
499         Digraph
500         Encoding
501         FastFunctions
502         FastMutInt
503         FastString
504         FastStringEnv
505         Fingerprint
506         FiniteMap
507         FV
508         GraphBase
509         GraphColor
510         GraphOps
511         GraphPpr
512         IOEnv
513         Json
514         ListSetOps
515         ListT
516         Maybes
517         MonadUtils
518         OrdList
519         Outputable
520         Pair
521         Panic
522         PprColour
523         Pretty
524         State
525         Stream
526         StringBuffer
527         UniqDFM
528         UniqDSet
529         UniqFM
530         UniqMap
531         UniqSet
532         Util
533         Vectorise.Builtins.Base
534         Vectorise.Builtins.Initialise
535         Vectorise.Builtins
536         Vectorise.Monad.Base
537         Vectorise.Monad.Naming
538         Vectorise.Monad.Local
539         Vectorise.Monad.Global
540         Vectorise.Monad.InstEnv
541         Vectorise.Monad
542         Vectorise.Utils.Base
543         Vectorise.Utils.Closure
544         Vectorise.Utils.Hoisting
545         Vectorise.Utils.PADict
546         Vectorise.Utils.Poly
547         Vectorise.Utils
548         Vectorise.Generic.Description
549         Vectorise.Generic.PAMethods
550         Vectorise.Generic.PADict
551         Vectorise.Generic.PData
552         Vectorise.Type.Env
553         Vectorise.Type.Type
554         Vectorise.Type.TyConDecl
555         Vectorise.Type.Classify
556         Vectorise.Convert
557         Vectorise.Vect
558         Vectorise.Var
559         Vectorise.Env
560         Vectorise.Exp
561         Vectorise
562         Hoopl.Block
563         Hoopl.Collections
564         Hoopl.Dataflow
565         Hoopl.Graph
566         Hoopl.Label
567 --        CgInfoTbls used in ghci/DebuggerUtils
568 --        CgHeapery  mkVirtHeapOffsets used in ghci
569
570     Exposed-Modules:
571             AsmCodeGen
572             TargetReg
573             NCGMonad
574             Instruction
575             Format
576             Reg
577             RegClass
578             PIC
579             Platform
580             CPrim
581             X86.Regs
582             X86.RegInfo
583             X86.Instr
584             X86.Cond
585             X86.Ppr
586             X86.CodeGen
587             PPC.Regs
588             PPC.RegInfo
589             PPC.Instr
590             PPC.Cond
591             PPC.Ppr
592             PPC.CodeGen
593             SPARC.Base
594             SPARC.Regs
595             SPARC.Imm
596             SPARC.AddrMode
597             SPARC.Cond
598             SPARC.Instr
599             SPARC.Stack
600             SPARC.ShortcutJump
601             SPARC.Ppr
602             SPARC.CodeGen
603             SPARC.CodeGen.Amode
604             SPARC.CodeGen.Base
605             SPARC.CodeGen.CondCode
606             SPARC.CodeGen.Gen32
607             SPARC.CodeGen.Gen64
608             SPARC.CodeGen.Sanity
609             SPARC.CodeGen.Expand
610             RegAlloc.Liveness
611             RegAlloc.Graph.Main
612             RegAlloc.Graph.Stats
613             RegAlloc.Graph.ArchBase
614             RegAlloc.Graph.ArchX86
615             RegAlloc.Graph.Coalesce
616             RegAlloc.Graph.Spill
617             RegAlloc.Graph.SpillClean
618             RegAlloc.Graph.SpillCost
619             RegAlloc.Graph.TrivColorable
620             RegAlloc.Linear.Main
621             RegAlloc.Linear.JoinToTargets
622             RegAlloc.Linear.State
623             RegAlloc.Linear.Stats
624             RegAlloc.Linear.FreeRegs
625             RegAlloc.Linear.StackMap
626             RegAlloc.Linear.Base
627             RegAlloc.Linear.X86.FreeRegs
628             RegAlloc.Linear.X86_64.FreeRegs
629             RegAlloc.Linear.PPC.FreeRegs
630             RegAlloc.Linear.SPARC.FreeRegs
631             Dwarf
632             Dwarf.Types
633             Dwarf.Constants
634             Convert
635             ByteCodeTypes
636             ByteCodeAsm
637             ByteCodeGen
638             ByteCodeInstr
639             ByteCodeItbls
640             ByteCodeLink
641             Debugger
642             Linker
643             RtClosureInspect
644             DebuggerUtils
645             GHCi