[project @ 2004-11-12 13:28:35 by simonpj]
[ghc-hetmet.git] / ghc / compiler / Makefile
index 6169091..12e50eb 100644 (file)
@@ -235,7 +235,7 @@ CLEAN_FILES += $(CONFIG_HS)
 ALL_DIRS = \
   utils basicTypes types hsSyn prelude rename typecheck deSugar coreSyn \
   specialise simplCore stranal stgSyn simplStg codeGen main \
-  profiling parser cprAnalysis compMan ndpFlatten cbits iface cmm
+  profiling parser cprAnalysis compMan ndpFlatten iface cmm
 
 # Make sure we include Config.hs even if it doesn't exist yet...
 ALL_SRCS += $(CONFIG_HS)
@@ -507,7 +507,28 @@ primop-usage.hs-incl: prelude/primops.txt
 #-----------------------------------------------------------------------------
 #              Linking
 
-SRC_LD_OPTS += -no-link-chk 
+# Include libghccompat in stage1 only.  In stage2 onwards, all these
+# libraries will be available from the main libraries.
+ifeq "$(stage)" "1"
+SRC_HC_OPTS += -i$(GHC_LIB_COMPAT_DIR)
+SRC_LD_OPTS += -L$(GHC_LIB_COMPAT_DIR) -lghccompat
+
+ifeq "$(Windows)" "YES"
+# not very nice, but required for -lghccompat on Windows
+SRC_LD_OPTS += -lshell32
+endif
+
+# This is horrible.  We ought to be able to omit the entire directory
+# from mkDependHS.
+SRC_MKDEPENDHS_OPTS += \
+       -optdep--exclude-module=Compat.RawSystem \
+       -optdep--exclude-module=Data.Version \
+       -optdep--exclude-module=Distribution.Package \
+       -optdep--exclude-module=Distribution.InstalledPackageInfo \
+       -optdep--exclude-module=Distribution.Package
+endif
+
+SRC_LD_OPTS += -no-link-chk
 
 # -----------------------------------------------------------------------------
 # create ghc-inplace, a convenient way to run ghc from the build tree...