-- 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 rename simplCore specialise stranal typecheck types utils hieFile -- we use an explicit Prelude Default-Extensions: NoImplicitPrelude Exposed-Modules: HieTypes HieDebug HieBin HieUtils HieAst Ar FileCleanup DriverBkp BkpSyn NameShape RnModIface Avail AsmUtils BasicTypes ConLike DataCon PatSyn Demand Debug 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 Var VarEnv VarSet UnVarGraph BlockId CLabel Cmm CmmBuildInfoTables CmmPipeline CmmCallConv CmmCommonBlockElim CmmImplementSwitchPlans CmmContFlowOpt CmmExpr CmmInfo CmmLex CmmLint CmmLive CmmMachOp CmmMonad CmmSwitch CmmNode CmmOpt CmmParse CmmProcPoint CmmSink CmmType CmmUtils CmmLayoutStack CliOption EnumSet GhcNameVersion FileSettings MkGraph PprBase PprC PprCmm PprCmmDecl PprCmmExpr 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 SMRep 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.PlaceHolder GHC.Hs.Extension GHC.Hs.Instances GHC.Hs.Pat GHC.Hs.Types GHC.Hs.Utils GHC.Hs.Dump BinIface BinFingerprint BuildTyCl IfaceEnv IfaceSyn IfaceType ToIface LoadIface MkIface TcIface FlagChecker Annotations CmdLineParser CodeOutput Config Constants DriverMkDepend DriverPhases PipelineMonad DriverPipeline DynFlags ErrUtils Finder GHC GhcMake GhcPlugins GhcPrelude DynamicLoading HeaderInfo HscMain HscStats HscTypes InteractiveEval InteractiveEvalTypes PackageConfig Packages PlatformConstants Plugins TcPluginM PprTyThing Settings StaticPtrTable SysTools SysTools.BaseDir SysTools.Terminal SysTools.ExtraObj SysTools.Info SysTools.Process SysTools.Tasks SysTools.Settings Elf TidyPgm Ctype HaddockUtils Lexer OptCoercion Parser RdrHsSyn ApiAnnotation ForeignCall KnownUniques PrelInfo PrelNames PrelRules PrimOp ToolSettings TysPrim TysWiredIn CostCentre CostCentreState ProfInit RnBinds RnEnv RnExpr RnHsDoc RnNames RnPat RnSource RnSplice RnTypes RnFixity RnUtils RnUnbound 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.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 Hoopl.Block Hoopl.Collections Hoopl.Dataflow Hoopl.Graph Hoopl.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