Move bundled gcc and its libs out into $rust/rustlib/<triple>/gcc/(bin|lib). This way the libs won't be on the -L library search path, and won't confuse external gcc, if one is used. The bundled gcc itself will still be able to find them, because it searches for libs relative to own install location.
This commit is contained in:
parent
3b6e880fff
commit
04c41eb372
@ -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:
|
||||
|
@ -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]
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user