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