Rename CmmCPS to CmmPipeline.
[ghc-hetmet.git] / compiler / ghc.cabal.in
index deca837..a6c74f7 100644 (file)
@@ -1,17 +1,24 @@
+-- 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@
-Copyright: XXX
--- License: XXX
+License: BSD3
 License-File: ../LICENSE
-Author: XXX
+Author: The GHC Team
 Maintainer: glasgow-haskell-users@haskell.org
 Homepage: http://www.haskell.org/ghc/
-Synopsis: XXX
+Synopsis: The GHC API
 Description:
-        XXX
-Category: XXX
+    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
+Cabal-Version: >= 1.2.3
 
 Flag base4
     Description: Choose the even newer, even smaller, split-up base package.
@@ -24,23 +31,25 @@ Flag dynlibs
     Default: False
     Manual: True
 
-Flag editline
-    Description: Use editline
+Flag ghci
+    Description: Build GHCi support.
     Default: False
     Manual: True
 
-Flag ghci
-    Description: Build GHCi support.
+Flag stage1
+    Description: Is this stage 1?
     Default: False
     Manual: True
 
-Flag ncg
-    Description: Build the NCG.
+Flag stage2
+    Description: Is this stage 2?
     Default: False
     Manual: True
 
-Flag stage1
-    Description: Is this stage 1?
+Flag stage3
+    Description: Is this stage 3?
+    Default: False
+    Manual: True
 
 Library
     Exposed: False
@@ -53,24 +62,20 @@ Library
         Build-Depends: base       < 3
 
     if flag(base3) || flag(base4)
-        Build-Depends: directory  >= 1   && < 1.1,
+        Build-Depends: directory  >= 1   && < 1.2,
                        process    >= 1   && < 1.1,
                        bytestring >= 0.9 && < 0.10,
                        old-time   >= 1   && < 1.1,
-                       containers >= 0.1 && < 0.3,
-                       array      >= 0.1 && < 0.3
+                       containers >= 0.1 && < 0.5,
+                       array      >= 0.1 && < 0.4
 
-    Build-Depends: filepath >= 1 && < 1.2
-    Build-Depends: haskell98, Cabal, hpc
+    Build-Depends: filepath >= 1 && < 1.3
+    Build-Depends: Cabal, hpc
     if os(windows)
         Build-Depends: Win32
     else
         Build-Depends: unix
 
-    if flag(editline)
-        Build-Depends: editline
-        CPP-Options: -DUSE_EDITLINE
-
     GHC-Options: -Wall -fno-warn-name-shadowing -fno-warn-orphans
 
     if flag(ghci)
@@ -78,8 +83,8 @@ Library
         CPP-Options: -DGHCI
         Include-Dirs: ../libffi/build/include
 
-    if !flag(ncg)
-        CPP-Options: -DOMIT_NATIVE_CODEGEN
+    Build-Depends: bin-package-db
+    Build-Depends: hoopl
 
     -- GHC 6.4.2 needs to be able to find WCsubst.c, which needs to be
     -- able to find WCsubst.h
@@ -90,23 +95,25 @@ Library
                 TypeSynonymInstances, MultiParamTypeClasses,
                 FlexibleInstances, Rank2Types, ScopedTypeVariables,
                 DeriveDataTypeable
+    if impl(ghc >= 7.1)
+        Extensions: NondecreasingIndentation
 
     Include-Dirs: . parser utils
 
     if flag(stage1)
         Include-Dirs: stage1
-        if impl(ghc < 6.9)
-            Build-Depends: extensible-exceptions
-            Extensions: PatternSignatures
     else
-        Include-Dirs: stage2plus
+        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
-        -- For GHC < 6.5:
-        cbits/unicode.c
 
     if flag(dynlibs)
         c-sources:
@@ -117,12 +124,13 @@ Library
         cmm
         codeGen
         coreSyn
-        cprAnalysis
         deSugar
         ghci
         hsSyn
         iface
+        llvmGen
         main
+        nativeGen
         parser
         prelude
         profiling
@@ -142,15 +150,26 @@ Library
         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
-        NewDemand
         OccName
         RdrName
         SrcLoc
@@ -162,43 +181,37 @@ Library
         BlockId
         CLabel
         Cmm
-        CmmBrokenBlock
-        CmmCPS
-        CmmCPSGen
-        CmmCPSZ
+        CmmBuildInfoTables
+        CmmPipeline
         CmmCallConv
-        CmmCommonBlockElimZ
+        CmmCommonBlockElim
         CmmContFlowOpt
         CmmCvt
+        CmmDecl
         CmmExpr
         CmmInfo
         CmmLex
         CmmLint
         CmmLive
-        CmmLiveZ
+        CmmMachOp
+        CmmNode
         CmmOpt
         CmmParse
         CmmProcPoint
-        CmmProcPointZ
         CmmSpillReload
-        CmmTx
+        CmmStackLayout
+        CmmType
         CmmUtils
