Cabal-Version: 2.0 Name: ghc Version: 8.8.1 License: BSD3 License-File: LICENSE Author: The GHC Team Maintainer: glasgow-haskell-users@haskell.org Homepage: http://www.haskell.org/ghc/ Bug-Reports: https://gitlab.haskell.org/ghc/ghc/issues/new 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 extra-source-files: utils/md5.h Unique.h HsVersions.h nativeGen/NCG.h parser/cutils.h autogen/ghc_boot_platform.h autogen/CodeGen.Platform.hs autogen/Config.hs autogen/GHCConstantsHaskellExports.hs autogen/GHCConstantsHaskellType.hs autogen/GHCConstantsHaskellWrappers.hs autogen/*.hs-incl 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 Flag buildable Description: Make this package buildable /(experimental tech preview)/. . See [reinstallable lib:ghc announcement](https://mail.haskell.org/pipermail/ghc-devs/2017-July/014424.html) for more information. Default: False Manual: True source-repository head type: Git location: https://gitlab.haskell.org/ghc/ghc.git subdir: compiler Library -- The generated code in autogen/ has been generated for a linux/x86_64 target -- So everything else is definitely not working... if !(os(linux) && arch(x86_64) && impl(ghc == 8.8.1)) build-depends: base<0 -- ...while this package may in theory allow to reinstall lib:ghc -- under very limited constraints, this most likely could fail in -- weird ways (e.g. mismatched tag numbers, GHC panics, etc), and -- since cabal doesn't mark this package as non-upgradable, we -- declare this package out of reach to the cabal solver by default -- here if !flag(buildable) build-depends: base<0 Default-Language: Haskell2010 Exposed: False Build-Depends: base == 4.13.*, 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.15.*, hpc == 0.6.*, transformers == 0.5.*, ghc-boot == 8.8.1, ghc-boot-th == 8.8.1, ghc-heap == 8.8.1, ghci == 8.8.1 if os(windows) Build-Depends: Win32 >= 2.3 && < 2.7 else if flag(terminfo) Build-Depends: terminfo == 0.4.* Build-Depends: unix == 2.7.* -- build-tools: alex ^>= 3.2.1, happy ^>= 1.19.5 GHC-Options: -Wall -Wno-name-shadowing -Wnoncanonical-monad-instances -Wnoncanonical-monoid-instances -- if flag(ghci) -- CPP-Options: -DGHCI -- Include-Dirs: ../rts/dist/build -- 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: . parser utils -- We need to set the unit id to ghc (without a version number) -- as it's magic. GHC-Options: -this-unit-id ghc cpp-options: -DSTAGE=2 Install-Includes: HsVersions.h, ghc_boot_platform.h c-sources: parser/cutils.c ghci/keepCAFsForGHCi.c cbits/genSym.c hs-source-dirs: autogen include-dirs: autogen hs-source-dirs: backpack basicTypes cmm codeGen coreSyn deSugar ghci hsSyn iface llvmGen main nativeGen parser prelude profiling rename simplCore simplStg specialise stgSyn stranal typecheck types utils hieFile -- we use an explicit Prelude Default-Extensions: NoImplicitPrelude Other-Modules: GhcPrelude 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 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 EnumSet MkGraph PprBase PprC PprCmm PprCmmDecl PprCmmExpr Bitmap CodeGen.Platform CodeGen.Platform.ARM CodeGen.Platform.ARM64 CodeGen.Platform.NoRegs CodeGen.Platform.PPC CodeGen.Platform.SPARC CodeGen.Platform.X86 CodeGen.Platform.X86_64 CgUtils StgCmm StgCmmBind StgCmmClosure StgCmmCon StgCmmEnv StgCmmExpr StgCmmForeign StgCmmHeap StgCmmHpc StgCmmArgRep StgCmmLayout StgCmmMonad StgCmmPrim StgCmmProf StgCmmTicky StgCmmUtils StgCmmExtCode SMRep CoreArity CoreFVs CoreLint CorePrep CoreSubst CoreOpt CoreSyn TrieMap CoreTidy CoreUnfold CoreUtils CoreMap CoreSeq CoreStats MkCore PprCore PmExpr TmOracle Check Coverage Desugar DsArrows DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMonad DsUsage DsUtils ExtractDocs Match MatchCon MatchLit HsBinds HsDecls HsDoc HsExpr HsImpExp HsLit PlaceHolder HsExtension HsInstances HsPat HsSyn HsTypes HsUtils HsDumpAst 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 DynamicLoading HeaderInfo HscMain HscStats HscTypes InteractiveEval InteractiveEvalTypes PackageConfig Packages PlatformConstants Plugins TcPluginM PprTyThing StaticPtrTable SysTools SysTools.BaseDir SysTools.Terminal SysTools.ExtraObj SysTools.Info SysTools.Process SysTools.Tasks Elf TidyPgm Ctype HaddockUtils Lexer OptCoercion Parser RdrHsSyn ApiAnnotation ForeignCall KnownUniques PrelInfo PrelNames PrelRules PrimOp 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 SimplStg StgStats StgCse StgLiftLams StgLiftLams.Analysis StgLiftLams.LiftM StgLiftLams.Transformation StgSubst UnariseStg RepType Rules SpecConstr Specialise CoreToStg StgLint StgSyn StgFVs 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 TcRules TcSimplify TcHoleErrors TcErrors TcTyClsDecls TcTyDecls TcTypeable TcTypeableValidity TcType TcEvidence TcEvTerm TcUnify TcInteract TcCanonical TcFlatten TcSMonad TcTypeNats TcSplice Class Coercion DsMeta THNames FamInstEnv FunDeps InstEnv TyCon CoAxiom Kind Type TyCoRep Unify Bag Binary BooleanFormula BufWrite Digraph Encoding FastFunctions FastMutInt FastString FastStringEnv Fingerprint FiniteMap FV GraphBase GraphColor GraphOps GraphPpr IOEnv Json ListSetOps ListT 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 -- CgInfoTbls used in ghci/DebuggerUtils -- CgHeapery mkVirtHeapOffsets used in ghci Exposed-Modules: AsmCodeGen TargetReg NCGMonad Instruction BlockLayout CFG Format Reg RegClass PIC Platform 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 Convert ByteCodeTypes ByteCodeAsm ByteCodeGen ByteCodeInstr ByteCodeItbls ByteCodeLink Debugger Linker RtClosureInspect GHCi