1
0
mirror of https://github.com/BLAKE3-team/BLAKE3 synced 2024-09-08 03:30:45 +02:00

build(windows): add support for gnullvm targets

This commit is contained in:
Maksim Bondarenkov 2024-07-14 07:50:32 +03:00 committed by Jack O'Connor
parent 84a4ec319a
commit d94882d66d

View File

@ -74,7 +74,7 @@ fn is_big_endian() -> bool {
endianness() == "big"
}
// Windows targets may be using the MSVC toolchain or the GNU toolchain. The
// Windows targets may be using the MSVC toolchain or the MinGW toolchain. The
// right compiler flags to use depend on the toolchain. (And we don't want to
// use flag_if_supported, because we don't want features to be silently
// disabled by old compilers.)
@ -85,11 +85,15 @@ fn is_windows_msvc() -> bool {
&& target_components()[3] == "msvc"
}
// MinGW toolchain uses 2 different targets depending on the main compiler.
// Target for a general MinGW toolchain ends with `-gnu` (GCC is used as C
// compiler). Target for a LLVM-MinGW toolchain (Clang is used as C compiler)
// ends with `-gnullvm`.
fn is_windows_gnu() -> bool {
// Some targets are only two components long, so check in steps.
target_components()[1] == "pc"
&& target_components()[2] == "windows"
&& target_components()[3] == "gnu"
&& target_components()[3] != "msvc"
}
fn new_build() -> cc::Build {