X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=12b0d0c7469a29d534897d1b55375a30c781034e;hb=3ebd889775714f8ad3bae8d9cc7a4790ef04614f;hp=3214c656e24d1c12f2237335ec96e16ce842f9f1;hpb=949499484225617839916e6aba414f9f3b38aab1;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index 3214c65..12b0d0c 100644 --- 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