From: Ian Lynagh Date: Sun, 16 Jan 2011 01:59:43 +0000 (+0000) Subject: Remove an unnecessary phase, and some unnecessary deps X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=ac77a1eba3a7673241f371ce4aa6bf56323383bc Remove an unnecessary phase, and some unnecessary deps now that cross-package deps are tracked correctly. --- diff --git a/Makefile b/Makefile index 12cae74..8d49d0f 100644 --- a/Makefile +++ b/Makefile @@ -74,10 +74,6 @@ ifneq "$(OMIT_PHASE_3)" "YES" @echo "===--- building phase 3" $(MAKE) -r --no-print-directory -f ghc.mk phase=3 all endif -ifneq "$(OMIT_PHASE_4)" "YES" - @echo "===--- building phase 4" - $(MAKE) -r --no-print-directory -f ghc.mk phase=4 all -endif @echo "===--- building final phase" $(MAKE) -r --no-print-directory -f ghc.mk $@ diff --git a/ghc.mk b/ghc.mk index 9667464..7853aff 100644 --- a/ghc.mk +++ b/ghc.mk @@ -621,10 +621,6 @@ phase_3_or_later = YES endif ifeq "$(findstring $(phase),0 1 2 3)" "" phase_3_done = YES -phase_4_or_later = YES -endif -ifeq "$(findstring $(phase),0 1 2 3 4)" "" -phase_4_done = YES endif includes_dist-derivedconstants_CONFIGURE_PHASE = 0 @@ -640,39 +636,31 @@ utils/genprimopcode_dist_CONFIGURE_PHASE = 0 # Then the bootlibs $(foreach lib,$(STAGE0_PACKAGES),$(eval \ libraries/$(lib)_dist-boot_CONFIGURE_PHASE = 1)) +compiler_stage1_CONFIGURE_PHASE = 1 +ghc_stage1_CONFIGURE_PHASE = 1 -# We put the stage 1 compiler package in a later phase than the bootlibs -# for the same reasone we have the -# $(compiler_stage1_depfile_haskell) : $(BOOT_LIBS) -# dependency below -compiler_stage1_CONFIGURE_PHASE = 2 - -# Now we make the stage 1 compiler binary. Again, in a later phase than -# its package for the same reason as the -# $(ghc_stage1_depfile_haskell) : $(compiler_stage1_v_LIB) -# dep below -ghc_stage1_CONFIGURE_PHASE = 3 +# In phase 2, the phase 1 things actually get built # Finally, the stage1 compiler is used to make the dependencies for # everything else, so we can now build the rest. -compiler_stage2_CONFIGURE_PHASE = 4 -ghc_stage2_CONFIGURE_PHASE = 4 +compiler_stage2_CONFIGURE_PHASE = 3 +ghc_stage2_CONFIGURE_PHASE = 3 $(foreach lib,$(PACKAGES) $(PACKAGES_STAGE2),$(eval \ - libraries/$(lib)_dist-install_CONFIGURE_PHASE = 4)) - -utils/hp2ps_dist_CONFIGURE_PHASE = 4 -utils/genapply_dist_CONFIGURE_PHASE = 4 -utils/haddock_dist_CONFIGURE_PHASE = 4 -utils/hsc2hs_dist-install_CONFIGURE_PHASE = 4 -utils/ghc-pkg_dist-install_CONFIGURE_PHASE = 4 -utils/hpc_dist_CONFIGURE_PHASE = 4 -utils/runghc_dist_CONFIGURE_PHASE = 4 -utils/ghctags_dist_CONFIGURE_PHASE = 4 -utils/ghc-pwd_dist_CONFIGURE_PHASE = 4 -utils/ghc-cabal_dist-install_CONFIGURE_PHASE = 4 -utils/mkUserGuidePart_dist_CONFIGURE_PHASE = 4 -utils/compare_sizes_dist_CONFIGURE_PHASE = 4 + libraries/$(lib)_dist-install_CONFIGURE_PHASE = 3)) + +utils/hp2ps_dist_CONFIGURE_PHASE = 3 +utils/genapply_dist_CONFIGURE_PHASE = 3 +utils/haddock_dist_CONFIGURE_PHASE = 3 +utils/hsc2hs_dist-install_CONFIGURE_PHASE = 3 +utils/ghc-pkg_dist-install_CONFIGURE_PHASE = 3 +utils/hpc_dist_CONFIGURE_PHASE = 3 +utils/runghc_dist_CONFIGURE_PHASE = 3 +utils/ghctags_dist_CONFIGURE_PHASE = 3 +utils/ghc-pwd_dist_CONFIGURE_PHASE = 3 +utils/ghc-cabal_dist-install_CONFIGURE_PHASE = 3 +utils/mkUserGuidePart_dist_CONFIGURE_PHASE = 3 +utils/compare_sizes_dist_CONFIGURE_PHASE = 3 # ---------------------------------------------- # Actually include all the sub-ghc.mk's @@ -756,20 +744,6 @@ compiler/stage1/package-data.mk : \ libraries/extensible-exceptions/dist-boot/package-data.mk \ libraries/bin-package-db/dist-boot/package-data.mk -# These are necessary because the bootstrapping compiler may not know -# about cross-package dependencies: -$(compiler_stage1_depfile_haskell) : $(BOOT_LIBS) -$(ghc_stage1_depfile_haskell) : $(compiler_stage1_v_LIB) - -# A few careful dependencies between bootstrapping packages. When we -# can rely on the stage 0 compiler being able to generate -# cross-package dependencies with -M (fixed in GHC 6.12.1) we can drop -# these, and also some of the phases. -# -# If you miss any out here, then 'make -j8' will probably tell you. -# -libraries/bin-package-db/dist-boot/build/Distribution/InstalledPackageInfo/Binary.$(v_osuf) : libraries/binary/dist-boot/build/Data/Binary.$(v_hisuf) libraries/Cabal/dist-boot/build/Distribution/InstalledPackageInfo.$(v_hisuf) - # Make sure we have all the GHCi libs by the time we've built # ghc-stage2. DPH includes a bit of Template Haskell which needs the # GHCI libs, and we don't have a better way to express that dependency.