Remove (most of) the FiniteMap wrapper
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 9a52105..f79732c 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
 
@@ -308,6 +312,10 @@ define addPackage # args: $1 = package, $2 = condition
     endif
 endef
 
+INTREE_ONLY_PACKAGES := haskeline mtl terminfo utf8-string xhtml
+
+$(foreach p,$(INTREE_ONLY_PACKAGES),$(eval libraries/$p_dist-install_HADDOCK_ME = NO))
+
 $(eval $(call addPackage,ghc-prim))
 ifeq "$(CLEANING)" "YES"
 $(eval $(call addPackage,integer-gmp))
@@ -349,20 +357,28 @@ $(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 \
+# -------------------  Adding DPH packaes ---------------
+
+# 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
 endif
-endif
+endif  # BootingFromHc
+# ------------------------------------------------------- 
+
 
 # We assume that the stage0 compiler has a suitable bytestring package,
 # so we don't have to include it below.
@@ -885,7 +901,7 @@ INSTALLED_GHC_REAL=$(DESTDIR)$(bindir)/ghc.exe
 INSTALLED_GHC_PKG_REAL=$(DESTDIR)$(bindir)/ghc-pkg.exe
 endif
 
-INSTALLED_PACKAGES := $(filter-out haskeline mtl terminfo utf8-string xhtml,$(PACKAGES))
+INSTALLED_PACKAGES := $(filter-out $(INTREE_ONLY_PACKAGES),$(PACKAGES))
 ifeq "$(InstallExtraPackages)" "NO"
 INSTALLED_PACKAGES := $(filter-out $(EXTRA_PACKAGES), $(INSTALLED_PACKAGES))
 endif