Use target libraries instead of host libraries. Fixes #11243

This commit is contained in:
Jan Niklas Hasse
2014-01-11 20:44:39 +01:00
parent 7fe8692d33
commit e330d4b8bc
3 changed files with 5 additions and 5 deletions
+2 -1
View File
@@ -163,7 +163,8 @@ pub fn add_library_path(&mut self, p: Path) {
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()
}
+2 -3
View File
@@ -17,7 +17,7 @@
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> {
+1 -1
View File
@@ -459,7 +459,7 @@ fn visit_view_item(&mut self, vi: &ast::ViewItem, env: ()) {
};
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) => {