Name: ghc
Version: @ProjectVersionMunged@
License: BSD3
-License-File: ../LICENSE
+License-File: LICENSE
Author: The GHC Team
Maintainer: glasgow-haskell-users@haskell.org
Homepage: http://www.haskell.org/ghc/
Default: True
Manual: True
+Flag integer-simple
+ Description: Use integer-simple
+ Manual: True
+ Default: False
+
+Flag integer-gmp
+ Description: Use integer-gmp
+ Manual: True
+ Default: False
+
Library
Default-Language: Haskell2010
Exposed: False
- Build-Depends: base >= 4 && < 5,
+ Build-Depends: base >= 4.11 && < 4.14,
deepseq >= 1.4 && < 1.5,
- directory >= 1 && < 1.3,
- process >= 1 && < 1.5,
+ directory >= 1 && < 1.4,
+ process >= 1 && < 1.7,
bytestring >= 0.9 && < 0.11,
binary == 0.8.*,
- time >= 1.4 && < 1.7,
- containers >= 0.5 && < 0.6,
+ time >= 1.4 && < 1.10,
+ containers >= 0.5 && < 0.7,
array >= 0.1 && < 0.6,
filepath >= 1 && < 1.5,
- template-haskell == 2.12.*,
+ template-haskell == 2.15.*,
hpc == 0.6.*,
transformers == 0.5.*,
ghc-boot == @ProjectVersionMunged@,
ghc-boot-th == @ProjectVersionMunged@,
- hoopl >= 3.10.2 && < 3.11
+ ghc-heap == @ProjectVersionMunged@,
+ ghci == @ProjectVersionMunged@
if os(windows)
- Build-Depends: Win32 == 2.3.*
+ Build-Depends: Win32 >= 2.3 && < 2.7
else
if flag(terminfo)
Build-Depends: terminfo == 0.4.*
- Build-Depends: unix == 2.7.*
-
- if flag(ghci)
- Build-Depends: ghci == @ProjectVersionMunged@
+ Build-Depends: unix >= 2.7 && < 2.9
- GHC-Options: -Wall -fno-warn-name-shadowing
+ GHC-Options: -Wall
+ -Wno-name-shadowing
+ -Wnoncanonical-monad-instances
+ -Wnoncanonical-monadfail-instances
+ -Wnoncanonical-monoid-instances
if flag(ghci)
CPP-Options: -DGHCI
Include-Dirs: ../rts/dist/build @FFIIncludeDir@
+ -- sanity-check to ensure not more than one integer flag is set
+ if flag(integer-gmp) && flag(integer-simple)
+ build-depends: invalid-cabal-flag-settings<0
+
+ -- gmp internals are used by the GHCi debugger if available
+ if flag(integer-gmp)
+ CPP-Options: -DINTEGER_GMP
+ build-depends: integer-gmp >= 1.0.2
+
+ -- simple internals are used by the GHCi debugger if available
+ if flag(integer-simple)
+ CPP-Options: -DINTEGER_SIMPLE
+ build-depends: integer-simple >= 0.1.1.1
+
Other-Extensions:
BangPatterns
CPP
Include-Dirs: . parser utils
-- We need to set the unit id to ghc (without a version number)
- -- as it's magic. But we can't set it for old versions of GHC (e.g.
- -- when bootstrapping) because those versions of GHC don't understand
- -- that GHC is wired-in.
- if impl ( ghc >= 7.11 )
- GHC-Options: -this-unit-id ghc
- else
- if impl( ghc >= 7.9 )
- GHC-Options: -this-package-key ghc
+ -- as it's magic.
+ GHC-Options: -this-unit-id ghc
if flag(stage1)
Include-Dirs: stage1
typecheck
types
utils
- vectorise
+ hieFile
+
+ -- we use an explicit Prelude
+ Default-Extensions:
+ NoImplicitPrelude
+
+ Other-Modules:
+ GhcPrelude
Exposed-Modules:
+ HieTypes
+ HieDebug
+ HieBin
+ HieUtils
+ HieAst
+ Ar
+ FileCleanup
DriverBkp
BkpSyn
NameShape
RnModIface
Avail
+ AsmUtils
BasicTypes
ConLike
DataCon
CmmType
CmmUtils
CmmLayoutStack
+ EnumSet
MkGraph
PprBase
PprC
CodeGen.Platform.ARM64
CodeGen.Platform.NoRegs
CodeGen.Platform.PPC
- CodeGen.Platform.PPC_Darwin
CodeGen.Platform.SPARC
CodeGen.Platform.X86
CodeGen.Platform.X86_64
CoreLint
CorePrep
CoreSubst
+ CoreOpt
CoreSyn
TrieMap
CoreTidy
CoreUnfold
CoreUtils
+ CoreMap
CoreSeq
CoreStats
MkCore
DsGRHSs
DsListComp
DsMonad
+ DsUsage
DsUtils
+ ExtractDocs
Match
MatchCon
MatchLit
HsImpExp
HsLit
PlaceHolder
+ HsExtension
+ HsInstances
HsPat
HsSyn
HsTypes
HsUtils
+ HsDumpAst
BinIface
BinFingerprint
BuildTyCl
Plugins
TcPluginM
PprTyThing
- StaticFlags
StaticPtrTable
SysTools
+ SysTools.BaseDir
+ SysTools.Terminal
+ SysTools.ExtraObj
+ SysTools.Info
+ SysTools.Process
+ SysTools.Tasks
Elf
TidyPgm
Ctype
TysPrim
TysWiredIn
CostCentre
+ CostCentreState
ProfInit
- SCCfinal
RnBinds
RnEnv
RnExpr
RnSource
RnSplice
RnTypes
+ RnFixity
+ RnUtils
+ RnUnbound
CoreMonad
CSE
FloatIn
Simplify
SimplStg
StgStats
+ StgCse
+ StgLiftLams
+ StgLiftLams.Analysis
+ StgLiftLams.LiftM
+ StgLiftLams.Transformation
+ StgSubst
UnariseStg
RepType
Rules
CoreToStg
StgLint
StgSyn
+ StgFVs
CallArity
DmdAnal
+ Exitify
WorkWrap
WwLib
FamInst
+ ClsInst
Inst
TcAnnotations
TcArrows
TcRnTypes
TcRules
TcSimplify
+ TcHoleErrors
TcErrors
TcTyClsDecls
TcTyDecls
TcTypeable
TcType
TcEvidence
+ TcEvTerm
TcUnify
TcInteract
TcCanonical
GraphOps
GraphPpr
IOEnv
+ Json
ListSetOps
+ ListT
Maybes
MonadUtils
OrdList
Outputable
Pair
Panic
+ PprColour
Pretty
State
Stream
UniqDFM
UniqDSet
UniqFM
+ UniqMap
UniqSet
Util
- Vectorise.Builtins.Base
- Vectorise.Builtins.Initialise
- Vectorise.Builtins
- Vectorise.Monad.Base
- Vectorise.Monad.Naming
- Vectorise.Monad.Local
- Vectorise.Monad.Global
- Vectorise.Monad.InstEnv
- Vectorise.Monad
- Vectorise.Utils.Base
- Vectorise.Utils.Closure
- Vectorise.Utils.Hoisting
- Vectorise.Utils.PADict
- Vectorise.Utils.Poly
- Vectorise.Utils
- Vectorise.Generic.Description
- Vectorise.Generic.PAMethods
- Vectorise.Generic.PADict
- Vectorise.Generic.PData
- Vectorise.Type.Env
- Vectorise.Type.Type
- Vectorise.Type.TyConDecl
- Vectorise.Type.Classify
- Vectorise.Convert
- Vectorise.Vect
- Vectorise.Var
- Vectorise.Env
- Vectorise.Exp
- Vectorise
+ Hoopl.Block
+ Hoopl.Collections
Hoopl.Dataflow
- Hoopl
+ Hoopl.Graph
+ Hoopl.Label
-- CgInfoTbls used in ghci/DebuggerUtils
-- CgHeapery mkVirtHeapOffsets used in ghci
TargetReg
NCGMonad
Instruction
+ BlockLayout
+ CFG
Format
Reg
RegClass
Dwarf
Dwarf.Types
Dwarf.Constants
-
- if !flag(stage1)
- -- ghc:Serialized moved to ghc-boot:GHC.Serialized. So for
- -- compatibility with GHC 7.10 and earlier, we reexport it
- -- under the old name.
- reexported-modules:
- ghc-boot:GHC.Serialized as Serialized
-
- if flag(ghci)
- Exposed-Modules:
Convert
ByteCodeTypes
ByteCodeAsm
Debugger
Linker
RtClosureInspect
- DebuggerUtils
GHCi