about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-01-11 13:06:27 -0800
committerbors <bors@rust-lang.org>2014-01-11 13:06:27 -0800
commitdb9ef2869543669103227e8f156b32978c165c83 (patch)
treef5d296d02eb1a1933080764e4c5d8ad0f1e941f0
parent91aec7c8a65db0768fdccc29706cba731101f7fc (diff)
parente330d4b8bc5ac5baa512a9a9fad9e151769fc2bf (diff)
downloadrust-db9ef2869543669103227e8f156b32978c165c83.tar.gz
rust-db9ef2869543669103227e8f156b32978c165c83.zip
auto merge of #11338 : jhasse/rust/patch-rustpkgtarget, r=alexcrichton
#11243
-rw-r--r--src/librustpkg/context.rs3
-rw-r--r--src/librustpkg/path_util.rs5
-rw-r--r--src/librustpkg/util.rs2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/librustpkg/context.rs b/src/librustpkg/context.rs
index 5362ca2c932..01df2bf1619 100644
--- a/src/librustpkg/context.rs
+++ b/src/librustpkg/context.rs
@@ -163,7 +163,8 @@ impl Context {
 pub fn in_target(sysroot: &Path) -> bool {
     debug!("Checking whether {} is in target", sysroot.display());
     let mut p = sysroot.dir_path();
-    p.set_filename(rustlibdir());
+    p.pop();
+    p.push(rustlibdir());
     p.is_dir()
 }
 
diff --git a/src/librustpkg/path_util.rs b/src/librustpkg/path_util.rs
index aaaf56af436..78ff748c3b9 100644
--- a/src/librustpkg/path_util.rs
+++ b/src/librustpkg/path_util.rs
@@ -17,7 +17,7 @@ pub use target::{OutputType, Main, Lib, Test, Bench, Target, Build, Install};
 pub use version::{Version, ExactRevision, NoVersion, split_version, split_version_general,
     try_parsing_version};
 pub use rustc::metadata::filesearch::rust_path;
-use rustc::metadata::filesearch::libdir;
+use rustc::metadata::filesearch::{libdir, relative_target_lib_path};
 use rustc::driver::driver::host_triple;
 
 use std::libc;
@@ -213,10 +213,9 @@ pub fn library_in_workspace(path: &Path, short_name: &str, where: Target,
     library_in(short_name, version, &dir_to_search)
 }
 
-// rustc doesn't use target-specific subdirectories
 pub fn system_library(sysroot: &Path, crate_id: &str) -> Option<Path> {
     let (lib_name, version) = split_crate_id(crate_id);
-    library_in(lib_name, &version, &sysroot.join(libdir()))
+    library_in(lib_name, &version, &sysroot.join(relative_target_lib_path(host_triple())))
 }
 
 fn library_in(short_name: &str, version: &Version, dir_to_search: &Path) -> Option<Path> {
diff --git a/src/librustpkg/util.rs b/src/librustpkg/util.rs
index c1fa67171b5..1c76b652975 100644
--- a/src/librustpkg/util.rs
+++ b/src/librustpkg/util.rs
@@ -459,7 +459,7 @@ impl<'a> Visitor<()> for ViewItemVisitor<'a> {
                 };
                 debug!("Finding and installing... {}", lib_name);
                 // Check standard Rust library path first
-                let whatever = system_library(&self.context.sysroot(), lib_name);
+                let whatever = system_library(&self.context.sysroot_to_use(), lib_name);
                 debug!("system library returned {:?}", whatever);
                 match whatever {
                     Some(ref installed_path) => {