diff --git a/configure b/configure index 45b4405132f..e875a9a0923 100755 --- a/configure +++ b/configure @@ -401,7 +401,8 @@ valopt infodir "${CFG_PREFIX}/share/info" "install additional info" valopt mandir "${CFG_PREFIX}/share/man" "install man pages in PATH" # On windows we just store the libraries in the bin directory because -# there's no rpath +# there's no rpath. This is where the build system itself puts libraries; +# --libdir is used to configure the installation directory. # FIXME: Thise needs to parameterized over target triples. Do it in platform.mk CFG_LIBDIR_RELATIVE=lib if [ "$CFG_OSTYPE" = "pc-mingw32" ] @@ -410,7 +411,6 @@ then fi valopt libdir "${CFG_PREFIX}/${CFG_LIBDIR_RELATIVE}" "install libraries" -valopt rustlibdir "rustlib" "subdirectory name for rustc's libraries" if [ $HELP -eq 1 ] then @@ -777,10 +777,10 @@ do make_dir $h/stage$i/test # target bin dir - make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/$CFG_RUSTLIBDIR/$t/bin + make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/bin # target lib dir - make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/$CFG_RUSTLIBDIR/$t/lib + make_dir $h/stage$i/$CFG_LIBDIR_RELATIVE/rustlib/$t/lib done done @@ -1039,7 +1039,6 @@ putvar CFG_HOST putvar CFG_TARGET putvar CFG_C_COMPILER putvar CFG_LIBDIR -putvar CFG_RUSTLIBDIR putvar CFG_LIBDIR_RELATIVE putvar CFG_DISABLE_MANAGE_SUBMODULES putvar CFG_ANDROID_CROSS_PATH diff --git a/mk/dist.mk b/mk/dist.mk index 91f64decb0c..60549e299cc 100644 --- a/mk/dist.mk +++ b/mk/dist.mk @@ -200,7 +200,7 @@ 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) $$(Q)(cd $$(PREPARE_DEST_DIR)/ && find -type f | sed 's/^\.\///') \ - > $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/$$(CFG_RUSTLIBDIR)/manifest + > $$(PREPARE_DEST_DIR)/$$(CFG_LIBDIR_RELATIVE)/rustlib/manifest $$(Q)$$(PREPARE_MAN_CMD) $$(S)COPYRIGHT $$(PREPARE_DEST_DIR) $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-APACHE $$(PREPARE_DEST_DIR) $$(Q)$$(PREPARE_MAN_CMD) $$(S)LICENSE-MIT $$(PREPARE_DEST_DIR) diff --git a/mk/main.mk b/mk/main.mk index ccbdf30a1ff..38943f1f773 100644 --- a/mk/main.mk +++ b/mk/main.mk @@ -281,7 +281,6 @@ export CFG_LLVM_ROOT export CFG_ENABLE_MINGW_CROSS export CFG_PREFIX export CFG_LIBDIR -export CFG_RUSTLIBDIR export CFG_LIBDIR_RELATIVE export CFG_DISABLE_INJECT_STD_VERSION @@ -302,7 +301,7 @@ HBIN$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/bin HLIB$(1)_H_$(3) = $$(HROOT$(1)_H_$(3))/$$(CFG_LIBDIR_RELATIVE) # Destinations of artifacts for target architectures -TROOT$(1)_T_$(2)_H_$(3) = $$(HLIB$(1)_H_$(3))/$$(CFG_RUSTLIBDIR)/$(2) +TROOT$(1)_T_$(2)_H_$(3) = $$(HLIB$(1)_H_$(3))/rustlib/$(2) TBIN$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/bin TLIB$(1)_T_$(2)_H_$(3) = $$(TROOT$(1)_T_$(2)_H_$(3))/lib diff --git a/mk/prepare.mk b/mk/prepare.mk index bf626b2101e..ae76ecc594c 100644 --- a/mk/prepare.mk +++ b/mk/prepare.mk @@ -121,8 +121,8 @@ endef # $(4) tag define DEF_PREPARE_TARGET_N # Rebind PREPARE_*_LIB_DIR to point to rustlib, then install the libs for the targets -prepare-target-$(2)-host-$(3)-$(1)-$(4): PREPARE_WORKING_SOURCE_LIB_DIR=$$(PREPARE_SOURCE_LIB_DIR)/$$(CFG_RUSTLIBDIR)/$(2)/lib -prepare-target-$(2)-host-$(3)-$(1)-$(4): PREPARE_WORKING_DEST_LIB_DIR=$$(PREPARE_DEST_LIB_DIR)/$$(CFG_RUSTLIBDIR)/$(2)/lib +prepare-target-$(2)-host-$(3)-$(1)-$(4): PREPARE_WORKING_SOURCE_LIB_DIR=$$(PREPARE_SOURCE_LIB_DIR)/rustlib/$(2)/lib +prepare-target-$(2)-host-$(3)-$(1)-$(4): PREPARE_WORKING_DEST_LIB_DIR=$$(PREPARE_DEST_LIB_DIR)/rustlib/$(2)/lib prepare-target-$(2)-host-$(3)-$(1)-$(4): prepare-maybe-clean-$(4) \ $$(foreach crate,$$(TARGET_CRATES), \ $$(TLIB$(1)_T_$(2)_H_$(3))/stamp.$$(crate)) \ diff --git a/mk/stage0.mk b/mk/stage0.mk index 5582e50b7c4..080e733724d 100644 --- a/mk/stage0.mk +++ b/mk/stage0.mk @@ -15,7 +15,7 @@ $(SNAPSHOT_RUSTC_POST_CLEANUP): \ # Note: the variable "SNAPSHOT_FILE" is generally not set, and so # we generally only pass one argument to this script. ifdef CFG_ENABLE_LOCAL_RUST - $(Q)$(S)src/etc/local_stage0.sh $(CFG_BUILD) $(CFG_LOCAL_RUST_ROOT) $(CFG_RUSTLIBDIR) + $(Q)$(S)src/etc/local_stage0.sh $(CFG_BUILD) $(CFG_LOCAL_RUST_ROOT) rustlib else $(Q)$(CFG_PYTHON) $(S)src/etc/get-snapshot.py $(CFG_BUILD) $(SNAPSHOT_FILE) ifdef CFG_ENABLE_PAX_FLAGS diff --git a/mk/tests.mk b/mk/tests.mk index 22d686b1b0e..b0ae685faa8 100644 --- a/mk/tests.mk +++ b/mk/tests.mk @@ -104,7 +104,7 @@ ifdef CFG_WINDOWSY_$(1) stage2/$$(CFG_LIBDIR_RELATIVE), \ $$(if $$(findstring stage3,$$(1)), \ stage3/$$(CFG_LIBDIR_RELATIVE), \ - )))))/$$(CFG_RUSTLIBDIR)/$$(CFG_BUILD)/lib + )))))/rustlib/$$(CFG_BUILD)/lib CFG_RUN_TEST_$(1)=$$(call CFG_RUN_$(1),$$(call CFG_TESTLIB_$(1),$$(1),$$(3)),$$(1)) endif diff --git a/src/etc/install.sh b/src/etc/install.sh index 8dfc1903094..e6d20b932b3 100644 --- a/src/etc/install.sh +++ b/src/etc/install.sh @@ -237,7 +237,6 @@ need_ok "failed to remove install probe" # First, uninstall from the installation prefix. # Errors are warnings - try to rm everything in the manifest even if some fail. -# FIXME: Hardcoded 'rustlib' ignores CFG_RUSTLIBDIR if [ -f "${CFG_PREFIX}/lib/rustlib/manifest" ] then # Iterate through installed manifest and remove files diff --git a/src/librustc/metadata/filesearch.rs b/src/librustc/metadata/filesearch.rs index fa794c88345..31252ab4f82 100644 --- a/src/librustc/metadata/filesearch.rs +++ b/src/librustc/metadata/filesearch.rs @@ -242,5 +242,5 @@ pub fn libdir() -> ~str { // The name of rustc's own place to organize libraries. // Used to be "rustc", now the default is "rustlib" pub fn rustlibdir() -> ~str { - (env!("CFG_RUSTLIBDIR")).to_owned() + ~"rustlib" }