-- 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. . See for more information. Category: Development Build-Type: Simple Cabal-Version: >=1.10 Flag internal-interpreter Description: Build with internal interpreter 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 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 Build-Depends: base >= 4.11 && < 4.16, 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.6.2.1 && < 0.7, array >= 0.1 && < 0.6, filepath >= 1 && < 1.5, template-haskell == 2.17.*, hpc == 0.6.*, transformers == 0.5.*, exceptions == 0.10.*, ghc-boot == @ProjectVersionMunged@, ghc-heap == @ProjectVersionMunged@, ghci == @ProjectVersionMunged@ if os(windows) Build-Depends: Win32 >= 2.3 && < 2.10 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 Include-Dirs: ../rts/dist/build @FFIIncludeDir@ -- 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 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: . -- we use an explicit Prelude Default-Extensions: NoImplicitPrelude ,BangPatterns ,ScopedTypeVariables ,MonoLocalBinds Exposed-Modules: GHC.Iface.Ext.Types GHC.Iface.Ext.Debug GHC.Iface.Ext.Binary GHC.Iface.Ext.Utils GHC.Iface.Ext.Ast GHC.SysTools.Ar GHC.SysTools.FileCleanup GHC.Driver.Backend GHC.Driver.Backpack GHC.Driver.Backpack.Syntax GHC.Types.Name.Shape GHC.Iface.Rename GHC.Types.Avail GHC.Utils.Asm GHC.Types.Basic GHC.Core.ConLike GHC.Core.DataCon GHC.Core.PatSyn GHC.Types.Demand GHC.Types.Cpr GHC.Cmm.DebugBlock GHC.Utils.Exception GHC.Types.FieldLabel GHC.Driver.Monad GHC.Driver.Hooks GHC.Driver.Flags GHC.Driver.Ppr 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.Unit GHC.Unit.Home GHC.Unit.Parser GHC.Unit.Ppr GHC.Unit.Types GHC.Unit.Module GHC.Unit.Module.Name GHC.Unit.Module.Location GHC.Unit.Module.Env 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 GHC.Iface.UpdateIdInfos GHC.Types.Var GHC.Types.Var.Env GHC.Types.Var.Set GHC.Data.Graph.UnVar 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 GHC.Utils.CliOption GHC.Data.EnumSet 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 GHC.Platform.Constants GHC.Platform.Ways GHC.Platform.Profile 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.StgToCmm.Types GHC.Runtime.Heap.Layout GHC.Core.Opt.Arity GHC.Core.FVs GHC.Core.Lint GHC.Core.Subst GHC.Core.SimpleOpt GHC.Core GHC.Data.TrieMap GHC.Core.Tidy GHC.Core.Unfold GHC.Core.Unfold.Make 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.Types 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.Type GHC.Hs.Utils GHC.Hs.Dump GHC.Iface.Binary GHC.Iface.Recomp.Binary 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 GHC.Iface.Recomp.Flags GHC.Types.Annotations GHC.Driver.CmdLine GHC.Driver.Config GHC.Driver.CodeOutput GHC.Settings.Config GHC.Settings.Constants GHC.Driver.MakeFile GHC.Driver.Phases GHC.Driver.Pipeline.Monad GHC.Driver.Pipeline GHC.Driver.Session GHC.Utils.Error GHC.Driver.Finder GHC GHC.Driver.Make GHC.Plugins GHC.Prelude GHC.Parser.Header GHC.Driver.Main GHC.Hs.Stats GHC.Driver.Types GHC.Runtime.Eval GHC.Runtime.Eval.Types GHC.Runtime.Loader GHC.Unit.Info GHC.Unit.State GHC.Driver.Plugins GHC.Tc.Plugin GHC.Core.Ppr.TyThing GHC.Settings GHC.Iface.Tidy.StaticPtrTable GHC.SysTools GHC.SysTools.BaseDir GHC.SysTools.Terminal GHC.SysTools.ExtraObj GHC.SysTools.Info GHC.SysTools.Process GHC.SysTools.Tasks GHC.Settings.IO GHC.SysTools.Elf GHC.Iface.Tidy GHC.Parser.CharClass GHC.Parser.Lexer GHC.Core.Coercion.Opt GHC.Parser GHC.Parser.PostProcess GHC.Parser.PostProcess.Haddock GHC.Parser.Annotation GHC.Types.ForeignCall GHC.Builtin.Uniques GHC.Builtin.Utils GHC.Builtin.Names GHC.Core.Opt.ConstantFold GHC.Builtin.PrimOps GHC.Builtin.RebindableNames GHC.Builtin.Types.Prim GHC.Builtin.Types 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.Opt.Monad GHC.Core.Opt.CSE GHC.Core.Opt.FloatIn GHC.Core.Opt.FloatOut GHC.Core.Opt.LiberateCase GHC.Core.Opt.OccurAnal GHC.Core.Opt.StaticArgs GHC.Core.Opt.SetLevels GHC.Core.Opt.Pipeline GHC.Core.Opt.Simplify.Env GHC.Core.Opt.Simplify.Monad GHC.Core.Opt.Simplify.Utils GHC.Core.Opt.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.Opt.SpecConstr GHC.Core.Opt.Specialise GHC.Core.Opt.CallArity GHC.Core.Opt.DmdAnal GHC.Core.Opt.CprAnal GHC.Core.Opt.Exitify GHC.Core.Opt.WorkWrap GHC.Core.Opt.WorkWrap.Utils 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 GHC.Builtin.Types.Literals GHC.Tc.Gen.Splice GHC.Core.Class GHC.Core.Coercion GHC.HsToCore.Quote GHC.Builtin.Names.TH GHC.Core.FamInstEnv GHC.Tc.Instance.FunDeps GHC.Core.InstEnv GHC.Core.Multiplicity GHC.Core.UsageEnv 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 GHC.Data.Bag GHC.Utils.Binary GHC.Data.BooleanFormula GHC.Utils.BufHandle GHC.Data.Graph.Directed GHC.Utils.Encoding GHC.Utils.IO.Unsafe GHC.Data.FastMutInt GHC.Data.FastString GHC.Data.FastString.Env GHC.Utils.Fingerprint GHC.Data.FiniteMap GHC.Utils.FV GHC.Data.Graph.Base GHC.Data.Graph.Color GHC.Data.Graph.Ops GHC.Data.Graph.Ppr GHC.Data.IOEnv GHC.Utils.Json GHC.Data.List.SetOps GHC.Data.Maybe GHC.Utils.Monad GHC.Data.OrdList GHC.Utils.Outputable GHC.Data.Pair GHC.Utils.Panic GHC.Utils.Panic.Plain GHC.Utils.Ppr.Colour GHC.Utils.Ppr GHC.Utils.Monad.State GHC.Data.Stream GHC.Data.StringBuffer GHC.Types.Unique.DFM GHC.Types.Unique.DSet GHC.Types.Unique.FM GHC.Types.Unique.Set GHC.Utils.Misc GHC.Cmm.Dataflow GHC.Cmm.Dataflow.Block GHC.Cmm.Dataflow.Collections GHC.Cmm.Dataflow.Graph GHC.Cmm.Dataflow.Label reexported-modules: GHC.Platform.ArchOS , GHC.Platform.Host Exposed-Modules: GHC.CmmToAsm GHC.CmmToAsm.Reg.Target GHC.CmmToAsm.Monad GHC.CmmToAsm.Instr GHC.CmmToAsm.BlockLayout GHC.CmmToAsm.CFG GHC.CmmToAsm.CFG.Weight GHC.CmmToAsm.CFG.Dominators GHC.CmmToAsm.Format GHC.Platform.Reg GHC.Platform.Reg.Class GHC.CmmToAsm.PIC GHC.CmmToAsm.CPrim GHC.CmmToAsm.Types GHC.CmmToAsm.Utils GHC.CmmToAsm.X86 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 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 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.Reg.Utils 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