X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=b2701bf5cf59e8d2ed0ba0101711eaa332aa9f7d;hb=b62f4e789fa4aea34ce6e857d512905054023417;hp=b6df093d335bd738ddd1d04d454a68511166d86b;hpb=0bde11509ca13d4d0914496ee652d7c2b43a0420;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index b6df093..b2701bf 100644 --- a/ghc.mk +++ b/ghc.mk @@ -282,45 +282,51 @@ include rules/bindist.mk # ----------------------------------------------------------------------------- # Building libraries -# XXX generate from $(TOP)/packages -PACKAGES = \ - ghc-prim \ - integer-gmp \ - integer \ - base \ - filepath \ - array \ - bytestring \ - containers - -ifeq "$(Windows)" "YES" -PACKAGES += Win32 -else -PACKAGES += unix -endif - -PACKAGES += \ - old-locale \ - old-time \ - directory \ - process \ - random \ - extensible-exceptions \ - haskell98 \ - hpc \ - pretty \ - syb \ - template-haskell \ - base3-compat \ - Cabal \ - mtl \ - utf8-string - -ifneq "$(Windows)" "YES" -PACKAGES += terminfo -endif +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 -PACKAGES += haskeline +$(eval $(call addPackage,ghc-prim)) +$(eval $(call addPackage,$(INTEGER_LIBRARY))) +$(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),NO))) + +$(eval $(call addPackage,haskeline)) ifneq "$(BootingFromHc)" "YES" PACKAGES_STAGE2 += \ @@ -498,8 +504,11 @@ BUILD_DIRS += \ endif endif +ifeq "$(INTEGER_LIBRARY)" "integer-gmp" +BUILD_DIRS += libraries/integer-gmp/gmp +endif + BUILD_DIRS += \ - libraries/integer-gmp/gmp \ compiler \ $(GHC_HSC2HS_DIR) \ $(GHC_PKG_DIR) \ @@ -528,6 +537,18 @@ ifneq "$(findstring $(phase),0 1 2)" "" ghc_stage1_DISABLE = YES endif +ifneq "$(CLEANING)" "YES" +ifeq "$(INTEGER_LIBRARY)" "integer-gmp" +libraries/base_dist-install_CONFIGURE_OPTS += --flags=-integer-simple +else + ifeq "$(INTEGER_LIBRARY)" "integer-simple" + libraries/base_dist-install_CONFIGURE_OPTS += --flags=integer-simple + else +$(error Unknown integer library: $(INTEGER_LIBRARY)) + endif +endif +endif + ifneq "$(findstring $(phase),0 1 2 3)" "" # In phases 0-3, we disable stage2-3, the full libraries and haddock utils/haddock_dist_DISABLE = YES