diff --git a/crates/targets/aarch64_gnullvm/build.rs b/crates/targets/aarch64_gnullvm/build.rs index 8c8f98f5ec..f6ba3ec3ff 100644 --- a/crates/targets/aarch64_gnullvm/build.rs +++ b/crates/targets/aarch64_gnullvm/build.rs @@ -1,6 +1,9 @@ fn main() { + let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap(); + let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); + let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap(); let target = std::env::var("TARGET").unwrap(); - if target != "aarch64-pc-windows-gnullvm" { + if family != "windows" || arch != "aarch64" || env != "gnu" || !target.ends_with("-gnullvm") { return; } diff --git a/crates/targets/i686_gnu/build.rs b/crates/targets/i686_gnu/build.rs index 9dbe7e5406..d10600d9d7 100644 --- a/crates/targets/i686_gnu/build.rs +++ b/crates/targets/i686_gnu/build.rs @@ -1,6 +1,8 @@ fn main() { - let target = std::env::var("TARGET").unwrap(); - if target != "i686-pc-windows-gnu" && target != "i686-uwp-windows-gnu" { + let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap(); + let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); + let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap(); + if family != "windows" || arch != "x86" || env != "gnu" { return; } diff --git a/crates/targets/x86_64_gnu/build.rs b/crates/targets/x86_64_gnu/build.rs index 7612e7935d..ea4f74aa4d 100644 --- a/crates/targets/x86_64_gnu/build.rs +++ b/crates/targets/x86_64_gnu/build.rs @@ -1,6 +1,9 @@ fn main() { + let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap(); + let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); + let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap(); let target = std::env::var("TARGET").unwrap(); - if target != "x86_64-pc-windows-gnu" && target != "x86_64-uwp-windows-gnu" { + if family != "windows" || arch != "x86_64" || env != "gnu" || !target.ends_with("-gnu") { return; } diff --git a/crates/targets/x86_64_gnullvm/build.rs b/crates/targets/x86_64_gnullvm/build.rs index ea83354fad..15b80b8d98 100644 --- a/crates/targets/x86_64_gnullvm/build.rs +++ b/crates/targets/x86_64_gnullvm/build.rs @@ -1,6 +1,9 @@ fn main() { + let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap(); + let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap(); + let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap(); let target = std::env::var("TARGET").unwrap(); - if target != "x86_64-pc-windows-gnullvm" { + if family != "windows" || arch != "x86_64" || env != "gnu" || !target.ends_with("-gnullvm") { return; }