From c91279a1e4fd631d42ad903eaf699a96c22f380e Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 23 Oct 2010 14:56:00 +0000 Subject: [PATCH] Don't build packages that need TH if we are making a profiling compiler You can't use TH with a profiling compiler. --- ghc.mk | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/ghc.mk b/ghc.mk index 4850720..1545f4d 100644 --- a/ghc.mk +++ b/ghc.mk @@ -292,12 +292,17 @@ include rules/bindist.mk # Packages that are built but not installed INTREE_ONLY_PACKAGES := haskeline mtl terminfo utf8-string xhtml +DPH_PACKAGES := dph/dph-base dph/dph-prim-interface dph/dph-prim-seq \ + dph/dph-common dph/dph-prim-par dph/dph-par dph/dph-seq \ + vector primitive + # Packages that, if present, must be built by the stage2 compiler, # because they use TH and/or annotations, or depend on other stage2 -# packages. -STAGE2_PACKAGES := dph/dph-base dph/dph-prim-interface dph/dph-prim-seq \ - dph/dph-common dph/dph-prim-par dph/dph-par dph/dph-seq \ - vector primitive haskell98 haskell2010 +# packages: +STAGE2_PACKAGES := $(DPH_PACKAGES) haskell98 haskell2010 +# Packages that we shouldn't build if we don't have TH (e.g. because +# we're building a profiled compiler): +TH_PACKAGES := $(DPH_PACKAGES) # Packages that are built by stage0, in addition to stage1. These # packages are dependencies of GHC, that we do not assume the stage0 @@ -348,11 +353,13 @@ define addPackageGeneral endef define addPackage # args: $1 = package, $2 = condition +ifneq "$(filter $1,$(TH_PACKAGES)) $(GhcProfiled)" "$1 YES" ifeq "$(filter $1,$(STAGE2_PACKAGES))" "$1" $(call addPackageGeneral,PACKAGES_STAGE2,$1,$2) else $(call addPackageGeneral,PACKAGES,$1,$2) endif +endif endef $(eval $(call addPackage,ghc-prim)) -- 1.7.10.4