LLVM: Add in new LLVM mangler for implementing TNTC on OSX
[ghc-hetmet.git] / compiler / ghc.cabal.in
index ec87c4a..925014e 100644 (file)
@@ -18,7 +18,7 @@ Description:
     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.
@@ -68,11 +68,11 @@ Library
                        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.4,
+                       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
@@ -88,6 +88,8 @@ Library
     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
@@ -102,9 +104,6 @@ Library
 
     if flag(stage1)
         Include-Dirs: stage1
-        if impl(ghc < 6.9)
-            Build-Depends: extensible-exceptions
-            Extensions: PatternSignatures
     else
         if flag(stage2)
             Include-Dirs: stage2
@@ -127,12 +126,13 @@ Library
         cmm
         codeGen
         coreSyn
-        cprAnalysis
         deSugar
         ghci
         hsSyn
         iface
+        llvmGen
         main
+        nativeGen
         parser
         prelude
         profiling
@@ -155,12 +155,22 @@ Library
         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
@@ -201,6 +211,7 @@ Library
         MkZipCfg
         MkZipCfgCmm
         OptimizationFuel
+        PprBase
         PprC
         PprCmm
         PprCmmZ
@@ -217,6 +228,7 @@ Library
         CgClosure
         CgCon
         CgExpr
+        CgExtCode
         CgForeignCall
         CgHeapery
         CgHpc
@@ -263,7 +275,6 @@ Library
         MkExternalCore
         PprCore
         PprExternalCore
-        CprAnalyse
         Check
         Coverage
         Desugar
@@ -317,18 +328,16 @@ Library
         InteractiveEval
         PackageConfig
         Packages
-        ParsePkgConf
         PprTyThing
         StaticFlags
         StaticFlagParser
         SysTools
         TidyPgm
         Ctype
-        HaddockLex
-        HaddockParse
         HaddockUtils
         LexCore
         Lexer
+        OptCoercion
         Parser
         ParserCore
         ParserCoreUtils
@@ -374,9 +383,6 @@ Library
         StgLint
         StgSyn
         DmdAnal
-        SaAbsInt
-        SaLib
-        StrictAnal
         WorkWrap
         WwLib
         FamInst
@@ -435,7 +441,6 @@ Library
         GraphPpr
         IOEnv
         Interval
-        LazyUniqFM
         ListSetOps
         Maybes
         MonadUtils
@@ -456,10 +461,9 @@ Library
         VectUtils
         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)
-        hs-source-dirs:
-            nativeGen
-
         Exposed-Modules:
             AsmCodeGen
             TargetReg
@@ -468,7 +472,6 @@ Library
             Size
             Reg
             RegClass
-            PprBase
             PIC
             Platform
             Alpha.Regs
@@ -491,10 +494,10 @@ Library
             SPARC.Regs
             SPARC.RegPlate
             SPARC.Imm
-            SPARC.AddrMode         
+            SPARC.AddrMode
             SPARC.Cond
             SPARC.Instr
-            SPARC.Stack           
+            SPARC.Stack
             SPARC.ShortcutJump
             SPARC.Ppr
             SPARC.CodeGen