Fix the DPH package cleaning/profiled mess even more (the build was broken)
authorSimon Marlow <marlowsd@gmail.com>
Thu, 26 Aug 2010 08:44:36 +0000 (08:44 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 26 Aug 2010 08:44:36 +0000 (08:44 +0000)
ghc.mk

diff --git a/ghc.mk b/ghc.mk
index 3214c65..12b0d0c 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -101,6 +101,10 @@ endif
 just-makefiles:
        @:
 
+ifneq "$(CLEANING)" "YES"
+CLEANING = NO
+endif
+
 # -----------------------------------------------------------------------------
 # Misc GNU make utils
 
@@ -351,27 +355,27 @@ $(foreach pkg,$(EXTRA_PACKAGES),$(eval $(call addPackage,$(pkg))))
 
 
 # -------------------  Adding DPH packaes ---------------
-DPH_PACKAGES =         dph/dph-base \
+
+# The DPH packages are added when:
+#   * not BootingFromHc (they aren't necessary for bootstrapping), and
+#     * not GhcProfiled (they need TH, so can't be compiled by a -prof GHC), or
+#     * CLEANING: when cleaning we always enable everything
+
+# if !BootingFromHc && (!GhcProfiled || CLEANING)
+
+ifneq "$(BootingFromHc)" "YES"
+ifneq "$(GhcProfiled) $(CLEANING)" "NO YES"
+PACKAGES_STAGE2 += dph/dph-base \
        dph/dph-prim-interface \
        dph/dph-prim-seq \
        dph/dph-prim-par \
        dph/dph-seq \
        dph/dph-par
-ifneq "$(BootingFromHc)" "YES"
-ifeq "$(CLEANING)" "YES"
-# If we are cleaning we must add DPH packages regardless,
-# for reasons we now forget
-PACKAGES_STAGE2 += $(DPH_PACKAGES)
-else # not CLEANING
-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_PACKAGES)
-endif  # GhcProfiled
-endif  # Cleaning
+endif
 endif  # BootingFromHc
 # ------------------------------------------------------- 
 
+
 # We assume that the stage0 compiler has a suitable bytestring package,
 # so we don't have to include it below.
 BOOT_PKGS = Cabal hpc extensible-exceptions binary bin-package-db