stgReallocBytes(DEBUG): don't fail when the ptr passed in is NULL
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 5a1864e..2359c82 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -147,6 +147,11 @@ endif
 endif
 
 # -----------------------------------------------------------------------------
+# Utility definitions
+
+include rules/make-command.mk
+
+# -----------------------------------------------------------------------------
 # Macros for standard targets
 
 include rules/all-target.mk
@@ -345,6 +350,10 @@ $(eval $(call addPackage,haskeline))
 $(foreach pkg,$(EXTRA_PACKAGES),$(eval $(call addPackage,$(pkg))))
 
 ifneq "$(BootingFromHc)" "YES"
+
+ifneq "$(GhcProfiled)" "YES"
+# DPH uses Template Haskell, and Template Haskell doesn't work
+# with a profiled compiler. So if stage-2 is profile, don't build DPH
 PACKAGES_STAGE2 += \
        dph/dph-base \
        dph/dph-prim-interface \
@@ -353,6 +362,7 @@ PACKAGES_STAGE2 += \
        dph/dph-seq \
        dph/dph-par
 endif
+endif
 
 # We assume that the stage0 compiler has a suitable bytestring package,
 # so we don't have to include it below.
@@ -520,6 +530,7 @@ BUILD_DIRS += \
    driver \
    driver/ghci \
    driver/ghc \
+   driver/haddock \
    libffi \
    includes \
    rts
@@ -897,18 +908,23 @@ install_packages: libffi/package.conf.install rts/package.conf.install
        $(INSTALL_DIR) "$(INSTALLED_PACKAGE_CONF)"
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update libffi/package.conf.install
        "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update rts/package.conf.install
-       $(foreach p, $(ALL_INSTALLED_PACKAGES),\
-           "$(GHC_CABAL_INPLACE)" install \
-                "$(INSTALLED_GHC_REAL)" \
-                "$(INSTALLED_GHC_PKG_REAL)" \
-                "$(STRIP_CMD)" \
-                "$(DESTDIR)$(topdir)" \
-                $p $(INSTALL_DISTDIR_$p) \
-                '$(DESTDIR)' '$(prefix)' '$(ghclibdir)' '$(docdir)/html/libraries' \
-                $(RelocatableBuild) &&) true
-       $(foreach p, $(HIDDEN_PACKAGES),\
-           "$(INSTALLED_GHC_PKG_REAL)" --global-conf "$(INSTALLED_PACKAGE_CONF)" \
-                                     hide $p &&) true
+       $(foreach p, $(ALL_INSTALLED_PACKAGES),                       \
+           $(call make-command,                                      \
+                  "$(GHC_CABAL_INPLACE)" install                     \
+                                         "$(INSTALLED_GHC_REAL)"     \
+                                         "$(INSTALLED_GHC_PKG_REAL)" \
+                                         "$(STRIP_CMD)"              \
+                                         "$(DESTDIR)$(topdir)"       \
+                                         $p $(INSTALL_DISTDIR_$p)    \
+                                         '$(DESTDIR)'                \
+                                         '$(prefix)'                 \
+                                         '$(ghclibdir)'              \
+                                         '$(docdir)/html/libraries'  \
+                                         $(RelocatableBuild)))
+       $(foreach p, $(HIDDEN_PACKAGES),                                   \
+           $(call make-command,                                           \
+                  "$(INSTALLED_GHC_PKG_REAL)"                             \
+                      --global-conf "$(INSTALLED_PACKAGE_CONF)" hide $p))
 
 # -----------------------------------------------------------------------------
 # Binary distributions