X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc.mk;h=5040ff5097c0a90efd6de60a2a0fdff37d8105e3;hp=9667464bf1875665d5c7b095101161aa8b9cec04;hb=ff30c8f61ed7318563a4f9185815e80cf35e363d;hpb=cf450022ae22080c114321a244ef12102e1f66ba diff --git a/ghc.mk b/ghc.mk index 9667464..5040ff5 100644 --- a/ghc.mk +++ b/ghc.mk @@ -493,12 +493,10 @@ libraries/ghc-prim_dist-install_EXTRA_HADDOCK_SRCS = libraries/ghc-prim/dist-ins 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 - ifeq "$(INTEGER_LIBRARY)" "integer-simple" - libraries/base_dist-install_CONFIGURE_OPTS += --flags=integer-simple - else $(error Unknown integer library: $(INTEGER_LIBRARY)) - endif endif endif @@ -569,6 +567,8 @@ endif ifeq "$(INTEGER_LIBRARY)" "integer-gmp" BUILD_DIRS += libraries/integer-gmp/gmp +else ifneq "$(findstring clean,$(MAKECMDGOALS))" "" +BUILD_DIRS += libraries/integer-gmp/gmp endif BUILD_DIRS += \ @@ -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,35 @@ 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 +driver/ghc_dist_CONFIGURE_PHASE = 1 +driver/ghci_dist_CONFIGURE_PHASE = 1 +driver/haddock_dist_CONFIGURE_PHASE = 1 +utils/touchy_dist_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 @@ -750,25 +742,7 @@ $(eval $(call build-package,libraries/bin-package-db,dist-boot,0)) fixed_pkg_prev= $(foreach pkg,$(STAGE0_PACKAGES),$(eval $(call fixed_pkg_dep,$(pkg),dist-boot))) -compiler/stage1/package-data.mk : \ - libraries/Cabal/dist-boot/package-data.mk \ - libraries/hpc/dist-boot/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) +compiler/stage1/package-data.mk : $(fixed_pkg_prev) # 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 @@ -1215,17 +1189,6 @@ clean : clean_files clean_libraries clean_files : "$(RM)" $(RM_OPTS) $(CLEAN_FILES) -ifneq "$(NO_CLEAN_GMP)" "YES" -CLEAN_FILES += libraries/integer-gmp/gmp/gmp.h -CLEAN_FILES += libraries/integer-gmp/gmp/libgmp.a - -clean : clean_gmp -.PHONY: clean_gmp -clean_gmp: - "$(RM)" $(RM_OPTS_REC) libraries/integer-gmp/gmp/objs - "$(RM)" $(RM_OPTS_REC) libraries/integer-gmp/gmp/gmpbuild -endif - .PHONY: clean_libraries clean_libraries: $(patsubst %,clean_libraries/%_dist-install,$(PACKAGES) $(PACKAGES_STAGE2)) clean_libraries: $(patsubst %,clean_libraries/%_dist-boot,$(STAGE0_PACKAGES))