From ce20571a55ecc7915eaaa95bfedb67d389d2899c Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 22 Jul 2014 17:17:57 -0700 Subject: [PATCH 1/3] Revert "Made 'make install' include libs for additional targets" This reverts commit 87334fb05ff2a665419241d877c13d6c4770a3f4. Conflicts: mk/install.mk --- mk/dist.mk | 34 +++++++++++++--------------------- mk/install.mk | 4 ++-- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/mk/dist.mk b/mk/dist.mk index c73d66a999ec7..a3d9a5758e411 100644 --- a/mk/dist.mk +++ b/mk/dist.mk @@ -205,17 +205,19 @@ distcheck-osx: dist-osx # Unix binary installer tarballs ###################################################################### -define DEF_PREPARE_DIST_DIR - -dist-install-dir-$(1)$(3): PREPARE_HOST=$(1) -dist-install-dir-$(1)$(3): PREPARE_TARGETS=$(2) -dist-install-dir-$(1)$(3): PREPARE_DEST_DIR=tmp/dist/$$(PKG_NAME)-$(1) -dist-install-dir-$(1)$(3): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) -dist-install-dir-$(1)$(3): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) -dist-install-dir-$(1)$(3): PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) -dist-install-dir-$(1)$(3): PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) -dist-install-dir-$(1)$(3): PREPARE_CLEAN=true -dist-install-dir-$(1)$(3): prepare-base-dir-$(1) docs compiler-docs +define DEF_INSTALLER + +$$(eval $$(call DEF_PREPARE,dir-$(1))) + +dist-install-dir-$(1): PREPARE_HOST=$(1) +dist-install-dir-$(1): PREPARE_TARGETS=$(1) +dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_NAME)-$(1) +dist-install-dir-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) +dist-install-dir-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) +dist-install-dir-$(1): PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD) +dist-install-dir-$(1): PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD) +dist-install-dir-$(1): PREPARE_CLEAN=true +dist-install-dir-$(1): prepare-base-dir-$(1) docs compiler-docs $$(Q)(cd $$(PREPARE_DEST_DIR)/ && find . -type f | sed 's/^\.\///') \ > tmp/dist/manifest-$(1).in $$(Q)mv tmp/dist/manifest-$(1).in $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/rustlib/manifest.in @@ -227,16 +229,6 @@ dist-install-dir-$(1)$(3): prepare-base-dir-$(1) docs compiler-docs $$(Q)cp -r doc $$(PREPARE_DEST_DIR) $$(Q)$$(PREPARE_BIN_CMD) $$(S)src/etc/install.sh $$(PREPARE_DEST_DIR) -endef - -define DEF_INSTALLER - -$$(eval $$(call DEF_PREPARE,dir-$(1))) - -$$(eval $$(call DEF_PREPARE_DIST_DIR,$(1),$(1),)) - -$$(eval $$(call DEF_PREPARE_DIST_DIR,$(1),$(CFG_TARGET),-with-target-libs)) - dist/$$(PKG_NAME)-$(1).tar.gz: dist-install-dir-$(1) @$(call E, build: $$@) $$(Q)tar -czf dist/$$(PKG_NAME)-$(1).tar.gz -C tmp/dist $$(PKG_NAME)-$(1) diff --git a/mk/install.mk b/mk/install.mk index b9baf6e02e102..b7dac6a2e921c 100644 --- a/mk/install.mk +++ b/mk/install.mk @@ -14,12 +14,12 @@ else MAYBE_DISABLE_VERIFY= endif -install: dist-install-dir-$(CFG_BUILD)-with-target-libs | tmp/empty_dir +install: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir $(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" "$(MAYBE_DISABLE_VERIFY)" # Remove tmp files while we can because they may have been created under sudo $(Q)rm -R tmp/dist -uninstall: dist-install-dir-$(CFG_BUILD)-with-target-libs | tmp/empty_dir +uninstall: dist-install-dir-$(CFG_BUILD) | tmp/empty_dir $(Q)cd tmp/empty_dir && sh ../../tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --uninstall --prefix="$(DESTDIR)$(CFG_PREFIX)" --libdir="$(DESTDIR)$(CFG_LIBDIR)" --mandir="$(DESTDIR)$(CFG_MANDIR)" # Remove tmp files while we can because they may have been created under sudo $(Q)rm -R tmp/dist From 04914fddfb772eed2fe83b7638bd04ca23eacc0a Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 22 Jul 2014 17:20:15 -0700 Subject: [PATCH 2/3] configure: Add --enable-dist-host-only flag This preserves the current behavior of `make dist` where we only distribute bins for the host architecture. The bots need this. --- configure | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure b/configure index b6513cb0f74c6..53fb8e25c5ff0 100755 --- a/configure +++ b/configure @@ -422,6 +422,8 @@ opt rpath 0 "build rpaths into rustc itself" opt nightly 0 "build nightly packages" opt verify-install 1 "verify installed binaries work" opt jemalloc 1 "build liballoc with jemalloc" +# This is used by the automation to produce single-target nightlies +opt dist-host-only 0 "only install bins for the host architecture" valopt prefix "/usr/local" "set installation prefix" valopt local-rust-root "/usr/local" "set prefix for local rust binary" valopt llvm-root "" "set LLVM root" From e34e86d151341076556635b9bc233338d3d9898e Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Wed, 23 Jul 2014 12:04:13 -0700 Subject: [PATCH 3/3] mk: Have the various flavors of 'dist' install all targets by default Closes #15711 --- mk/dist.mk | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/mk/dist.mk b/mk/dist.mk index a3d9a5758e411..99fad94bf76ab 100644 --- a/mk/dist.mk +++ b/mk/dist.mk @@ -156,7 +156,7 @@ define DEF_OSX_PKG $$(eval $$(call DEF_PREPARE,osx-$(1))) dist-prepare-osx-$(1): PREPARE_HOST=$(1) -dist-prepare-osx-$(1): PREPARE_TARGETS=$(1) +dist-prepare-osx-$(1): PREPARE_TARGETS=$(2) dist-prepare-osx-$(1): PREPARE_DEST_DIR=tmp/dist/pkgroot-$(1) dist-prepare-osx-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) dist-prepare-osx-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) @@ -187,7 +187,11 @@ tmp/dist/pkgres-$(1)/%: $(S)src/etc/pkg/% endef -$(foreach host,$(CFG_HOST),$(eval $(call DEF_OSX_PKG,$(host)))) +ifneq ($(CFG_ENABLE_DIST_HOST_ONLY),) +$(foreach host,$(CFG_HOST),$(eval $(call DEF_OSX_PKG,$(host),$(host)))) +else +$(foreach host,$(CFG_HOST),$(eval $(call DEF_OSX_PKG,$(host),$(TARGET)))) +endif dist-osx: $(foreach host,$(CFG_HOST),dist/$(PKG_NAME)-$(host).pkg) @@ -210,7 +214,7 @@ define DEF_INSTALLER $$(eval $$(call DEF_PREPARE,dir-$(1))) dist-install-dir-$(1): PREPARE_HOST=$(1) -dist-install-dir-$(1): PREPARE_TARGETS=$(1) +dist-install-dir-$(1): PREPARE_TARGETS=$(2) dist-install-dir-$(1): PREPARE_DEST_DIR=tmp/dist/$$(PKG_NAME)-$(1) dist-install-dir-$(1): PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD) dist-install-dir-$(1): PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD) @@ -235,8 +239,13 @@ dist/$$(PKG_NAME)-$(1).tar.gz: dist-install-dir-$(1) endef +ifneq ($(CFG_ENABLE_DIST_HOST_ONLY),) $(foreach host,$(CFG_HOST),\ - $(eval $(call DEF_INSTALLER,$(host)))) + $(eval $(call DEF_INSTALLER,$(host),$(host)))) +else +$(foreach host,$(CFG_HOST),\ + $(eval $(call DEF_INSTALLER,$(host),$(CFG_TARGET)))) +endif dist-install-dirs: $(foreach host,$(CFG_HOST),dist-install-dir-$(host))