-- 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: @ProjectVersion@ 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.2.3 Flag base4 Description: Choose the even newer, even smaller, split-up base package. Flag base3 Description: Choose the new smaller, split-up base package. Flag dynlibs Description: Dynamic library support Default: False Manual: True Flag ghci Description: Build GHCi support. Default: False Manual: True Flag ncg Description: Build the NCG. Default: False Manual: True Flag stage1 Description: Is this stage 1? Default: False Flag stage2 Description: Is this stage 2? Default: False Flag stage3 Description: Is this stage 3? Default: False Library Exposed: False if flag(base4) Build-Depends: base >= 4 && < 5 if flag(base3) Build-Depends: base >= 3 && < 4 if !flag(base3) && !flag(base4) Build-Depends: base < 3 if flag(base3) || flag(base4) Build-Depends: directory >= 1 && < 1.2, process >= 1 && < 1.1, bytestring >= 0.9 && < 0.10, old-time >= 1 && < 1.1, containers >= 0.1 && < 0.5, array >= 0.1 && < 0.4 Build-Depends: filepath >= 1 && < 1.3 Build-Depends: Cabal, hpc if os(windows) Build-Depends: Win32 else Build-Depends: unix GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans if flag(ghci) Build-Depends: template-haskell CPP-Options: -DGHCI Include-Dirs: ../libffi/build/include if !flag(ncg) CPP-Options: -DOMIT_NATIVE_CODEGEN Build-Depends: bin-package-db -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be -- able to find WCsubst.h Include-Dirs: ../libraries/base/cbits, ../libraries/base/include Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards, ForeignFunctionInterface, EmptyDataDecls, TypeSynonymInstances, MultiParamTypeClasses, FlexibleInstances, Rank2Types, ScopedTypeVariables, DeriveDataTypeable Include-Dirs: . parser utils if flag(stage1) Include-Dirs: stage1 else if flag(stage2) Include-Dirs: stage2 else if flag(stage3) Include-Dirs: stage2 Install-Includes: HsVersions.h, ghc_boot_platform.h c-sources: parser/cutils.c utils/md5.c if flag(dynlibs) c-sources: ghci/keepCAFsForGHCi.c hs-source-dirs: basicTypes cmm codeGen coreSyn deSugar ghci hsSyn iface llvmGen main nativeGen parser prelude profiling rename simplCore simplStg specialise stgSyn stranal typecheck types utils vectorise Exposed-Modules: BasicTypes DataCon Demand Exception GhcMonad Id IdInfo Literal Llvm Llvm.AbsSyn Llvm.PpLlvm Llvm.Types LlvmCodeGen LlvmCodeGen.Base LlvmCodeGen.CodeGen LlvmCodeGen.Data LlvmCodeGen.Ppr LlvmCodeGen.Regs LlvmMangler MkId Module Name NameEnv NameSet OccName RdrName SrcLoc UniqSupply Unique Var VarEnv VarSet BlockId CLabel Cmm CmmBrokenBlock CmmBuildInfoTables CmmCPS CmmCPSGen CmmCPSZ CmmCallConv CmmCommonBlockElimZ CmmContFlowOpt CmmCvt CmmExpr CmmInfo CmmLex CmmLint CmmLive CmmLiveZ CmmOpt CmmParse CmmProcPoint CmmProcPointZ CmmSpillReload CmmStackLayout CmmTx CmmUtils CmmZipUtil DFMonad Dataflow MkZipCfg MkZipCfgCmm OptimizationFuel PprBase PprC PprCmm PprCmmZ StackColor StackPlacements ZipCfg ZipCfgCmmRep ZipCfgExtras ZipDataflow Bitmap CgBindery CgCallConv CgCase CgClosure CgCon CgExpr CgExtCode CgForeignCall CgHeapery CgHpc CgInfoTbls CgLetNoEscape CgMonad CgParallel CgPrimOp CgProf CgStackery CgTailCall CgTicky CgUtils StgCmm StgCmmBind StgCmmClosure StgCmmCon StgCmmEnv StgCmmExpr StgCmmForeign StgCmmGran StgCmmHeap StgCmmHpc StgCmmLayout StgCmmMonad StgCmmPrim StgCmmProf StgCmmTicky StgCmmUtils ClosureInfo CodeGen SMRep CoreArity CoreFVs CoreLint CorePrep CoreSubst CoreSyn CoreTidy CoreUnfold CoreUtils ExternalCore MkCore MkExternalCore PprCore PprExternalCore Check Coverage Desugar DsArrows DsBinds DsCCall DsExpr DsForeign DsGRHSs DsListComp DsMonad DsUtils Match MatchCon MatchLit HsBinds HsDecls HsDoc HsExpr HsImpExp HsLit HsPat HsSyn HsTypes HsUtils BinIface BuildTyCl IfaceEnv IfaceSyn IfaceType LoadIface MkIface TcIface Annotations BreakArray CmdLineParser CodeOutput Config Constants DriverMkDepend DriverPhases DriverPipeline DynFlags ErrUtils Finder GHC HeaderInfo HscMain HscStats HscTypes InteractiveEval PackageConfig Packages PprTyThing StaticFlags StaticFlagParser SysTools TidyPgm Ctype HaddockUtils LexCore Lexer OptCoercion Parser ParserCore ParserCoreUtils RdrHsSyn ForeignCall PrelInfo PrelNames PrelRules PrimOp TysPrim TysWiredIn CostCentre SCCfinal RnBinds RnEnv RnExpr RnHsDoc RnHsSyn RnNames RnPat RnSource RnTypes CoreMonad CSE FloatIn FloatOut LiberateCase OccurAnal SAT SetLevels SimplCore SimplEnv SimplMonad SimplUtils Simplify SRT SimplStg StgStats Rules SpecConstr Specialise CoreToStg StgLint StgSyn DmdAnal WorkWrap WwLib FamInst Inst TcAnnotations TcArrows TcBinds TcClassDcl TcDefaults TcDeriv TcEnv TcExpr TcForeign TcGenDeriv TcHsSyn TcHsType TcInstDcls TcMType TcMatches TcPat TcRnDriver TcRnMonad TcRnTypes TcRules TcSimplify TcErrors TcTyClsDecls TcTyDecls TcType TcUnify TcInteract TcCanonical TcSMonad Class Coercion FamInstEnv FunDeps Generics InstEnv TyCon Type TypeRep Unify Bag Binary BufWrite Digraph Encoding FastBool FastFunctions FastMutInt FastString FastTypes Fingerprint FiniteMap GraphBase GraphColor GraphOps GraphPpr IOEnv Interval ListSetOps Maybes MonadUtils OrdList Outputable Panic Pretty Serialized State StringBuffer UniqFM UniqSet Util Vectorise.Builtins.Base Vectorise.Builtins.Initialise Vectorise.Builtins.Modules Vectorise.Builtins.Prelude Vectorise.Builtins Vectorise.Monad.Base Vectorise.Monad.Naming Vectorise.Monad.Local Vectorise.Monad.Global Vectorise.Monad.InstEnv Vectorise.Monad Vectorise.Utils.Base Vectorise.Utils.Closure Vectorise.Utils.Hoisting Vectorise.Utils.PADict Vectorise.Utils.PRDict Vectorise.Utils.Poly Vectorise.Utils Vectorise.Type.Env Vectorise.Type.Repr Vectorise.Type.PData Vectorise.Type.PRepr Vectorise.Type.PADict Vectorise.Type.PRDict Vectorise.Type.Type Vectorise.Type.TyConDecl Vectorise.Type.Classify Vectorise.Convert Vectorise.Vect Vectorise.Var Vectorise.Env Vectorise.Exp Vectorise -- We only need to expose more modules as some of the ncg code is used -- by the LLVM backend so its always included if flag(ncg) Exposed-Modules: AsmCodeGen TargetReg NCGMonad Instruction Size Reg RegClass PIC Platform Alpha.Regs Alpha.RegInfo Alpha.Instr Alpha.CodeGen 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.RegPlate SPARC.Imm SPARC.AddrMode SPARC.Cond SPARC.Instr SPARC.Stack SPARC.ShortcutJump SPARC.Ppr SPARC.CodeGen SPARC.CodeGen.Amode SPARC.CodeGen.Base SPARC.CodeGen.CCall 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.PPC.FreeRegs RegAlloc.Linear.SPARC.FreeRegs if flag(ghci) Exposed-Modules: DsMeta TcSplice Convert ByteCodeAsm ByteCodeFFI ByteCodeGen ByteCodeInstr ByteCodeItbls ByteCodeLink Debugger LibFFI Linker ObjLink RtClosureInspect