Do not build DPH when GhcProfiled (fixes #4172)
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index a9ad5ea..fadaccd 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -345,6 +345,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 +357,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 +525,7 @@ BUILD_DIRS += \
    driver \
    driver/ghci \
    driver/ghc \
+   driver/haddock \
    libffi \
    includes \
    rts
@@ -531,11 +537,9 @@ BUILD_DIRS += \
    $(GHC_GENAPPLY_DIR)
 endif
 
-ifneq "$(HADDOCK_DOCS)" "NO"
 BUILD_DIRS += \
    utils/haddock \
    utils/haddock/doc
-endif
 
 ifneq "$(CLEANING)" "YES"
 BUILD_DIRS += \
@@ -647,21 +651,6 @@ GhcBootLibHcOpts += -fno-warn-deprecated-flags
 # Add $(GhcLibHcOpts) to all library builds
 $(foreach pkg,$(PACKAGES) $(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS += $$(GhcLibHcOpts)))
 
-# XXX Hack; remove this
-# Use -Wwarn for dph
-$(foreach pkg,$(PACKAGES_STAGE2),$(eval libraries/$(pkg)_dist-install_HC_OPTS += -Wwarn))
-
-# XXX Hack; remove this
-# Use -Wwarn for 'binary' becuase it has redundant UNPACK pragmas
-libraries/binary_dist-install_HC_OPTS += -Wwarn
-libraries/binary_dist-boot_HC_OPTS += -Wwarn
-
-# XXX hack: xhtml has warnings
-libraries/xhtml_dist-install_HC_OPTS += -Wwarn
-
-# XXX hack: haskeline has warnings about deprecated use of block/unblock
-libraries/haskeline_dist-install_HC_OPTS += -Wwarn
-
 # ----------------------------------------------
 # A useful pseudo-target
 .PHONY: stage1_libs