-        CmmZipUtil
-        DFMonad
-        Dataflow
-        MachOp
-        MkZipCfg
-        MkZipCfgCmm
+        MkGraph
+        OldCmm
+        OldCmmUtils
+        OldPprCmm
         OptimizationFuel
+        PprBase
         PprC
         PprCmm
-        PprCmmZ
-        StackColor
-        StackPlacements
-        ZipCfg
-        ZipCfgCmmRep
-        ZipCfgExtras
-        ZipDataflow
+        PprCmmDecl
+        PprCmmExpr
         Bitmap
         CgBindery
         CgCallConv
@@ -206,6 +219,7 @@ Library
         CgClosure
         CgCon
         CgExpr
+        CgExtCode
         CgForeignCall
         CgHeapery
         CgHpc
@@ -219,9 +233,26 @@ Library
         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
@@ -235,7 +266,6 @@ Library
         MkExternalCore
         PprCore
         PprExternalCore
-        CprAnalyse
         Check
         Coverage
         Desugar
@@ -269,6 +299,7 @@ Library
         LoadIface
         MkIface
         TcIface
+        Annotations
         BreakArray
         CmdLineParser
         CodeOutput
@@ -281,6 +312,7 @@ Library
         ErrUtils
         Finder
         GHC
+        GhcMake
         HeaderInfo
         HscMain
         HscStats
@@ -288,18 +320,16 @@ Library
         InteractiveEval
         PackageConfig
         Packages
-        ParsePkgConf
         PprTyThing
         StaticFlags
         StaticFlagParser
         SysTools
         TidyPgm
         Ctype
-        HaddockLex
-        HaddockParse
         HaddockUtils
         LexCore
         Lexer
+        OptCoercion
         Parser
         ParserCore
         ParserCoreUtils
@@ -312,6 +342,7 @@ Library
         TysPrim
         TysWiredIn
         CostCentre
+        ProfInit
         SCCfinal
         RnBinds
         RnEnv
@@ -322,6 +353,7 @@ Library
         RnPat
         RnSource
         RnTypes
+        CoreMonad
         CSE
         FloatIn
         FloatOut
@@ -344,13 +376,11 @@ Library
         StgLint
         StgSyn
         DmdAnal
-        SaAbsInt
-        SaLib
-        StrictAnal
         WorkWrap
         WwLib
         FamInst
         Inst
+        TcAnnotations
         TcArrows
         TcBinds
         TcClassDcl
@@ -371,11 +401,14 @@ Library
         TcRnTypes
         TcRules
         TcSimplify
+        TcErrors
         TcTyClsDecls
         TcTyDecls
-        TcTyFuns
         TcType
         TcUnify
+        TcInteract
+        TcCanonical
+        TcSMonad
         Class
         Coercion
         FamInstEnv
@@ -383,6 +416,7 @@ Library
         Generics
         InstEnv
         TyCon
+        Kind
         Type
         TypeRep
         Unify
@@ -404,50 +438,113 @@ Library
         GraphPpr
         IOEnv
         Interval
-        LazyUniqFM
         ListSetOps
         Maybes
         MonadUtils
         OrdList
         Outputable
+        Pair
         Panic
         Pretty
+        Serialized
         State
         StringBuffer
-        Unicode
         UniqFM
         UniqSet
         Util
-        VectBuiltIn
-        VectCore
-        VectMonad
-        VectType
-        VectUtils
+        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.Poly
+        Vectorise.Utils
+        Vectorise.Type.Env
+        Vectorise.Type.Repr
+        Vectorise.Type.PData
+        Vectorise.Type.PRepr
+        Vectorise.Type.PADict
+        Vectorise.Type.Type
+        Vectorise.Type.TyConDecl
+        Vectorise.Type.Classify
+        Vectorise.Convert
+        Vectorise.Vect
+        Vectorise.Var
+        Vectorise.Env
+        Vectorise.Exp
         Vectorise
 
-    if flag(ncg)
-        hs-source-dirs:
-            nativeGen
-
-        Exposed-Modules:
+    Exposed-Modules:
             AsmCodeGen
-            MachCodeGen
-            MachInstrs
-            MachRegs
+            TargetReg
             NCGMonad
-            PositionIndependentCode
-            PprMach
-            RegAllocColor
-            RegAllocInfo
-            RegAllocLinear
-            RegAllocStats
-            RegArchBase
-            RegArchX86
-            RegCoalesce
-            RegLiveness
-            RegSpill
-            RegSpillClean
-            RegSpillCost
+            Instruction
+            Size
+            Reg
+            RegClass
+            PIC
+            Platform
+            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:
@@ -455,15 +552,11 @@ Library
             TcSplice
             Convert
             ByteCodeAsm
-            ByteCodeFFI
             ByteCodeGen
             ByteCodeInstr
             ByteCodeItbls
             ByteCodeLink
             Debugger
-            GhciMonad
-            GhciTags
-            InteractiveUI
             LibFFI
             Linker
             ObjLink