Type families: bug fixes
[ghc-hetmet.git] / compiler / ghc.cabal
index 5a62841..ce02408 100644 (file)
@@ -3,7 +3,7 @@ Name: ghc
 Version: 6.9
 Copyright: XXX
 -- License: XXX
-License-File: XXX
+License-File: ../LICENSE
 Author: XXX
 Maintainer: glasgow-haskell-users@haskell.org
 Homepage: http://www.haskell.org/ghc/
@@ -14,17 +14,31 @@ Category: XXX
 Build-Type: Simple
 Cabal-Version: >= 1.2
 
+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 editline
     Description: Use editline
+    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?
@@ -32,16 +46,21 @@ Flag stage1
 Library
     Exposed: False
 
+    if flag(base4)
+        Build-Depends: base       >= 4   && < 5
     if flag(base3)
-        Build-Depends: base       >= 3   && < 5,
-                       directory  >= 1   && < 1.1,
+        Build-Depends: base       >= 3   && < 4
+    if !flag(base3) && !flag(base4)
+        Build-Depends: base       < 3
+
+    if flag(base3) || flag(base4)
+        Build-Depends: directory  >= 1   && < 1.1,
                        process    >= 1   && < 1.1,
                        bytestring >= 0.9 && < 0.10,
                        old-time   >= 1   && < 1.1,
                        containers >= 0.1 && < 0.2,
                        array      >= 0.1 && < 0.2
-    else
-        Build-Depends: base < 3
+
     Build-Depends: filepath >= 1 && < 1.2
     Build-Depends: haskell98, Cabal, hpc
     if os(windows)
@@ -60,6 +79,9 @@ Library
         CPP-Options: -DGHCI
         Include-Dirs: ../libffi/build/include
 
+    if !flag(ncg)
+        CPP-Options: -DOMIT_NATIVE_CODEGEN
+
     -- 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
@@ -67,12 +89,14 @@ Library
     Extensions: CPP, MagicHash, UnboxedTuples, PatternGuards,
                 ForeignFunctionInterface, EmptyDataDecls,
                 TypeSynonymInstances, MultiParamTypeClasses,
-                FlexibleInstances, Rank2Types, PatternSignatures
+                FlexibleInstances, Rank2Types, ScopedTypeVariables
 
     Include-Dirs: . parser utils
 
     if flag(stage1)
         Include-Dirs: stage1
+       if impl(ghc < 6.9)
+           Extensions: PatternSignatures
     else
         Include-Dirs: stage2plus
     Install-Includes: HsVersions.h, ghc_boot_platform.h
@@ -98,7 +122,6 @@ Library
         hsSyn
         iface
         main
-        nativeGen
         parser
         prelude
         profiling
@@ -267,26 +290,9 @@ Library
         ParsePkgConf
         PprTyThing
         StaticFlags
+        StaticFlagParser
         SysTools
         TidyPgm
-        AsmCodeGen
-        MachCodeGen
-        MachInstrs
-        MachRegs
-        NCGMonad
-        PositionIndependentCode
-        PprMach
-        RegAllocColor
-        RegAllocInfo
-        RegAllocLinear
-        RegAllocStats
-        RegArchBase
-        RegArchX86
-        RegCoalesce
-        RegLiveness
-        RegSpill
-        RegSpillClean
-        RegSpillCost
         Ctype
         HaddockLex
         HaddockParse
@@ -418,6 +424,30 @@ Library
         VectUtils
         Vectorise
 
+    if flag(ncg)
+        hs-source-dirs:
+            nativeGen
+
+        Exposed-Modules:
+            AsmCodeGen
+            MachCodeGen
+            MachInstrs
+            MachRegs
+            NCGMonad
+            PositionIndependentCode
+            PprMach
+            RegAllocColor
+            RegAllocInfo
+            RegAllocLinear
+            RegAllocStats
+            RegArchBase
+            RegArchX86
+            RegCoalesce
+            RegLiveness
+            RegSpill
+            RegSpillClean
+            RegSpillCost
+
     if flag(ghci)
         Exposed-Modules:
             DsMeta