cabal-version: 3.0 name: ghc version: 8.10.1 License: BSD-3-Clause 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: Unique.h HsVersions.h parser/cutils.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.10.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.14.*, 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 == 8.10.1, ghc-boot-th == 8.10.1, ghc-heap == 8.10.1, ghci == 8.10.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: -DHAVE_INTERNAL_INTERPRETER -- 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 c-sources: parser/cutils.c ghci/keepCAFsForGHCi.c cbits/genSym.c hs-source-dirs: autogen include-dirs: autogen hs-source-dirs: . backpack basicTypes cmm coreSyn deSugar ghci 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 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 CorePrep 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 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 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 -- CgInfoTbls used in ghci/DebuggerUtils -- CgHeapery mkVirtHeapOffsets used in ghci 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