Skip to content

Commit

Permalink
Use RUSTC_LINKER's prefix as last resort for prefix_for_target().
Browse files Browse the repository at this point in the history
  • Loading branch information
dot-asm committed Jul 11, 2022
1 parent 53fb72c commit 9a77fbe
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2595,11 +2595,22 @@ impl Build {
}

fn prefix_for_target(&self, target: &str) -> Option<String> {
// Put aside RUSTC_LINKER's prefix to be used as last resort
let rustc_linker = self.getenv("RUSTC_LINKER").unwrap_or("".to_string());
// let linker_prefix = rustc_linker.strip_suffix("-gcc"); // >=1.45.0
let linker_prefix = if rustc_linker.len() > 4 {
let (prefix, suffix) = rustc_linker.split_at(rustc_linker.len() - 4);
if suffix == "-gcc" {
Some(prefix)
} else {
None
}
} else {
None
};
// CROSS_COMPILE is of the form: "arm-linux-gnueabi-"
let cc_env = self.getenv("CROSS_COMPILE");
let cross_compile = cc_env
.as_ref()
.map(|s| s.trim_right_matches('-').to_owned());
let cross_compile = cc_env.as_ref().map(|s| s.trim_end_matches('-').to_owned());
cross_compile.or(match &target[..] {
"aarch64-pc-windows-gnu" => Some("aarch64-w64-mingw32"),
"aarch64-uwp-windows-gnu" => Some("aarch64-w64-mingw32"),
Expand Down Expand Up @@ -2706,7 +2717,7 @@ impl Build {
]), // explicit None if not found, so caller knows to fall back
"x86_64-unknown-linux-musl" => Some("musl"),
"x86_64-unknown-netbsd" => Some("x86_64--netbsd"),
_ => None,
_ => linker_prefix,
}
.map(|x| x.to_owned()))
}
Expand Down

0 comments on commit 9a77fbe

Please sign in to comment.