Skip to content

Commit 76c821e

Browse files
mati865thomcc
authored andcommitted
Add LLVM based MinGW targets
1 parent 4796486 commit 76c821e

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/lib.rs

+9-3
Original file line numberDiff line numberDiff line change
@@ -2301,7 +2301,8 @@ impl Build {
23012301
if target.contains("msvc") {
23022302
msvc.to_string()
23032303
} else {
2304-
format!("{}.exe", gnu)
2304+
let cc = if target.contains("llvm") { clang } else { gnu };
2305+
format!("{}.exe", cc)
23052306
}
23062307
} else if target.contains("apple-ios") {
23072308
clang.to_string()
@@ -2329,7 +2330,10 @@ impl Build {
23292330
} else if self.get_host()? != target {
23302331
let prefix = self.prefix_for_target(&target);
23312332
match prefix {
2332-
Some(prefix) => format!("{}-{}", prefix, gnu),
2333+
Some(prefix) => {
2334+
let cc = if target.contains("llvm") { clang } else { gnu };
2335+
format!("{}-{}", prefix, cc)
2336+
}
23332337
None => default.to_string(),
23342338
}
23352339
} else {
@@ -2634,7 +2638,8 @@ impl Build {
26342638
let cc_env = self.getenv("CROSS_COMPILE");
26352639
let cross_compile = cc_env.as_ref().map(|s| s.trim_end_matches('-').to_owned());
26362640
cross_compile.or(match &target[..] {
2637-
"aarch64-pc-windows-gnu" => Some("aarch64-w64-mingw32"),
2641+
// Note: there is no `aarch64-pc-windows-gnu` target, only `-gnullvm`
2642+
"aarch64-pc-windows-gnullvm" => Some("aarch64-w64-mingw32"),
26382643
"aarch64-uwp-windows-gnu" => Some("aarch64-w64-mingw32"),
26392644
"aarch64-unknown-linux-gnu" => Some("aarch64-linux-gnu"),
26402645
"aarch64-unknown-linux-musl" => Some("aarch64-linux-musl"),
@@ -2737,6 +2742,7 @@ impl Build {
27372742
"thumbv8m.main-none-eabi" => Some("arm-none-eabi"),
27382743
"thumbv8m.main-none-eabihf" => Some("arm-none-eabi"),
27392744
"x86_64-pc-windows-gnu" => Some("x86_64-w64-mingw32"),
2745+
"x86_64-pc-windows-gnullvm" => Some("x86_64-w64-mingw32"),
27402746
"x86_64-uwp-windows-gnu" => Some("x86_64-w64-mingw32"),
27412747
"x86_64-rumprun-netbsd" => Some("x86_64-rumprun-netbsd"),
27422748
"x86_64-unknown-linux-gnu" => self.find_working_gnu_prefix(&[

0 commit comments

Comments
 (0)