Bump unix submodule to version 2.8.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 && < 2.9
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         HsInstances
324         HsPat
325         HsSyn
326         HsTypes
327         HsUtils
328         HsDumpAst
329         BinIface
330         BinFingerprint
331         BuildTyCl
332         IfaceEnv
333         IfaceSyn
334         IfaceType
335         ToIface
336         LoadIface
337         MkIface
338         TcIface
339         FlagChecker
340         Annotations
341         CmdLineParser
342         CodeOutput
343         Config
344         Constants
345         DriverMkDepend
346         DriverPhases
347         PipelineMonad
348         DriverPipeline
349         DynFlags
350         ErrUtils
351         Finder
352         GHC
353         GhcMake
354         GhcPlugins
355         DynamicLoading
356         HeaderInfo
357         HscMain
358         HscStats
359         HscTypes
360         InteractiveEval
361         InteractiveEvalTypes
362         PackageConfig
363         Packages
364         PlatformConstants
365         Plugins
366         TcPluginM
367         PprTyThing
368         StaticPtrTable
369         SysTools
370         SysTools.BaseDir
371         SysTools.Terminal
372         SysTools.ExtraObj
373         SysTools.Info
374         SysTools.Process
375         SysTools.Tasks
376         Elf
377         TidyPgm
378         Ctype
379         HaddockUtils
380         Lexer
381         OptCoercion
382         Parser
383         RdrHsSyn
384         ApiAnnotation
385         ForeignCall
386         KnownUniques
387         PrelInfo
388         PrelNames
389         PrelRules
390         PrimOp
391         TysPrim
392         TysWiredIn
393         CostCentre
394         CostCentreState
395         ProfInit
396         RnBinds
397         RnEnv
398         RnExpr
399         RnHsDoc
400         RnNames
401         RnPat
402         RnSource
403         RnSplice
404         RnTypes
405         RnFixity
406         RnUtils
407         RnUnbound
408         CoreMonad
409         CSE
410         FloatIn
411         FloatOut
412         LiberateCase
413         OccurAnal
414         SAT
415         SetLevels
416         SimplCore
417         SimplEnv
418         SimplMonad
419         SimplUtils
420         Simplify
421         SimplStg
422         StgStats
423         StgCse
424         UnariseStg
425         RepType
426         Rules
427         SpecConstr
428         Specialise
429         CoreToStg
430         StgLint
431         StgSyn
432         CallArity
433         DmdAnal
434         Exitify
435         WorkWrap
436         WwLib
437         FamInst
438         Inst
439         TcAnnotations
440         TcArrows
441         TcBinds
442         TcSigs
443         TcClassDcl
444         TcDefaults
445         TcDeriv
446         TcDerivInfer
447         TcDerivUtils
448         TcEnv
449         TcExpr
450         TcForeign
451         TcGenDeriv
452         TcGenFunctor
453         TcGenGenerics
454         TcHsSyn
455         TcHsType
456         TcInstDcls
457         TcMType
458         TcValidity
459         TcMatches
460         TcPat
461         TcPatSyn
462         TcRnDriver
463         TcBackpack
464         TcRnExports
465         TcRnMonad
466         TcRnTypes
467         TcRules
468         TcSimplify
469         TcErrors
470         TcTyClsDecls
471         TcTyDecls
472         TcTypeable
473         TcType
474         TcEvidence
475         TcEvTerm
476         TcUnify
477         TcInteract
478         TcCanonical
479         TcFlatten
480         TcSMonad
481         TcTypeNats
482         TcSplice
483         Class
484         Coercion
485         DsMeta
486         THNames
487         FamInstEnv
488         FunDeps
489         InstEnv
490         TyCon
491         CoAxiom
492         Kind
493         Type
494         TyCoRep
495         Unify
496         Bag
497         Binary
498         BooleanFormula
499         BufWrite
500         Digraph
501         Encoding
502         FastFunctions
503         FastMutInt
504         FastString
505         FastStringEnv
506         Fingerprint
507         FiniteMap
508         FV
509         GraphBase
510         GraphColor
511         GraphOps
512         GraphPpr
513         IOEnv
514         Json
515         ListSetOps
516         ListT
517         Maybes
518         MonadUtils
519         OrdList
520         Outputable
521         Pair
522         Panic
523         PprColour
524         Pretty
525         State
526         Stream
527         StringBuffer
528         UniqDFM
529         UniqDSet
530         UniqFM
531         UniqMap
532         UniqSet
533         Util
534         Vectorise.Builtins.Base
535         Vectorise.Builtins.Initialise
536         Vectorise.Builtins
537         Vectorise.Monad.Base
538         Vectorise.Monad.Naming
539         Vectorise.Monad.Local
540         Vectorise.Monad.Global
541         Vectorise.Monad.InstEnv
542         Vectorise.Monad
543         Vectorise.Utils.Base
544         Vectorise.Utils.Closure
545         Vectorise.Utils.Hoisting
546         Vectorise.Utils.PADict
547         Vectorise.Utils.Poly
548         Vectorise.Utils
549         Vectorise.Generic.Description
550         Vectorise.Generic.PAMethods
551         Vectorise.Generic.PADict
552         Vectorise.Generic.PData
553         Vectorise.Type.Env
554         Vectorise.Type.Type
555         Vectorise.Type.TyConDecl
556         Vectorise.Type.Classify
557         Vectorise.Convert
558         Vectorise.Vect
559         Vectorise.Var
560         Vectorise.Env
561         Vectorise.Exp
562         Vectorise
563         Hoopl.Block
564         Hoopl.Collections
565         Hoopl.Dataflow
566         Hoopl.Graph
567         Hoopl.Label
568 --        CgInfoTbls used in ghci/DebuggerUtils
569 --        CgHeapery  mkVirtHeapOffsets used in ghci
570
571     Exposed-Modules:
572             AsmCodeGen
573             TargetReg
574             NCGMonad
575             Instruction
576             Format
577             Reg
578             RegClass
579             PIC
580             Platform
581             CPrim
582             X86.Regs
583             X86.RegInfo
584             X86.Instr
585             X86.Cond
586             X86.Ppr
587             X86.CodeGen
588             PPC.Regs
589             PPC.RegInfo
590             PPC.Instr
591             PPC.Cond
592             PPC.Ppr
593             PPC.CodeGen
594             SPARC.Base
595             SPARC.Regs
596             SPARC.Imm
597             SPARC.AddrMode
598             SPARC.Cond
599             SPARC.Instr
600             SPARC.Stack
601             SPARC.ShortcutJump
602             SPARC.Ppr
603             SPARC.CodeGen
604             SPARC.CodeGen.Amode
605             SPARC.CodeGen.Base
606             SPARC.CodeGen.CondCode
607             SPARC.CodeGen.Gen32
608             SPARC.CodeGen.Gen64
609             SPARC.CodeGen.Sanity
610             SPARC.CodeGen.Expand
611             RegAlloc.Liveness
612             RegAlloc.Graph.Main
613             RegAlloc.Graph.Stats
614             RegAlloc.Graph.ArchBase
615             RegAlloc.Graph.ArchX86
616             RegAlloc.Graph.Coalesce
617             RegAlloc.Graph.Spill
618             RegAlloc.Graph.SpillClean
619             RegAlloc.Graph.SpillCost
620             RegAlloc.Graph.TrivColorable
621             RegAlloc.Linear.Main
622             RegAlloc.Linear.JoinToTargets
623             RegAlloc.Linear.State
624             RegAlloc.Linear.Stats
625             RegAlloc.Linear.FreeRegs
626             RegAlloc.Linear.StackMap
627             RegAlloc.Linear.Base
628             RegAlloc.Linear.X86.FreeRegs
629             RegAlloc.Linear.X86_64.FreeRegs
630             RegAlloc.Linear.PPC.FreeRegs
631             RegAlloc.Linear.SPARC.FreeRegs
632             Dwarf
633             Dwarf.Types
634             Dwarf.Constants
635             Convert
636             ByteCodeTypes
637             ByteCodeAsm
638             ByteCodeGen
639             ByteCodeInstr
640             ByteCodeItbls
641             ByteCodeLink
642             Debugger
643             Linker
644             RtClosureInspect
645             DebuggerUtils
646             GHCi