Commit 48c3232a authored by Ian Lynagh's avatar Ian Lynagh
Browse files

Split building the ghc package and binary into "boot" and "all" steps

In "boot" we configure, and in "all" we do the actual building.
parent bcbd8d8e
......@@ -40,6 +40,8 @@ PRIMOP_BITS = primop-data-decl.hs-incl \
primop-strictness.hs-incl \
primop-primop-info.hs-incl
boot:: boot.stage.$(stage)
all:: build.stage.$(stage)
stage1 ::
......@@ -160,7 +162,7 @@ CONFIGURE_FLAGS_STAGE1 += $(USE_BOOT_CONFIGURE_FLAGS)
CONFIGURE_FLAGS_STAGE2 += $(USE_STAGE1_CONFIGURE_FLAGS)
CONFIGURE_FLAGS_STAGE3 += $(USE_STAGE2_CONFIGURE_FLAGS)
build.stage.%: $(PRIMOP_BITS)
boot.stage.%:
$(CABAL) configure --distpref dist-stage$* \
$(CONFIGURE_FLAGS_STAGE$*) \
$(INSTALL_DIRS_CONFIGURE_FLAGS) \
......@@ -168,6 +170,8 @@ build.stage.%: $(PRIMOP_BITS)
--ghc-option=-DSTAGE=$*
$(RM) -f Makefile-stage$*
$(CABAL) makefile --distpref dist-stage$* -f Makefile-stage$*
build.stage.%: $(PRIMOP_BITS)
$(MAKE) -f Makefile-stage$* stage=$*
$(CABAL) register --distpref dist-stage$* --inplace
......
......@@ -13,8 +13,7 @@ else
INSTALL_FLAGS = --enable-shell-wrappers
endif
boot:
@:
boot:: boot.stage.$(stage)
all:: build.stage.$(stage)
......@@ -73,12 +72,14 @@ CONFIGURE_FLAGS_STAGE3 += $(USE_STAGE2_CONFIGURE_FLAGS)
# It works because installPackage doesn't actually use ghc-pkg, as there's
# no library to register
build.stage.%:
boot.stage.%:
$(CABAL) configure --distpref dist-stage$* \
$(SET_DATA_SUBDIR) \
$(INSTALL_DIRS_CONFIGURE_FLAGS) \
$(CONFIGURE_FLAGS_STAGE$*) \
$(COMMON_CONFIGURE_FLAGS)
build.stage.%:
$(CABAL) build --distpref dist-stage$* $(BUILD_FLAGS)
$(INSTALL_PACKAGE) install '$(GHC_PKG_PROG)' 'XXX/package.conf' "" \
$(FPTOOLS_TOP_ABS)/ghc/stage$*-inplace \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment