From 9ae8e5457c4fa1588adc8bba8cde45d5c93626b6 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 18 Jul 2009 21:00:58 +0000 Subject: [PATCH] Change how PACKAGES is constructed, so that everything gets cleaned properly If Windows wasn't defined properly then the Win32 package wasn't being cleaned, as it wasn't added to PACKAGES. Now we always add everything to PACKAGES when CLEANING=YES. --- ghc.mk | 84 ++++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/ghc.mk b/ghc.mk index 81ec2f8..70c601b 100644 --- a/ghc.mk +++ b/ghc.mk @@ -282,46 +282,52 @@ include rules/bindist.mk # ----------------------------------------------------------------------------- # Building libraries -# XXX generate from $(TOP)/packages -PACKAGES = \ - ghc-prim \ - integer-gmp \ - integer \ - base \ - filepath \ - array \ - bytestring \ - containers +define addPackage # args: $1 = package, $2 = condition + ifneq "$2" "" + ifeq "$$(CLEANING)" "YES" + PACKAGES += $1 + else + ifeq $2 + PACKAGES += $1 + endif + endif + else + PACKAGES += $1 + endif +endef -ifeq "$(Windows)" "YES" -PACKAGES += Win32 -else -PACKAGES += unix -endif - -PACKAGES += \ - old-locale \ - old-time \ - time \ - directory \ - process \ - random \ - extensible-exceptions \ - haskell98 \ - hpc \ - pretty \ - syb \ - template-haskell \ - base3-compat \ - Cabal \ - mtl \ - utf8-string - -ifneq "$(Windows)" "YES" -PACKAGES += terminfo -endif - -PACKAGES += haskeline +$(eval $(call addPackage,ghc-prim)) +$(eval $(call addPackage,integer-gmp)) +$(eval $(call addPackage,integer)) +$(eval $(call addPackage,base)) +$(eval $(call addPackage,filepath)) +$(eval $(call addPackage,array)) +$(eval $(call addPackage,bytestring)) +$(eval $(call addPackage,containers)) + +$(eval $(call addPackage,Win32,($$(Windows),YES))) +$(eval $(call addPackage,unix,($$(Windows),NO))) + +$(eval $(call addPackage,old-locale)) +$(eval $(call addPackage,old-time)) +$(eval $(call addPackage,time)) +$(eval $(call addPackage,directory)) +$(eval $(call addPackage,process)) +$(eval $(call addPackage,random)) +$(eval $(call addPackage,extensible-exceptions)) +$(eval $(call addPackage,haskell98)) +$(eval $(call addPackage,hpc)) +$(eval $(call addPackage,pretty)) +$(eval $(call addPackage,syb)) +$(eval $(call addPackage,template-haskell)) +$(eval $(call addPackage,base3-compat)) +$(eval $(call addPackage,Cabal)) +$(eval $(call addPackage,mtl)) +$(eval $(call addPackage,utf8-string)) + +$(eval $(call addPackage,terminfo,($$(Windows),YES))) + +$(eval $(call addPackage,haskeline)) ifneq "$(BootingFromHc)" "YES" PACKAGES_STAGE2 += \ -- 1.7.10.4