about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-09-21 16:30:28 +0000
committerbors <bors@rust-lang.org>2014-09-21 16:30:28 +0000
commit8d3728fae0fa1979349836be112562aa6d455e76 (patch)
tree7490978bd1f55e1fa1e79ef22fc44e774279ea26
parentb8599ecdb30de6c54852e863d748e70171c8c5f8 (diff)
parent94f05324fee6cd4637adc01f441fafd09e678668 (diff)
downloadrust-8d3728fae0fa1979349836be112562aa6d455e76.tar.gz
rust-8d3728fae0fa1979349836be112562aa6d455e76.zip
auto merge of #17412 : vadimcn/rust/gccpref, r=alexcrichton
Fixes #17251
-rw-r--r--src/etc/make-win-dist.py6
-rw-r--r--src/librustc/driver/driver.rs4
-rw-r--r--src/librustc/metadata/filesearch.rs8
3 files changed, 11 insertions, 7 deletions
diff --git a/src/etc/make-win-dist.py b/src/etc/make-win-dist.py
index bb9a112b7b2..9d883dec968 100644
--- a/src/etc/make-win-dist.py
+++ b/src/etc/make-win-dist.py
@@ -58,15 +58,15 @@ def make_win_dist(dist_root, target_triple):
     for src in rustc_dlls:
         shutil.copy(src, dist_bin_dir)
 
-    # Copy platform tools (and another copy of runtime dlls) to platform-spcific bin directory
-    target_bin_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "bin")
+    # Copy platform tools to platform-specific bin directory
+    target_bin_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "gcc", "bin")
     if not os.path.exists(target_bin_dir):
         os.makedirs(target_bin_dir)
     for src in target_tools:
         shutil.copy(src, target_bin_dir)
 
     # Copy platform libs to platform-spcific lib directory
-    target_lib_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "lib")
+    target_lib_dir = os.path.join(dist_root, "bin", "rustlib", target_triple, "gcc", "lib")
     if not os.path.exists(target_lib_dir):
         os.makedirs(target_lib_dir)
     for src in target_libs:
diff --git a/src/librustc/driver/driver.rs b/src/librustc/driver/driver.rs
index 4ff9133c8a5..b4e7b296268 100644
--- a/src/librustc/driver/driver.rs
+++ b/src/librustc/driver/driver.rs
@@ -560,8 +560,8 @@ pub fn phase_6_link_output(sess: &Session,
                            trans: &CrateTranslation,
                            outputs: &OutputFilenames) {
     let old_path = os::getenv("PATH").unwrap_or_else(||String::new());
-    let mut new_path = os::split_paths(old_path.as_slice());
-    new_path.push_all_move(sess.host_filesearch().get_tools_search_paths());
+    let mut new_path = sess.host_filesearch().get_tools_search_paths();
+    new_path.push_all_move(os::split_paths(old_path.as_slice()));
     os::setenv("PATH", os::join_paths(new_path.as_slice()).unwrap());
 
     time(sess.time_passes(), "linking", (), |_|
diff --git a/src/librustc/metadata/filesearch.rs b/src/librustc/metadata/filesearch.rs
index 148aaf95686..553ec096521 100644
--- a/src/librustc/metadata/filesearch.rs
+++ b/src/librustc/metadata/filesearch.rs
@@ -150,8 +150,12 @@ impl<'a> FileSearch<'a> {
         p.push(find_libdir(self.sysroot));
         p.push(rustlibdir());
         p.push(self.triple);
-        p.push("bin");
-        vec![p]
+        let mut p1 = p.clone();
+        p1.push("bin");
+        let mut p2 = p.clone();
+        p2.push("gcc");
+        p2.push("bin");
+        vec![p1, p2]
     }
 }