GHC new build system megapatch
[ghc-hetmet.git] / compiler / ghc.cabal.in
index 156a2f8..55f235a 100644 (file)
@@ -1,15 +1,22 @@
+-- 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
 
@@ -41,6 +48,15 @@ Flag ncg
 
 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
@@ -57,8 +73,8 @@ Library
                        process    >= 1   && < 1.1,
                        bytestring >= 0.9 && < 0.10,
                        old-time   >= 1   && < 1.1,
-                       containers >= 0.1 && < 0.2,
-                       array      >= 0.1 && < 0.2
+                       containers >= 0.1 && < 0.3,
+                       array      >= 0.1 && < 0.3
 
     Build-Depends: filepath >= 1 && < 1.2
     Build-Depends: haskell98, Cabal, hpc
@@ -88,23 +104,28 @@ Library
     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
                 ForeignFunctionInterface, EmptyDataDecls,
                 TypeSynonymInstances, MultiParamTypeClasses,
-                FlexibleInstances, Rank2Types, ScopedTypeVariables
+                FlexibleInstances, Rank2Types, ScopedTypeVariables,
+                DeriveDataTypeable, RelaxedPolyRec
 
     Include-Dirs: . parser utils
 
     if flag(stage1)
         Include-Dirs: stage1
-       if impl(ghc < 6.9)
-           Extensions: PatternSignatures
+        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:
@@ -161,6 +182,7 @@ Library
         CLabel
         Cmm
         CmmBrokenBlock
+        CmmBuildInfoTables
         CmmCPS
         CmmCPSGen
         CmmCPSZ
@@ -179,12 +201,12 @@ Library
         CmmProcPoint
         CmmProcPointZ
         CmmSpillReload
+        CmmStackLayout
         CmmTx
         CmmUtils
         CmmZipUtil
         DFMonad
         Dataflow
-        MachOp
         MkZipCfg
         MkZipCfgCmm
         OptimizationFuel
@@ -217,9 +239,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
@@ -267,6 +306,7 @@ Library
         LoadIface
         MkIface
         TcIface
+        Annotations
         BreakArray
         CmdLineParser
         CodeOutput
@@ -320,6 +360,7 @@ Library
         RnPat
         RnSource
         RnTypes
+        CoreMonad
         CSE
         FloatIn
         FloatOut
@@ -349,6 +390,7 @@ Library
         WwLib
         FamInst
         Inst
+        TcAnnotations
         TcArrows
         TcBinds
         TcClassDcl
@@ -410,9 +452,9 @@ Library
         Outputable
         Panic
         Pretty
+        Serialized
         State
         StringBuffer
-        Unicode
         UniqFM
         UniqSet
         Util
@@ -429,23 +471,69 @@ Library
 
         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
+            PprBase
+            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
+            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: