ghc_stage3_PROG = ghc-stage3$(exeext)
# ToDo: perhaps use ghc-cabal to configure ghc-bin
-ghc_stage1_USE_BOOT_LIBS = YES
ghc_stage1_HC_OPTS += -package $(compiler_PACKAGE)-$(compiler_stage1_VERSION)
ghc_stage2_HC_OPTS += -package $(compiler_PACKAGE)-$(compiler_stage2_VERSION)
ghc_stage3_HC_OPTS += -package $(compiler_PACKAGE)-$(compiler_stage3_VERSION)
#
# -----------------------------------------------------------------------------
-define build-package-data # args: $1 = dir, $2 = distdir
+define build-package-data
+# args:
+# $1 = dir
+# $2 = distdir
+# $3 = GHC stage to use (0 == bootstrapping compiler)
ifeq "$$(filter p,$$(GhcLibWays))" "p"
$1_$2_CONFIGURE_OPTS += --enable-library-profiling
$1/$2/package-data.mk $1/$2/inplace-pkg-config $1/$2/build/autogen/cabal_macros.h : $$(GHC_CABAL_INPLACE) $$($1_$2_GHC_PKG_DEP) $1/$$($1_PACKAGE).cabal $$(wildcard $1/configure) $$($1_$2_HC_CONFIG_DEP)
"$$(GHC_CABAL_INPLACE)" configure --with-ghc="$$($1_$2_HC_CONFIG)" --with-ghc-pkg="$$($1_$2_GHC_PKG)" --with-gcc="$$(WhatGccIsCalled)" --configure-option=--with-cc="$$(WhatGccIsCalled)" $$($1_CONFIGURE_OPTS) $$($1_$2_CONFIGURE_OPTS) -- $2 $1
ifeq "$$($1_$2_PROG)" ""
-ifeq "$$(ghc_ge_6102) $$($1_$2_USE_BOOT_LIBS)" "NO YES" # NOTE [1] below
+ifeq "$$(ghc_ge_6102) $3" "NO 0" # NOTE [1] below
cat $1/$2/inplace-pkg-config | sed "s@^import-dirs:@import-dirs: $(TOP)/$1 $(TOP)/$1/src @" | "$$($1_$2_GHC_PKG)" update --force $$($1_$2_GHC_PKG_OPTS) -
else
"$$($1_$2_GHC_PKG)" update --force $$($1_$2_GHC_PKG_OPTS) $1/$2/inplace-pkg-config
# --- CONFIGURATION
-$1_$2_USE_BOOT_LIBS = YES
$(call package-config,$1,$2,$3)
ifneq "$$(NO_INCLUDE_PKGDATA)" "YES"
ifneq "$$(BINDIST)" "YES"
# We have a rule for package-data.mk only when the package is
# disabled, because we want the build to fail if we haven't run phase 0.
-$(call build-package-data,$1,$2)
+$(call build-package-data,$1,$2,$3)
endif
else
# We have a rule for package-data.mk only when the package is
# disabled, because we want the build to fail if we haven't run phase 0.
ifneq "$(BINDIST)" "YES"
-$(call build-package-data,$1,$2)
+$(call build-package-data,$1,$2,$3)
endif
else
# on cygwin we get a dep on c:/ghc/..., and make gets confused by the :
$1_$2_HC_MK_DEPEND_DEP =
$1_$2_HC_DEP =
-ifeq "$$($1_$2_USE_BOOT_LIBS)" "YES"
$1_$2_HC_PKGCONF = -package-conf $$(BOOTSTRAPPING_CONF)
$1_$2_GHC_PKG_OPTS = --package-conf=$$(BOOTSTRAPPING_CONF)
$1_$2_CONFIGURE_OPTS += --package-db=$$(TOP)/$$(BOOTSTRAPPING_CONF)
-endif
else
$1_$2_ghc_ge_609 = YES
$1_$2_HC_PKGCONF =