-- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by -- ./configure. Make sure you are editing ghc.cabal.in, not ghc.cabal. Name: ghc Version: @ProjectVersionMunged@ License: BSD3 License-File: LICENSE Author: The GHC Team Maintainer: glasgow-haskell-users@haskell.org Homepage: http://www.haskell.org/ghc/ Synopsis: The GHC API Description: GHC's functionality can be useful for more things than just compiling Haskell programs. Important use cases are programs that analyse (and perhaps transform) Haskell code. Others include loading Haskell code dynamically in a GHCi-like manner. For this reason, a lot of GHC's functionality is made available through this package. Category: Development Build-Type: Simple Cabal-Version: >=1.10 Flag ghci Description: Build GHCi support. Default: False Manual: True Flag stage1 Description: Is this stage 1? Default: False Manual: True Flag stage2 Description: Is this stage 2? Default: False Manual: True Flag stage3 Description: Is this stage 3? Default: False Manual: True Flag terminfo Description: Build GHC with terminfo support on non-Windows platforms. 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.11 && < 4.15, deepseq >= 1.4 && < 1.5, directory >= 1 && < 1.4, process >= 1 && < 1.7, bytestring >= 0.9 && < 0.11, binary == 0.8.*, time >= 1.4 && < 1.10, containers >= 0.5 && < 0.7, array >= 0.1 && < 0.6, filepath >= 1 && < 1.5, template-haskell == 2.16.*, hpc == 0.6.*, transformers == 0.5.*, ghc-boot == @ProjectVersionMunged@, ghc-boot-th == @ProjectVersionMunged@, ghc-heap == @ProjectVersionMunged@, ghci == @ProjectVersionMunged@ if os(windows) Build-Depends: Win32 >= 2.3 && < 2.7 else if flag(terminfo) Build-Depends: terminfo == 0.4.* Build-Depends: unix >= 2.7 && < 2.9 GHC-Options: -Wall -Wno-name-shadowing -Wnoncanonical-monad-instances -Wnoncanonical-monoid-instances if flag(ghci) CPP-Options: -DHAVE_INTERNAL_INTERPRETER 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 DataKinds DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveTraversable DisambiguateRecordFields ExplicitForAll FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving MagicHash MultiParamTypeClasses NamedFieldPuns NondecreasingIndentation RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving Trustworthy TupleSections TypeFamilies TypeSynonymInstances UnboxedTuples UndecidableInstances Include-Dirs: . utils -- We need to set the unit id to ghc (without a version number) -- as it's magic. GHC-Options: -this-unit-id ghc if flag(stage1) Include-Dirs: stage1 else if flag(stage2) Include-Dirs: stage2 else if flag(stage3) Include-Dirs: stage2 Install-Includes: HsVersions.h c-sources: cbits/cutils.c cbits/genSym.c cbits/keepCAFsForGHCi.c hs-source-dirs: . basicTypes cmm iface main parser prelude profiling simplCore specialise stranal typecheck types utils -- we use an explicit Prelude Default-Extensions: NoImplicitPrelude Exposed-Modules: GHC.Iface.Ext.Types GHC.Iface.Ext.Debug GHC.Iface.Ext.Binary GHC.Iface.Ext.Utils GHC.Iface.Ext.Ast Ar FileCleanup GHC.Driver.Backpack GHC.Driver.Backpack.Syntax GHC.Types.Name.Shape GHC.Iface.Rename Avail AsmUtils BasicTypes ConLike DataCon PatSyn Demand Cpr GHC.Cmm.DebugBlock Exception FieldLabel GHC.Driver.Monad GHC.Driver.Hooks GHC.Driver.Flags GHC.Driver.Ways Id IdInfo Predicate Lexeme Literal GHC.Llvm GHC.Llvm.Syntax GHC.Llvm.MetaData GHC.Llvm.Ppr GHC.Llvm.Types GHC.CmmToLlvm GHC.CmmToLlvm.Base GHC.CmmToLlvm.CodeGen GHC.CmmToLlvm.Data GHC.CmmToLlvm.Ppr GHC.CmmToLlvm.Regs GHC.CmmToLlvm.Mangler MkId Module Name NameEnv NameSet OccName RdrName NameCache SrcLoc UniqSupply Unique UpdateCafInfos Var VarEnv VarSet UnVarGraph GHC.Cmm.BlockId GHC.Cmm.CLabel GHC.Cmm GHC.Cmm.Info.Build GHC.Cmm.Pipeline GHC.Cmm.CallConv GHC.Cmm.CommonBlockElim GHC.Cmm.Switch.Implement GHC.Cmm.ContFlowOpt GHC.Cmm.Expr GHC.Cmm.Info GHC.Cmm.Lexer GHC.Cmm.Lint GHC.Cmm.Liveness GHC.Cmm.MachOp GHC.Cmm.Monad GHC.Cmm.Switch GHC.Cmm.Node GHC.Cmm.Opt GHC.Cmm.Parser GHC.Cmm.ProcPoint GHC.Cmm.Sink GHC.Cmm.Type GHC.Cmm.Utils GHC.Cmm.LayoutStack CliOption EnumSet GhcNameVersion FileSettings GHC.Cmm.Graph GHC.CmmToAsm.Ppr GHC.CmmToC GHC.Cmm.Ppr GHC.Cmm.Ppr.Decl GHC.Cmm.Ppr.Expr GHC.Data.Bitmap GHC.Platform.Regs GHC.Platform.ARM GHC.Platform.ARM64 GHC.Platform.NoRegs GHC.Platform.PPC GHC.Platform.S390X GHC.Platform.SPARC GHC.Platform.X86 GHC.Platform.X86_64 GHC.StgToCmm.CgUtils GHC.StgToCmm GHC.StgToCmm.Bind GHC.StgToCmm.Closure GHC.StgToCmm.DataCon GHC.StgToCmm.Env GHC.StgToCmm.Expr GHC.StgToCmm.Foreign GHC.StgToCmm.Heap GHC.StgToCmm.Hpc GHC.StgToCmm.ArgRep GHC.StgToCmm.Layout GHC.StgToCmm.Monad GHC.StgToCmm.Prim GHC.StgToCmm.Prof GHC.StgToCmm.Ticky GHC.StgToCmm.Utils GHC.StgToCmm.ExtCode GHC.Runtime.Heap.Layout GHC.Core.Arity GHC.Core.FVs GHC.Core.Lint GHC.Core.Subst GHC.Core.SimpleOpt GHC.Core TrieMap GHC.Core.Op.Tidy GHC.Core.Unfold GHC.Core.Utils GHC.Core.Map GHC.Core.Seq GHC.Core.Stats GHC.Core.Make GHC.Core.Ppr GHC.HsToCore.PmCheck.Oracle GHC.HsToCore.PmCheck.Ppr GHC.HsToCore.PmCheck.Types GHC.HsToCore.PmCheck GHC.HsToCore.Coverage GHC.HsToCore GHC.HsToCore.Arrows GHC.HsToCore.Binds GHC.HsToCore.Foreign.Call GHC.HsToCore.Expr GHC.HsToCore.Foreign.Decl GHC.HsToCore.GuardedRHSs GHC.HsToCore.ListComp GHC.HsToCore.Monad GHC.HsToCore.Usage GHC.HsToCore.Utils GHC.HsToCore.Docs GHC.HsToCore.Match GHC.HsToCore.Match.Constructor GHC.HsToCore.Match.Literal GHC.Hs GHC.Hs.Binds GHC.Hs.Decls GHC.Hs.Doc GHC.Hs.Expr GHC.Hs.ImpExp GHC.Hs.Lit GHC.Hs.Extension GHC.Hs.Instances GHC.Hs.Pat GHC.Hs.Types GHC.Hs.Utils GHC.Hs.Dump GHC.Iface.Binary BinFingerprint BuildTyCl GHC.Iface.Env GHC.Iface.Syntax GHC.Iface.Type GHC.CoreToIface GHC.Iface.Load GHC.Iface.Make GHC.Iface.Recomp GHC.IfaceToCore FlagChecker Annotations GHC.Driver.CmdLine GHC.Driver.CodeOutput Config Constants GHC.Driver.MakeFile GHC.Driver.Phases GHC.Driver.Pipeline.Monad GHC.Driver.Pipeline GHC.Driver.Session ErrUtils GHC.Driver.Finder GHC GHC.Driver.Make GHC.Plugins GhcPrelude HeaderInfo GHC.Driver.Main HscStats GHC.Driver.Types GHC.Runtime.Eval GHC.Runtime.Eval.Types GHC.Runtime.Loader UnitInfo GHC.Driver.Packages PlatformConstants GHC.Driver.Plugins TcPluginM GHC.Core.Ppr.TyThing Settings StaticPtrTable SysTools SysTools.BaseDir SysTools.Terminal SysTools.ExtraObj SysTools.Info SysTools.Process SysTools.Tasks SysTools.Settings Elf GHC.Iface.Tidy Ctype HaddockUtils Lexer OptCoercion Parser RdrHsSyn ApiAnnotation ForeignCall KnownUniques PrelInfo PrelNames PrelRules PrimOp ToolSettings TysPrim TysWiredIn CostCentre CostCentreState ProfInit GHC.Rename.Binds GHC.Rename.Env GHC.Rename.Expr GHC.Rename.Doc GHC.Rename.Names GHC.Rename.Pat GHC.Rename.Source GHC.Rename.Splice GHC.Rename.Types GHC.Rename.Fixity GHC.Rename.Utils GHC.Rename.Unbound CoreMonad CSE FloatIn FloatOut LiberateCase OccurAnal SAT SetLevels SimplCore SimplEnv SimplMonad SimplUtils Simplify GHC.Stg.Pipeline GHC.Stg.Stats GHC.Stg.CSE GHC.Stg.Lift GHC.Stg.Lift.Analysis GHC.Stg.Lift.Monad GHC.Stg.Subst GHC.Stg.Unarise GHC.Stg.Lint GHC.Stg.Syntax GHC.Stg.FVs GHC.Stg.DepAnal GHC.CoreToStg GHC.CoreToStg.Prep GHC.Types.RepType GHC.Core.Rules SpecConstr Specialise CallArity DmdAnal CprAnal Exitify WorkWrap WwLib FamInst ClsInst Inst TcAnnotations TcArrows TcBinds TcSigs TcClassDcl TcDefaults TcDeriv TcDerivInfer TcDerivUtils TcEnv TcExpr TcForeign TcGenDeriv TcGenFunctor TcGenGenerics TcHsSyn TcHsType TcInstDcls TcMType TcValidity TcMatches TcPat TcPatSyn TcRnDriver TcBackpack TcRnExports TcRnMonad TcRnTypes Constraint TcOrigin TcRules TcSimplify TcHoleErrors TcHoleFitTypes TcErrors TcTyClsDecls TcTyDecls TcTypeable TcType TcEvidence TcEvTerm TcUnify TcInteract TcCanonical TcFlatten TcSMonad TcTypeNats TcSplice Class Coercion GHC.HsToCore.Quote THNames FamInstEnv FunDeps InstEnv TyCon CoAxiom Type TyCoRep TyCoFVs TyCoSubst TyCoPpr TyCoTidy Unify Bag Binary BooleanFormula BufWrite Digraph Encoding FastFunctions FastMutInt FastString FastStringEnv Fingerprint FiniteMap FV GraphBase GraphColor GraphOps GraphPpr IOEnv Json ListSetOps Maybes MonadUtils OrdList Outputable Pair Panic PlainPanic PprColour Pretty State Stream StringBuffer UniqDFM UniqDSet UniqFM UniqMap UniqSet Util GHC.Cmm.Dataflow GHC.Cmm.Dataflow.Block GHC.Cmm.Dataflow.Collections GHC.Cmm.Dataflow.Graph GHC.Cmm.Dataflow.Label Exposed-Modules: GHC.CmmToAsm GHC.CmmToAsm.Reg.Target GHC.CmmToAsm.Monad GHC.CmmToAsm.Instr GHC.CmmToAsm.BlockLayout GHC.CmmToAsm.CFG GHC.CmmToAsm.CFG.Dominators GHC.CmmToAsm.Format GHC.Platform.Reg GHC.Platform.Reg.Class GHC.CmmToAsm.PIC GHC.CmmToAsm.CPrim GHC.CmmToAsm.X86.Regs GHC.CmmToAsm.X86.RegInfo GHC.CmmToAsm.X86.Instr GHC.CmmToAsm.X86.Cond GHC.CmmToAsm.X86.Ppr GHC.CmmToAsm.X86.CodeGen GHC.CmmToAsm.PPC.Regs GHC.CmmToAsm.PPC.RegInfo GHC.CmmToAsm.PPC.Instr GHC.CmmToAsm.PPC.Cond GHC.CmmToAsm.PPC.Ppr GHC.CmmToAsm.PPC.CodeGen GHC.CmmToAsm.SPARC.Base GHC.CmmToAsm.SPARC.Regs GHC.CmmToAsm.SPARC.Imm GHC.CmmToAsm.SPARC.AddrMode GHC.CmmToAsm.SPARC.Cond GHC.CmmToAsm.SPARC.Instr GHC.CmmToAsm.SPARC.Stack GHC.CmmToAsm.SPARC.ShortcutJump GHC.CmmToAsm.SPARC.Ppr GHC.CmmToAsm.SPARC.CodeGen GHC.CmmToAsm.SPARC.CodeGen.Amode GHC.CmmToAsm.SPARC.CodeGen.Base GHC.CmmToAsm.SPARC.CodeGen.CondCode GHC.CmmToAsm.SPARC.CodeGen.Gen32 GHC.CmmToAsm.SPARC.CodeGen.Gen64 GHC.CmmToAsm.SPARC.CodeGen.Sanity GHC.CmmToAsm.SPARC.CodeGen.Expand GHC.CmmToAsm.Reg.Liveness GHC.CmmToAsm.Reg.Graph GHC.CmmToAsm.Reg.Graph.Stats GHC.CmmToAsm.Reg.Graph.Base GHC.CmmToAsm.Reg.Graph.X86 GHC.CmmToAsm.Reg.Graph.Coalesce GHC.CmmToAsm.Reg.Graph.Spill GHC.CmmToAsm.Reg.Graph.SpillClean GHC.CmmToAsm.Reg.Graph.SpillCost GHC.CmmToAsm.Reg.Graph.TrivColorable GHC.CmmToAsm.Reg.Linear GHC.CmmToAsm.Reg.Linear.JoinToTargets GHC.CmmToAsm.Reg.Linear.State GHC.CmmToAsm.Reg.Linear.Stats GHC.CmmToAsm.Reg.Linear.FreeRegs GHC.CmmToAsm.Reg.Linear.StackMap GHC.CmmToAsm.Reg.Linear.Base GHC.CmmToAsm.Reg.Linear.X86 GHC.CmmToAsm.Reg.Linear.X86_64 GHC.CmmToAsm.Reg.Linear.PPC GHC.CmmToAsm.Reg.Linear.SPARC GHC.CmmToAsm.Dwarf GHC.CmmToAsm.Dwarf.Types GHC.CmmToAsm.Dwarf.Constants GHC.ThToHs GHC.ByteCode.Types GHC.ByteCode.Asm GHC.ByteCode.Instr GHC.ByteCode.InfoTable GHC.ByteCode.Linker GHC.CoreToByteCode GHC.Runtime.Debugger GHC.Runtime.Linker.Types GHC.Runtime.Linker GHC.Runtime.Heap.Inspect GHC.Runtime.Interpreter GHC.Runtime.Interpreter.Types