Cabal depends on -package unix when GHC <= 6.2
[ghc-hetmet.git] / compat / compat.mk
index 48b2bea..4162a6d 100644 (file)
@@ -6,6 +6,10 @@
 # have to deal with variations in the package support of different
 # versions of GHC.
 
+ifneq "$(UseStage1)" "YES"
+
+SRC_HC_OPTS += -DUSING_COMPAT
+
 # Use libghccompat.a:
 SRC_HC_OPTS += -i$(GHC_COMPAT_DIR)
 SRC_LD_OPTS += -L$(GHC_COMPAT_DIR) -lghccompat
@@ -15,6 +19,15 @@ ifeq "$(ghc_ge_603)" "YES"
 SRC_HC_OPTS += -ignore-package Cabal
 endif
 
+ifeq "$(ghc_ge_607)" "YES"
+SRC_HC_OPTS += -package directory
+SRC_HC_OPTS += -package pretty
+endif
+
+ifeq "$(ghc_ge_603)" "NO"
+SRC_HC_OPTS += -package unix
+endif
+
 # And similarly for when booting from .hc files:
 HC_BOOT_LD_OPTS += -L$(GHC_COMPAT_DIR)
 HC_BOOT_LIBS += -lghccompat
@@ -41,4 +54,21 @@ SRC_MKDEPENDHS_OPTS += \
        -optdep--exclude-module=Distribution.ParseUtils \
        -optdep--exclude-module=Distribution.Compiler \
        -optdep--exclude-module=Distribution.Version \
-       -optdep--exclude-module=System.Directory.Internals
+       -optdep--exclude-module=System.FilePath \
+       -optdep--exclude-module=System.FilePath.Posix \
+       -optdep--exclude-module=System.FilePath.Windows \
+       -optdep--exclude-module=System.Directory.Internals \
+       -optdep--exclude-module=Trace.Hpc.Mix \
+       -optdep--exclude-module=Trace.Hpc.Tix \
+       -optdep--exclude-module=Trace.Hpc.Util
+
+PACKAGE_CABAL =
+PACKAGE_HPC   =
+
+else
+
+PACKAGE_CABAL = -package Cabal
+PACKAGE_HPC   = -package hpc
+
+endif
+