-- WARNING: ghc.cabal is automatically generated from ghc.cabal.in by -- ./configure. Make sure you are editing ghc.cabal.in, not ghc.cabal. Cabal-Version: 1.22 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. . See for more information. Category: Development Build-Type: Simple extra-source-files: Unique.h CodeGen.Platform.h -- Shared with rts via hard-link at configure time. This is safer -- for Windows, where symlinks don't work out of the box, so we -- can't just commit some in git. Bytecodes.h ClosureTypes.h FunTypes.h MachRegs.h Flag internal-interpreter Description: Build with internal interpreter support. Default: False Manual: True Flag terminfo Description: Build GHC with terminfo support on non-Windows platforms. Default: True Manual: True Flag dynamic-system-linker Description: The system can load dynamic code. This is not the case for musl. Default: True Manual: True Library Default-Language: Haskell2010 Exposed: False Includes: Unique.h -- CodeGen.Platform.h -- invalid as C, skip -- shared with rts via symlink Bytecodes.h ClosureTypes.h FunTypes.h ghc-llvm-version.h Build-Depends: base >= 4.11 && < 4.17, deepseq >= 1.4 && < 1.5, directory >= 1 && < 1.4, process >= 1 && < 1.7, bytestring >= 0.9 && < 0.12, binary == 0.8.*, time >= 1.4 && < 1.12, containers >= 0.6.2.1 && < 0.7, array >= 0.1 && < 0.6, filepath >= 1 && < 1.5, template-haskell == 2.18.*, hpc == 0.6.*, transformers == 0.5.*, exceptions == 0.10.*, parsec, stm, ghc-boot == @ProjectVersionMunged@, ghc-heap == @ProjectVersionMunged@, ghci == @ProjectVersionMunged@ if os(windows) Build-Depends: Win32 >= 2.3 && < 2.13 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(internal-interpreter) CPP-Options: -DHAVE_INTERNAL_INTERPRETER -- if no dynamic system linker is available, don't try DLLs. if flag(dynamic-system-linker) CPP-Options: -DCAN_LOAD_DLL Other-Extensions: CPP DataKinds DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveTraversable DisambiguateRecordFields ExplicitForAll FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving MagicHash MultiParamTypeClasses NamedFieldPuns NondecreasingIndentation RankNTypes RecordWildCards StandaloneDeriving Trustworthy TupleSections TypeFamilies TypeSynonymInstances UnboxedTuples UndecidableInstances Include-Dirs: . -- We need to set the unit id to ghc (without a version number) -- as it's magic. GHC-Options: -this-unit-id ghc c-sources: cbits/cutils.c cbits/genSym.c cbits/keepCAFsForGHCi.c hs-source-dirs: . -- we use an explicit Prelude Default-Extensions: NoImplicitPrelude ,BangPatterns ,ScopedTypeVariables ,MonoLocalBinds Exposed-Modules: GHC GHC.Builtin.Names GHC.Builtin.Names.TH GHC.Builtin.PrimOps GHC.Builtin.Types GHC.Builtin.Types.Literals GHC.Builtin.Types.Prim GHC.Builtin.Uniques GHC.Builtin.Utils GHC.ByteCode.Asm GHC.ByteCode.InfoTable GHC.ByteCode.Instr GHC.ByteCode.Linker GHC.ByteCode.Types GHC.Cmm GHC.Cmm.BlockId GHC.Cmm.CallConv GHC.Cmm.CLabel GHC.Cmm.CommonBlockElim GHC.Cmm.ContFlowOpt GHC.Cmm.Dataflow GHC.Cmm.Dataflow.Block GHC.Cmm.Dataflow.Collections GHC.Cmm.Dataflow.Graph GHC.Cmm.Dataflow.Label GHC.Cmm.DebugBlock GHC.Cmm.Expr GHC.Cmm.Graph GHC.Cmm.Info GHC.Cmm.Info.Build GHC.Cmm.LayoutStack GHC.Cmm.Lexer GHC.Cmm.Lint GHC.Cmm.Liveness GHC.Cmm.MachOp GHC.Cmm.Node GHC.Cmm.Opt GHC.Cmm.Parser GHC.Cmm.Parser.Monad GHC.Cmm.Pipeline GHC.Cmm.Ppr GHC.Cmm.Ppr.Decl GHC.Cmm.Ppr.Expr GHC.Cmm.ProcPoint GHC.Cmm.Sink GHC.Cmm.Switch GHC.Cmm.Switch.Implement GHC.CmmToAsm GHC.Cmm.LRegSet GHC.CmmToAsm.AArch64 GHC.CmmToAsm.AArch64.CodeGen GHC.CmmToAsm.AArch64.Cond GHC.CmmToAsm.AArch64.Instr GHC.CmmToAsm.AArch64.Ppr GHC.CmmToAsm.AArch64.RegInfo GHC.CmmToAsm.AArch64.Regs GHC.CmmToAsm.BlockLayout GHC.CmmToAsm.CFG GHC.CmmToAsm.CFG.Dominators GHC.CmmToAsm.CFG.Weight GHC.CmmToAsm.Config GHC.CmmToAsm.CPrim GHC.CmmToAsm.Dwarf GHC.CmmToAsm.Dwarf.Constants GHC.CmmToAsm.Dwarf.Types GHC.CmmToAsm.Format GHC.CmmToAsm.Instr GHC.CmmToAsm.Monad GHC.CmmToAsm.PIC GHC.CmmToAsm.PPC GHC.CmmToAsm.PPC.CodeGen GHC.CmmToAsm.PPC.Cond GHC.CmmToAsm.PPC.Instr GHC.CmmToAsm.PPC.Ppr GHC.CmmToAsm.PPC.RegInfo GHC.CmmToAsm.PPC.Regs GHC.CmmToAsm.Ppr GHC.CmmToAsm.Reg.Graph GHC.CmmToAsm.Reg.Graph.Base GHC.CmmToAsm.Reg.Graph.Coalesce GHC.CmmToAsm.Reg.Graph.Spill GHC.CmmToAsm.Reg.Graph.SpillClean GHC.CmmToAsm.Reg.Graph.SpillCost GHC.CmmToAsm.Reg.Graph.Stats GHC.CmmToAsm.Reg.Graph.TrivColorable GHC.CmmToAsm.Reg.Graph.X86 GHC.CmmToAsm.Reg.Linear GHC.CmmToAsm.Reg.Linear.AArch64 GHC.CmmToAsm.Reg.Linear.Base GHC.CmmToAsm.Reg.Linear.FreeRegs GHC.CmmToAsm.Reg.Linear.JoinToTargets GHC.CmmToAsm.Reg.Linear.PPC GHC.CmmToAsm.Reg.Linear.SPARC GHC.CmmToAsm.Reg.Linear.StackMap GHC.CmmToAsm.Reg.Linear.State GHC.CmmToAsm.Reg.Linear.Stats GHC.CmmToAsm.Reg.Linear.X86 GHC.CmmToAsm.Reg.Linear.X86_64 GHC.CmmToAsm.Reg.Liveness GHC.CmmToAsm.Reg.Target GHC.CmmToAsm.Reg.Utils GHC.CmmToAsm.SPARC GHC.CmmToAsm.SPARC.AddrMode GHC.CmmToAsm.SPARC.Base GHC.CmmToAsm.SPARC.CodeGen GHC.CmmToAsm.SPARC.CodeGen.Amode GHC.CmmToAsm.SPARC.CodeGen.Base GHC.CmmToAsm.SPARC.CodeGen.CondCode GHC.CmmToAsm.SPARC.CodeGen.Expand GHC.CmmToAsm.SPARC.CodeGen.Gen32 GHC.CmmToAsm.SPARC.CodeGen.Gen64 GHC.CmmToAsm.SPARC.CodeGen.Sanity GHC.CmmToAsm.SPARC.Cond GHC.CmmToAsm.SPARC.Imm GHC.CmmToAsm.SPARC.Instr GHC.CmmToAsm.SPARC.Ppr GHC.CmmToAsm.SPARC.Regs GHC.CmmToAsm.SPARC.ShortcutJump GHC.CmmToAsm.SPARC.Stack GHC.CmmToAsm.Types GHC.CmmToAsm.Utils GHC.CmmToAsm.X86 GHC.CmmToAsm.X86.CodeGen GHC.CmmToAsm.X86.Cond GHC.CmmToAsm.X86.Instr GHC.CmmToAsm.X86.Ppr GHC.CmmToAsm.X86.RegInfo GHC.CmmToAsm.X86.Regs GHC.CmmToC GHC.CmmToLlvm GHC.CmmToLlvm.Base GHC.CmmToLlvm.CodeGen GHC.CmmToLlvm.Data GHC.CmmToLlvm.Mangler GHC.CmmToLlvm.Ppr GHC.CmmToLlvm.Regs GHC.Cmm.Type GHC.Cmm.Utils GHC.Core GHC.Core.Class GHC.Core.Coercion GHC.Core.Coercion.Axiom GHC.Core.Coercion.Opt GHC.Core.ConLike GHC.Core.DataCon GHC.Core.FamInstEnv GHC.Core.FVs GHC.Core.InstEnv GHC.Core.Lint GHC.Core.Make GHC.Core.Map.Expr GHC.Core.Map.Type GHC.Core.Multiplicity GHC.Core.Opt.Arity GHC.Core.Opt.CallArity GHC.Core.Opt.CallerCC GHC.Core.Opt.ConstantFold GHC.Core.Opt.CprAnal GHC.Core.Opt.CSE GHC.Core.Opt.DmdAnal GHC.Core.Opt.Exitify GHC.Core.Opt.FloatIn GHC.Core.Opt.FloatOut GHC.Core.Opt.LiberateCase GHC.Core.Opt.Monad GHC.Core.Opt.OccurAnal GHC.Core.Opt.Pipeline GHC.Core.Opt.SetLevels GHC.Core.Opt.Simplify GHC.Core.Opt.Simplify.Env GHC.Core.Opt.Simplify.Monad GHC.Core.Opt.Simplify.Utils GHC.Core.Opt.SpecConstr GHC.Core.Opt.Specialise GHC.Core.Opt.StaticArgs GHC.Core.Opt.WorkWrap GHC.Core.Opt.WorkWrap.Utils GHC.Core.PatSyn GHC.Core.Ppr GHC.Types.TyThing.Ppr GHC.Core.Predicate GHC.Core.Reduction GHC.Core.Rules GHC.Core.Seq GHC.Core.SimpleOpt GHC.Core.Stats GHC.Core.Subst GHC.Core.Tidy GHC.CoreToIface GHC.CoreToStg GHC.CoreToStg.Prep GHC.Core.TyCo.FVs GHC.Core.TyCon GHC.Core.TyCon.Env GHC.Core.TyCon.RecWalk GHC.Core.TyCon.Set GHC.Core.TyCo.Ppr GHC.Core.TyCo.Rep GHC.Core.TyCo.Subst GHC.Core.TyCo.Tidy GHC.Core.Type GHC.Core.Unfold GHC.Core.Unfold.Make GHC.Core.Unify GHC.Core.UsageEnv GHC.Core.Utils GHC.Data.Bag GHC.Data.Bitmap GHC.Data.Bool GHC.Data.BooleanFormula GHC.Data.EnumSet GHC.Data.FastMutInt GHC.Data.FastString GHC.Data.FastString.Env GHC.Data.FiniteMap GHC.Data.Graph.Base GHC.Data.Graph.Color GHC.Data.Graph.Directed GHC.Data.Graph.Ops GHC.Data.Graph.Ppr GHC.Data.Graph.UnVar GHC.Data.IOEnv GHC.Data.List.SetOps GHC.Data.Maybe GHC.Data.OrdList GHC.Data.Pair GHC.Data.Stream GHC.Data.Strict GHC.Data.StringBuffer GHC.Data.TrieMap GHC.Data.UnionFind GHC.Driver.Backend GHC.Driver.Backpack GHC.Driver.Backpack.Syntax GHC.Driver.CmdLine GHC.Driver.CodeOutput GHC.Driver.Config GHC.Driver.Config.CmmToAsm GHC.Driver.Config.Diagnostic GHC.Driver.Config.Finder GHC.Driver.Config.Logger GHC.Driver.Config.Parser GHC.Driver.Env GHC.Driver.Env.KnotVars GHC.Driver.Env.Types GHC.Driver.Errors GHC.Driver.Errors.Ppr GHC.Driver.Errors.Types GHC.Driver.Flags GHC.Driver.GenerateCgIPEStub GHC.Driver.Hooks GHC.Driver.Main GHC.Driver.Make GHC.Driver.MakeFile GHC.Driver.Monad GHC.Driver.Phases GHC.Driver.Pipeline GHC.Driver.Pipeline.Execute GHC.Driver.Pipeline.LogQueue GHC.Driver.Pipeline.Phases GHC.Driver.Pipeline.Monad GHC.Driver.Plugins GHC.Driver.Ppr GHC.Driver.Session GHC.Hs GHC.Hs.Binds GHC.Hs.Decls GHC.Hs.Doc GHC.Hs.Dump GHC.Hs.Expr GHC.Hs.Syn.Type GHC.Hs.Extension GHC.Hs.ImpExp GHC.Hs.Instances GHC.Hs.Lit GHC.Hs.Pat GHC.Hs.Stats GHC.HsToCore GHC.HsToCore.Arrows GHC.HsToCore.Binds GHC.HsToCore.Coverage GHC.HsToCore.Docs GHC.HsToCore.Errors.Ppr GHC.HsToCore.Errors.Types GHC.HsToCore.Expr GHC.HsToCore.Foreign.Call GHC.HsToCore.Foreign.Decl GHC.HsToCore.GuardedRHSs GHC.HsToCore.ListComp GHC.HsToCore.Match GHC.HsToCore.Match.Constructor GHC.HsToCore.Match.Literal GHC.HsToCore.Monad GHC.HsToCore.Pmc GHC.HsToCore.Pmc.Check GHC.HsToCore.Pmc.Desugar GHC.HsToCore.Pmc.Ppr GHC.HsToCore.Pmc.Solver GHC.HsToCore.Pmc.Solver.Types GHC.HsToCore.Pmc.Types GHC.HsToCore.Pmc.Utils GHC.HsToCore.Quote GHC.HsToCore.Types GHC.HsToCore.Usage GHC.HsToCore.Utils GHC.Hs.Type GHC.Hs.Utils GHC.Iface.Binary GHC.Iface.Env GHC.Iface.Errors GHC.Iface.Ext.Ast GHC.Iface.Ext.Binary GHC.Iface.Ext.Debug GHC.Iface.Ext.Fields GHC.Iface.Ext.Types GHC.Iface.Ext.Utils GHC.Iface.Load GHC.Iface.Make GHC.Iface.Recomp GHC.Iface.Recomp.Binary GHC.Iface.Recomp.Flags GHC.Iface.Rename GHC.Iface.Syntax GHC.Iface.Tidy GHC.Iface.Tidy.StaticPtrTable GHC.IfaceToCore GHC.Iface.Type GHC.Linker GHC.Linker.Dynamic GHC.Linker.ExtraObj GHC.Linker.Loader GHC.Linker.MacOS GHC.Linker.Static GHC.Linker.Types GHC.Linker.Unit GHC.Linker.Windows GHC.Llvm GHC.Llvm.MetaData GHC.Llvm.Ppr GHC.Llvm.Syntax GHC.Llvm.Types GHC.Parser GHC.Parser.Annotation GHC.Parser.CharClass GHC.Parser.Errors.Basic GHC.Parser.Errors.Ppr GHC.Parser.Errors.Types GHC.Parser.Header GHC.Parser.Lexer GHC.Parser.PostProcess GHC.Parser.PostProcess.Haddock GHC.Parser.Types GHC.Parser.Utils GHC.Platform GHC.Platform.ARM GHC.Platform.AArch64 GHC.Platform.Constants GHC.Platform.NoRegs GHC.Platform.PPC GHC.Platform.Profile GHC.Platform.Reg GHC.Platform.Reg.Class GHC.Platform.Regs GHC.Platform.RISCV64 GHC.Platform.S390X GHC.Platform.SPARC GHC.Platform.Ways GHC.Platform.X86 GHC.Platform.X86_64 GHC.Plugins GHC.Prelude GHC.Rename.Bind GHC.Rename.Env GHC.Rename.Expr GHC.Rename.Fixity GHC.Rename.HsType GHC.Rename.Module GHC.Rename.Names GHC.Rename.Pat GHC.Rename.Splice GHC.Rename.Unbound GHC.Rename.Utils GHC.Runtime.Context GHC.Runtime.Debugger GHC.Runtime.Eval GHC.Runtime.Eval.Types GHC.Runtime.Heap.Inspect GHC.Runtime.Heap.Layout GHC.Runtime.Interpreter GHC.Runtime.Interpreter.Types GHC.Runtime.Loader GHC.Settings GHC.Settings.Config GHC.Settings.Constants GHC.Settings.IO GHC.Stg.BcPrep GHC.Stg.CSE GHC.Stg.Debug GHC.Stg.DepAnal GHC.Stg.FVs GHC.Stg.Lift GHC.Stg.Lift.Analysis GHC.Stg.Lift.Monad GHC.Stg.Lint GHC.Stg.Pipeline GHC.Stg.Stats GHC.Stg.Subst GHC.Stg.Syntax GHC.StgToByteCode GHC.StgToCmm GHC.StgToCmm.ArgRep GHC.StgToCmm.Bind GHC.StgToCmm.CgUtils GHC.StgToCmm.Closure GHC.StgToCmm.DataCon GHC.StgToCmm.Env GHC.StgToCmm.Expr GHC.StgToCmm.ExtCode GHC.StgToCmm.Foreign GHC.StgToCmm.Heap GHC.StgToCmm.Hpc GHC.StgToCmm.Layout GHC.StgToCmm.Lit GHC.StgToCmm.Monad GHC.StgToCmm.Prim GHC.StgToCmm.Prof GHC.StgToCmm.Ticky GHC.StgToCmm.Types GHC.StgToCmm.Utils GHC.Stg.Unarise GHC.SysTools GHC.SysTools.Ar GHC.SysTools.BaseDir GHC.SysTools.Elf GHC.SysTools.Info GHC.SysTools.Process GHC.SysTools.Tasks GHC.SysTools.Terminal GHC.Tc.Deriv GHC.Tc.Deriv.Functor GHC.Tc.Deriv.Generate GHC.Tc.Deriv.Generics GHC.Tc.Deriv.Infer GHC.Tc.Deriv.Utils GHC.Tc.Errors GHC.Tc.Errors.Hole GHC.Tc.Errors.Hole.FitTypes GHC.Tc.Errors.Ppr GHC.Tc.Errors.Types GHC.Tc.Gen.Annotation GHC.Tc.Gen.App GHC.Tc.Gen.Arrow GHC.Tc.Gen.Bind GHC.Tc.Gen.Default GHC.Tc.Gen.Export GHC.Tc.Gen.Expr GHC.Tc.Gen.Foreign GHC.Tc.Gen.Head GHC.Tc.Gen.HsType GHC.Tc.Gen.Match GHC.Tc.Gen.Pat GHC.Tc.Gen.Rule GHC.Tc.Gen.Sig GHC.Tc.Gen.Splice GHC.Tc.Instance.Class GHC.Tc.Instance.Family GHC.Tc.Instance.FunDeps GHC.Tc.Instance.Typeable GHC.Tc.Module GHC.Tc.Plugin GHC.Tc.Solver GHC.Tc.Solver.Canonical GHC.Tc.Solver.Rewrite GHC.Tc.Solver.InertSet GHC.Tc.Solver.Interact GHC.Tc.Solver.Monad GHC.Tc.Solver.Types GHC.Tc.TyCl GHC.Tc.TyCl.Build GHC.Tc.TyCl.Class GHC.Tc.TyCl.Instance GHC.Tc.TyCl.PatSyn GHC.Tc.TyCl.Utils GHC.Tc.Types GHC.Tc.Types.Constraint GHC.Tc.Types.Evidence GHC.Tc.Types.EvTerm GHC.Tc.Types.Origin GHC.Tc.Types.Rank GHC.Tc.Utils.Backpack GHC.Tc.Utils.Concrete GHC.Tc.Utils.Env GHC.Tc.Utils.Instantiate GHC.Tc.Utils.Monad GHC.Tc.Utils.TcMType GHC.Tc.Utils.TcType GHC.Tc.Utils.Unify GHC.Tc.Utils.Zonk GHC.Tc.Validity GHC.ThToHs GHC.Types.Annotations GHC.Types.Avail GHC.Types.Basic GHC.Types.BreakInfo GHC.Types.CompleteMatch GHC.Types.CostCentre GHC.Types.CostCentre.State GHC.Types.Cpr GHC.Types.Demand GHC.Types.Error GHC.Types.FieldLabel GHC.Types.Fixity GHC.Types.Fixity.Env GHC.Types.ForeignCall GHC.Types.ForeignStubs GHC.Types.Hint GHC.Types.Hint.Ppr GHC.Types.HpcInfo GHC.Types.Id GHC.Types.IPE GHC.Types.Id.Info GHC.Types.Id.Make GHC.Types.Literal GHC.Types.Meta GHC.Types.Name GHC.Types.Name.Cache GHC.Types.Name.Env GHC.Types.Name.Occurrence GHC.Types.Name.Reader GHC.Types.Name.Set GHC.Types.Name.Shape GHC.Types.Name.Ppr GHC.Types.PkgQual GHC.Types.RepType GHC.Types.SafeHaskell GHC.Types.SourceError GHC.Types.SourceFile GHC.Types.SourceText GHC.Types.SrcLoc GHC.Types.Target GHC.Types.Tickish GHC.Types.TypeEnv GHC.Types.TyThing GHC.Types.Unique GHC.Types.Unique.DFM GHC.Types.Unique.DSet GHC.Types.Unique.FM GHC.Types.Unique.Map GHC.Types.Unique.SDFM GHC.Types.Unique.Set GHC.Types.Unique.Supply GHC.Types.Var GHC.Types.Var.Env GHC.Types.Var.Set GHC.Unit GHC.Unit.Env GHC.Unit.External GHC.Unit.Finder GHC.Unit.Finder.Types GHC.Unit.Home GHC.Unit.Home.ModInfo GHC.Unit.Info GHC.Unit.Module GHC.Unit.Module.Deps GHC.Unit.Module.Env GHC.Unit.Module.Graph GHC.Unit.Module.Imported GHC.Unit.Module.Location GHC.Unit.Module.ModDetails GHC.Unit.Module.ModGuts GHC.Unit.Module.ModIface GHC.Unit.Module.ModSummary GHC.Unit.Module.Name GHC.Unit.Module.Status GHC.Unit.Module.Warnings GHC.Unit.Parser GHC.Unit.Ppr GHC.Unit.State GHC.Unit.Types GHC.Utils.Asm GHC.Utils.Binary GHC.Utils.Binary.Typeable GHC.Utils.BufHandle GHC.Utils.CliOption GHC.Utils.Constants GHC.Utils.Error GHC.Utils.Exception GHC.Utils.Fingerprint GHC.Utils.FV GHC.Utils.GlobalVars GHC.Utils.IO.Unsafe GHC.Utils.Json GHC.Utils.Lexeme GHC.Utils.Logger GHC.Utils.Misc GHC.Utils.Monad GHC.Utils.Monad.State.Strict GHC.Utils.Monad.State.Lazy GHC.Utils.Outputable GHC.Utils.Panic GHC.Utils.Panic.Plain GHC.Utils.Ppr GHC.Utils.Ppr.Colour GHC.Utils.TmpFs GHC.Utils.Trace Language.Haskell.Syntax Language.Haskell.Syntax.Binds Language.Haskell.Syntax.Decls Language.Haskell.Syntax.Expr Language.Haskell.Syntax.Extension Language.Haskell.Syntax.Lit Language.Haskell.Syntax.Pat Language.Haskell.Syntax.Type reexported-modules: GHC.Platform.ArchOS , GHC.Platform.Host