Skip to content

Commit bf2748b

Browse files
seritoolsGuiguiprim
authored andcommitted
Generalized build target checks in windows-targets sub-crates (microsoft#2774)
1 parent 06cc1a1 commit bf2748b

File tree

7 files changed

+28
-11
lines changed

7 files changed

+28
-11
lines changed

crates/targets/aarch64_gnullvm/build.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
fn main() {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
25
let target = std::env::var("TARGET").unwrap();
3-
if target != "aarch64-pc-windows-gnullvm" {
6+
if family != "windows" || arch != "aarch64" || env != "gnu" || !target.ends_with("-gnullvm") {
47
return;
58
}
69

crates/targets/aarch64_msvc/build.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
fn main() {
2-
let target = std::env::var("TARGET").unwrap();
3-
if target != "aarch64-pc-windows-msvc" && target != "aarch64-uwp-windows-msvc" {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
5+
if family != "windows" || arch != "aarch64" || env != "msvc" {
46
return;
57
}
68

crates/targets/i686_gnu/build.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
fn main() {
2-
let target = std::env::var("TARGET").unwrap();
3-
if target != "i686-pc-windows-gnu" && target != "i686-uwp-windows-gnu" {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
5+
if family != "windows" || arch != "x86" || env != "gnu" {
46
return;
57
}
68

crates/targets/i686_msvc/build.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
fn main() {
2-
let target = std::env::var("TARGET").unwrap();
3-
if target != "i686-pc-windows-msvc" && target != "i686-uwp-windows-msvc" {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
5+
if family != "windows" || arch != "x86" || env != "msvc" {
46
return;
57
}
68

crates/targets/x86_64_gnu/build.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
fn main() {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
25
let target = std::env::var("TARGET").unwrap();
3-
if target != "x86_64-pc-windows-gnu" && target != "x86_64-uwp-windows-gnu" {
6+
if family != "windows" || arch != "x86_64" || env != "gnu" || !target.ends_with("-gnu") {
47
return;
58
}
69

crates/targets/x86_64_gnullvm/build.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
fn main() {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
25
let target = std::env::var("TARGET").unwrap();
3-
if target != "x86_64-pc-windows-gnullvm" {
6+
if family != "windows" || arch != "x86_64" || env != "gnu" || !target.ends_with("-gnullvm") {
47
return;
58
}
69

crates/targets/x86_64_msvc/build.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
fn main() {
2-
let target = std::env::var("TARGET").unwrap();
3-
if target != "x86_64-pc-windows-msvc" && target != "x86_64-uwp-windows-msvc" {
2+
let family = std::env::var("CARGO_CFG_TARGET_FAMILY").unwrap();
3+
let arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
4+
let env = std::env::var("CARGO_CFG_TARGET_ENV").unwrap();
5+
if family != "windows" || arch != "x86_64" || env != "msvc" {
46
return;
57
}
68

0 commit comments

Comments
 (0)