about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-05-11 12:29:08 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-05-19 10:36:00 -0700
commit150663c3b6ab2628be08a5c48d98f17a2f9e6e7e (patch)
tree24cd12c0ba52ae3c89e7ecb308d84bba67a9f404
parenteb5bf151a57a6d499ddc9ec7591d0f0648c14330 (diff)
mk: Correct names of installed libs on windows
Previously libmorestack.a and libcompiler-rt.a were installed, but link.exe
looks for morestack.lib and compiler-rt.lib by default, so we need to install
these with the correct name
-rw-r--r--mk/crates.mk3
-rw-r--r--mk/main.mk2
-rw-r--r--mk/platform.mk8
-rw-r--r--mk/prepare.mk2
-rw-r--r--mk/rt.mk7
5 files changed, 10 insertions, 12 deletions
diff --git a/mk/crates.mk b/mk/crates.mk
index 546b16c1b85..62dc1019066 100644
--- a/mk/crates.mk
+++ b/mk/crates.mk
@@ -125,9 +125,6 @@ ONLY_RLIB_rustc_bitflags := 1
 # Documented-by-default crates
 DOC_CRATES := std alloc collections core libc rustc_unicode
 
-# Installed objects/libraries by default
-INSTALLED_OBJECTS := libmorestack.a libcompiler-rt.a
-
 ################################################################################
 # You should not need to edit below this line
 ################################################################################
diff --git a/mk/main.mk b/mk/main.mk
index 44e6537d863..a3e34bfeedb 100644
--- a/mk/main.mk
+++ b/mk/main.mk
@@ -396,8 +396,6 @@ endif
 # Prerequisites for using the stageN compiler to build target artifacts
 TSREQ$(1)_T_$(2)_H_$(3) = \
 	$$(HSREQ$(1)_H_$(3)) \
-	$$(foreach obj,$$(INSTALLED_OBJECTS),\
-		$$(TLIB$(1)_T_$(2)_H_$(3))/$$(obj)) \
 	$$(foreach obj,$$(INSTALLED_OBJECTS_$(2)),\
 		$$(TLIB$(1)_T_$(2)_H_$(3))/$$(obj))
 
diff --git a/mk/platform.mk b/mk/platform.mk
index 2643c3d115d..8e7e61c92a4 100644
--- a/mk/platform.mk
+++ b/mk/platform.mk
@@ -112,6 +112,14 @@ CFG_RLIB_GLOB=lib$(1)-*.rlib
 
 include $(wildcard $(CFG_SRC_DIR)mk/cfg/*.mk)
 
+define ADD_INSTALLED_OBJECTS
+  INSTALLED_OBJECTS_$(1) += $$(call CFG_STATIC_LIB_NAME_$(1),morestack) \
+                            $$(call CFG_STATIC_LIB_NAME_$(1),compiler-rt)
+endef
+
+$(foreach target,$(CFG_TARGET), \
+  $(eval $(call ADD_INSTALLED_OBJECTS,$(target))))
+
 # The -Qunused-arguments sidesteps spurious warnings from clang
 define FILTER_FLAGS
   ifeq ($$(CFG_USING_CLANG),1)
diff --git a/mk/prepare.mk b/mk/prepare.mk
index 1ae6a61c95a..a7f5a489dc5 100644
--- a/mk/prepare.mk
+++ b/mk/prepare.mk
@@ -140,7 +140,7 @@ prepare-target-$(2)-host-$(3)-$(1)-$(4): prepare-maybe-clean-$(4) \
           $$(if $$(findstring $(2),$$(CFG_HOST)), \
             $$(foreach crate,$$(HOST_CRATES), \
               $$(call PREPARE_LIB,$$(call CFG_LIB_GLOB_$(2),$$(crate)))),) \
-	  $$(foreach object,$$(INSTALLED_OBJECTS) $$(INSTALLED_OBJECTS_$(2)),\
+	  $$(foreach object,$$(INSTALLED_OBJECTS_$(2)),\
 	    $$(call PREPARE_LIB,$$(object))),),),)
 endef
 
diff --git a/mk/rt.mk b/mk/rt.mk
index bd6578d3b72..c913fe385d6 100644
--- a/mk/rt.mk
+++ b/mk/rt.mk
@@ -111,11 +111,6 @@ $$(RT_OUTPUT_DIR_$(1))/$$(NATIVE_$(2)_$(1)): $$(OBJS_$(2)_$(1))
 	@$$(call E, link: $$@)
 	$$(Q)$$(AR_$(1)) rcs $$@ $$^
 
-ifeq ($$(findstring windows,$(1)),windows)
-$$(RT_OUTPUT_DIR_$(1))/lib$(2).a: $$(RT_OUTPUT_DIR_$(1))/$$(NATIVE_$(2)_$(1))
-	$$(Q)cp $$^ $$@
-endif
-
 endef
 
 $(foreach target,$(CFG_TARGET), \
@@ -227,7 +222,7 @@ COMPRT_DEPS := $(wildcard \
               $(S)src/compiler-rt/*/*/*/*)
 endif
 
-COMPRT_NAME_$(1) := libcompiler-rt.a
+COMPRT_NAME_$(1) := $$(call CFG_STATIC_LIB_NAME_$(1),compiler-rt)
 COMPRT_LIB_$(1) := $$(RT_OUTPUT_DIR_$(1))/$$(COMPRT_NAME_$(1))
 COMPRT_BUILD_DIR_$(1) := $$(RT_OUTPUT_DIR_$(1))/compiler-rt