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