-- 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 ghci/keepCAFsForGHCi.c hs-source-dirs: . backpack basicTypes cmm coreSyn deSugar ghci iface llvmGen main nativeGen 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 DriverBkp BkpSyn NameShape GHC.Iface.Rename Avail AsmUtils BasicTypes ConLike DataCon PatSyn Demand GHC.Cmm.DebugBlock Exception FieldLabel GhcMonad Hooks Id IdInfo Predicate Lexeme Literal Llvm Llvm.AbsSyn Llvm.MetaData Llvm.PpLlvm Llvm.Types LlvmCodeGen LlvmCodeGen.Base LlvmCodeGen.CodeGen LlvmCodeGen.Data LlvmCodeGen.Ppr LlvmCodeGen.Regs LlvmMangler 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 PprBase 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.Layout CoreArity CoreFVs CoreLint CoreSubst CoreOpt CoreSyn TrieMap CoreTidy CoreUnfold CoreUtils CoreMap CoreSeq CoreStats MkCore PprCore GHC.HsToCore.PmCheck.Oracle GHC.HsToCore.PmCheck.Ppr GHC.HsToCore.PmCheck.Types GHC.HsToCore.PmCheck Coverage Desugar DsArrows DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMonad DsUsage DsUtils ExtractDocs Match MatchCon MatchLit 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.Utils GHC.IfaceToCore FlagChecker Annotations CmdLineParser CodeOutput Config Constants DriverMkDepend DriverPhases PipelineMonad DriverPipeline DynFlags ErrUtils Finder GHC GhcMake GhcPlugins GhcPrelude DynamicLoading HeaderInfo HscMain HscStats HscTypes InteractiveEval InteractiveEvalTypes UnitInfo Packages PlatformConstants Plugins TcPluginM PprTyThing 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 Rules SpecConstr Specialise CallArity DmdAnal 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 DsMeta 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: AsmCodeGen TargetReg NCGMonad Instruction BlockLayout CFG Dominators Format Reg RegClass PIC CPrim X86.Regs X86.RegInfo X86.Instr X86.Cond X86.Ppr X86.CodeGen PPC.Regs PPC.RegInfo PPC.Instr PPC.Cond PPC.Ppr PPC.CodeGen SPARC.Base SPARC.Regs SPARC.Imm SPARC.AddrMode SPARC.Cond SPARC.Instr SPARC.Stack SPARC.ShortcutJump SPARC.Ppr SPARC.CodeGen SPARC.CodeGen.Amode SPARC.CodeGen.Base SPARC.CodeGen.CondCode SPARC.CodeGen.Gen32 SPARC.CodeGen.Gen64 SPARC.CodeGen.Sanity SPARC.CodeGen.Expand RegAlloc.Liveness RegAlloc.Graph.Main RegAlloc.Graph.Stats RegAlloc.Graph.ArchBase RegAlloc.Graph.ArchX86 RegAlloc.Graph.Coalesce RegAlloc.Graph.Spill RegAlloc.Graph.SpillClean RegAlloc.Graph.SpillCost RegAlloc.Graph.TrivColorable RegAlloc.Linear.Main RegAlloc.Linear.JoinToTargets RegAlloc.Linear.State RegAlloc.Linear.Stats RegAlloc.Linear.FreeRegs RegAlloc.Linear.StackMap RegAlloc.Linear.Base RegAlloc.Linear.X86.FreeRegs RegAlloc.Linear.X86_64.FreeRegs RegAlloc.Linear.PPC.FreeRegs RegAlloc.Linear.SPARC.FreeRegs Dwarf Dwarf.Types Dwarf.Constants GHC.ThToHs ByteCodeTypes ByteCodeAsm ByteCodeGen ByteCodeInstr ByteCodeItbls ByteCodeLink Debugger LinkerTypes Linker RtClosureInspect GHCi