]> git.lizzy.rs Git - rust.git/commitdiff
Revert "mk: Run 'make install' through install.sh"
authorBrian Anderson <banderson@mozilla.com>
Mon, 24 Mar 2014 19:04:27 +0000 (12:04 -0700)
committerBrian Anderson <banderson@mozilla.com>
Mon, 24 Mar 2014 21:29:22 +0000 (14:29 -0700)
This reverts commit e93709a911637194835268420e67d768ee19b5df.

Makefile.in
mk/dist.mk
mk/install.mk

index 660aeae62171328509f283cc646b42d7475782de..04ff606d0b93991c71f87a8870bffa372fcc2dfb 100644 (file)
@@ -232,20 +232,19 @@ ifneq ($(strip $(findstring prepare,$(MAKECMDGOALS)) \
   include $(CFG_SRC_DIR)mk/prepare.mk
 endif
 
+# (Unix) Installation from the build directory
+ifneq ($(findstring install,$(MAKECMDGOALS)),)
+  CFG_INFO := $(info cfg: including install rules)
+  include $(CFG_SRC_DIR)mk/install.mk
+endif
+
 # Source and binary distribution artifacts
 ifneq ($(strip $(findstring dist,$(MAKECMDGOALS)) \
-               $(findstring install,$(MAKECMDGOALS)) \
                $(findstring clean,$(MAKECMDGOALS))),)
   CFG_INFO := $(info cfg: including dist rules)
   include $(CFG_SRC_DIR)mk/dist.mk
 endif
 
-# (Unix) Installation from the build directory
-ifneq ($(findstring install,$(MAKECMDGOALS)),)
-  CFG_INFO := $(info cfg: including install rules)
-  include $(CFG_SRC_DIR)mk/install.mk
-endif
-
 # Cleaning
 ifneq ($(findstring clean,$(MAKECMDGOALS)),)
   CFG_INFO := $(info cfg: including clean rules)
index 9dd54e3ebe2e084ff606d845921fcf613dc7a239..80bd048b8b42d1d9c023417cf6c89d32bb4ef0b7 100644 (file)
@@ -22,7 +22,7 @@
 # * dist-tar-bins - Ad-hoc Unix binary installers
 # * dist-docs - Stage docs for upload
 
-PKG_NAME := $(CFG_PACKAGE_NAME)
+PKG_NAME = $(CFG_PACKAGE_NAME)
 
 # License suitable for displaying in a popup
 LICENSE.txt: $(S)COPYRIGHT $(S)LICENSE-APACHE $(S)LICENSE-MIT
index 7bae272b47aa94a5d1444ff311d4b1eb06cc8b91..6e56767a9d7e346b8707b2f6620b9910dfa4b7d8 100644 (file)
@@ -8,17 +8,68 @@
 # option. This file may not be copied, modified, or distributed
 # except according to those terms.
 
+# FIXME: Docs are currently not installed from the stageN dirs.
+# For consistency it might be desirable for stageN to be an exact
+# mirror of the installation directory structure.
 
-install: dist-install-dir-$(CFG_BUILD)
-       $(Q)sh tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(CFG_PREFIX)"
+# The stage we install from
+ISTAGE = $(PREPARE_STAGE)
 
-uninstall: dist-install-dir-$(CFG_BUILD)
-       $(Q)sh tmp/dist/$(PKG_NAME)-$(CFG_BUILD)/install.sh --prefix="$(CFG_PREFIX)" --uninstall
+install: PREPARE_HOST=$(CFG_BUILD)
+install: PREPARE_TARGETS=$(CFG_TARGET)
+install: PREPARE_DIR_CMD=$(DEFAULT_PREPARE_DIR_CMD)
+install: PREPARE_BIN_CMD=$(DEFAULT_PREPARE_BIN_CMD)
+install: PREPARE_LIB_CMD=$(DEFAULT_PREPARE_LIB_CMD)
+install: PREPARE_MAN_CMD=$(DEFAULT_PREPARE_MAN_CMD)
+install: PREPARE_SOURCE_DIR=$(PREPARE_HOST)/stage$(PREPARE_STAGE)
+install: PREPARE_SOURCE_BIN_DIR=$(PREPARE_SOURCE_DIR)/bin
+install: PREPARE_SOURCE_LIB_DIR=$(PREPARE_SOURCE_DIR)/$(CFG_LIBDIR_RELATIVE)
+install: PREPARE_SOURCE_MAN_DIR=$(S)/man
+install: PREPARE_DEST_BIN_DIR=$(DESTDIR)$(CFG_PREFIX)/bin
+install: PREPARE_DEST_LIB_DIR=$(DESTDIR)$(CFG_LIBDIR)
+install: PREPARE_DEST_MAN_DIR=$(DESTDIR)$(CFG_MANDIR)/man1
+install: prepare-everything
 
 
-######################################################################
-# Android remote installation
-######################################################################
+# Uninstall code
+
+PREFIX_ROOT = $(CFG_PREFIX)
+PREFIX_BIN = $(PREFIX_ROOT)/bin
+PREFIX_LIB = $(CFG_LIBDIR)
+
+INSTALL_TOOLS := $(PREPARE_TOOLS)
+
+# Shorthand for build/stageN/bin
+HB = $(HBIN$(ISTAGE)_H_$(CFG_BUILD))
+HB2 = $(HBIN2_H_$(CFG_BUILD))
+# Shorthand for build/stageN/lib
+HL = $(HLIB$(ISTAGE)_H_$(CFG_BUILD))
+# Shorthand for the prefix bin directory
+PHB = $(PREFIX_BIN)
+# Shorthand for the prefix bin directory
+PHL = $(PREFIX_LIB)
+
+HOST_LIB_FROM_HL_GLOB = \
+  $(patsubst $(HL)/%,$(PHL)/%,$(wildcard $(HL)/$(1)))
+
+uninstall: $(foreach tool,$(INSTALL_TOOLS),uninstall-tool-$(tool))
+       $(Q)rm -Rf $(PHL)/$(CFG_RUSTLIBDIR)
+
+define UNINSTALL_TOOL
+uninstall-tool-$(1): $$(foreach dep,$$(TOOL_DEPS_$(1)),uninstall-lib-$$(dep))
+       $$(Q)rm -f $$(PHB)/$(1)$$(X_$$(CFG_BUILD))
+       $$(Q)rm -f $$(CFG_MANDIR)/man1/$(1).1
+endef
+
+$(foreach tool,$(INSTALL_TOOLS),$(eval $(call UNINSTALL_TOOL,$(tool))))
+
+define UNINSTALL_LIB
+uninstall-lib-$(1): $$(foreach dep,$$(RUST_DEPS_$(1)),uninstall-lib-$$(dep))
+       $$(Q)rm -f $$(call HOST_LIB_FROM_HL_GLOB,$$(call CFG_LIB_GLOB_$$(CFG_BUILD),$(1)))
+endef
+
+$(foreach lib,$(CRATES),$(eval $(call UNINSTALL_LIB,$(lib))))
+
 
 # Android runtime setup
 # FIXME: This probably belongs somewhere else