-- 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.17.*, 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: . iface main parser prelude typecheck 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 GHC.Types.Avail AsmUtils GHC.Types.Basic GHC.Core.ConLike GHC.Core.DataCon GHC.Core.PatSyn GHC.Types.Demand GHC.Types.Cpr GHC.Cmm.DebugBlock Exception GHC.Types.FieldLabel GHC.Driver.Monad GHC.Driver.Hooks GHC.Driver.Flags GHC.Driver.Ways GHC.Types.Id GHC.Types.Id.Info GHC.Core.Predicate GHC.Utils.Lexeme GHC.Types.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 GHC.Types.Id.Make GHC.Types.Module GHC.Types.Name GHC.Types.Name.Env GHC.Types.Name.Set GHC.Types.Name.Occurrence GHC.Types.Name.Reader GHC.Types.Name.Cache GHC.Types.SrcLoc GHC.Types.Unique.Supply GHC.Types.Unique UpdateCafInfos GHC.Types.Var GHC.Types.Var.Env GHC.Types.Var.Set 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.CmmToAsm.Config 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 GHC.Tc.TyCl.Build GHC.Iface.Env GHC.Iface.Syntax GHC.Iface.Type GHC.CoreToIface GHC.Iface.Load GHC.Iface.Make GHC.Iface.Recomp GHC.IfaceToCore FlagChecker GHC.Types.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 GHC.Tc.Plugin 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 GHC.Core.Coercion.Opt Parser RdrHsSyn ApiAnnotation GHC.Types.ForeignCall KnownUniques PrelInfo PrelNames GHC.Core.Op.ConstantFold PrimOp ToolSettings TysPrim TysWiredIn GHC.Types.CostCentre GHC.Types.CostCentre.State GHC.Rename.Bind GHC.Rename.Env GHC.Rename.Expr GHC.Rename.Doc GHC.Rename.Names GHC.Rename.Pat GHC.Rename.Module GHC.Rename.Splice GHC.Rename.HsType GHC.Rename.Fixity GHC.Rename.Utils GHC.Rename.Unbound GHC.Core.Op.Monad GHC.Core.Op.CSE GHC.Core.Op.FloatIn GHC.Core.Op.FloatOut GHC.Core.Op.LiberateCase GHC.Core.Op.OccurAnal GHC.Core.Op.StaticArgs GHC.Core.Op.SetLevels GHC.Core.Op.Simplify.Driver GHC.Core.Op.Simplify.Env GHC.Core.Op.Simplify.Monad GHC.Core.Op.Simplify.Utils GHC.Core.Op.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 GHC.Core.Op.SpecConstr GHC.Core.Op.Specialise GHC.Core.Op.CallArity GHC.Core.Op.DmdAnal GHC.Core.Op.CprAnal GHC.Core.Op.Exitify GHC.Core.Op.WorkWrap GHC.Core.Op.WorkWrap.Lib GHC.Tc.Instance.Family GHC.Tc.Instance.Class GHC.Tc.Utils.Instantiate GHC.Tc.Gen.Annotation GHC.Tc.Gen.Arrow GHC.Tc.Gen.Bind GHC.Tc.Gen.Sig GHC.Tc.TyCl.Class GHC.Tc.Gen.Default GHC.Tc.Deriv GHC.Tc.Deriv.Infer GHC.Tc.Deriv.Utils GHC.Tc.Utils.Env GHC.Tc.Gen.Expr GHC.Tc.Gen.Foreign GHC.Tc.Deriv.Generate GHC.Tc.Deriv.Functor GHC.Tc.Deriv.Generics GHC.Tc.Utils.Zonk GHC.Tc.Utils.TcType GHC.Tc.TyCl.Instance GHC.Tc.Utils.TcMType GHC.Tc.Validity GHC.Tc.Gen.Match GHC.Tc.Gen.Pat GHC.Tc.TyCl.PatSyn GHC.Tc.Module GHC.Tc.Utils.Backpack GHC.Tc.Gen.Export GHC.Tc.Utils.Monad GHC.Tc.Types GHC.Tc.Types.Constraint GHC.Tc.Types.Origin GHC.Tc.Gen.Rule GHC.Tc.Errors.Hole GHC.Tc.Errors.Hole.FitTypes GHC.Tc.Errors GHC.Tc.TyCl GHC.Tc.TyCl.Utils GHC.Tc.Instance.Typeable GHC.Tc.Gen.HsType GHC.Tc.Types.Evidence GHC.Tc.Types.EvTerm GHC.Tc.Utils.Unify GHC.Tc.Solver GHC.Tc.Solver.Interact GHC.Tc.Solver.Canonical GHC.Tc.Solver.Flatten GHC.Tc.Solver.Monad TcTypeNats GHC.Tc.Gen.Splice GHC.Core.Class GHC.Core.Coercion GHC.HsToCore.Quote THNames GHC.Core.FamInstEnv GHC.Tc.Instance.FunDeps GHC.Core.InstEnv GHC.Core.TyCon GHC.Core.Coercion.Axiom GHC.Core.Type GHC.Core.TyCo.Rep GHC.Core.TyCo.FVs GHC.Core.TyCo.Subst GHC.Core.TyCo.Ppr GHC.Core.TyCo.Tidy GHC.Core.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 GHC.Types.Unique.DFM GHC.Types.Unique.DSet GHC.Types.Unique.FM GHC.Types.Unique.Set 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