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