Skip to content

Commit c1fa376

Browse files
Use a default check for the "env" variable in apple_sdk_name (#1605)
1 parent 514e4d1 commit c1fa376

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

src/target/apple.rs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,20 @@ use super::TargetInfo;
33
impl TargetInfo<'_> {
44
pub(crate) fn apple_sdk_name(&self) -> &'static str {
55
match (self.os, self.env) {
6-
("macos", "") => "macosx",
7-
("ios", "") => "iphoneos",
6+
// The target_env variable, as written here:
7+
// https://doc.rust-lang.org/reference/conditional-compilation.html#target_env
8+
// is only really used for disambiguation, so we use a "default" case instead of
9+
// checking for a blank string.
10+
("macos", _) => "macosx",
811
("ios", "sim") => "iphonesimulator",
912
("ios", "macabi") => "macosx",
10-
("tvos", "") => "appletvos",
13+
("ios", _) => "iphoneos",
1114
("tvos", "sim") => "appletvsimulator",
12-
("watchos", "") => "watchos",
15+
("tvos", _) => "appletvos",
1316
("watchos", "sim") => "watchsimulator",
14-
("visionos", "") => "xros",
17+
("watchos", _) => "watchos",
1518
("visionos", "sim") => "xrsimulator",
19+
("visionos", _) => "xros",
1620
(os, _) => panic!("invalid Apple target OS {}", os),
1721
}
1822
}
@@ -31,18 +35,22 @@ impl TargetInfo<'_> {
3135
// https://clang.llvm.org/docs/AttributeReference.html#availability
3236
// https://gcc.gnu.org/onlinedocs/gcc/Darwin-Options.html#index-mmacosx-version-min
3337
match (self.os, self.env) {
34-
("macos", "") => format!("-mmacosx-version-min={min_version}"),
35-
("ios", "") => format!("-miphoneos-version-min={min_version}"),
38+
// The target_env variable, as written here:
39+
// https://doc.rust-lang.org/reference/conditional-compilation.html#target_env
40+
// is only really used for disambiguation, so we use a "default" case instead of
41+
// checking for a blank string.
42+
("macos", _) => format!("-mmacosx-version-min={min_version}"),
3643
("ios", "sim") => format!("-mios-simulator-version-min={min_version}"),
3744
("ios", "macabi") => format!("-mtargetos=ios{min_version}-macabi"),
38-
("tvos", "") => format!("-mappletvos-version-min={min_version}"),
45+
("ios", _) => format!("-miphoneos-version-min={min_version}"),
3946
("tvos", "sim") => format!("-mappletvsimulator-version-min={min_version}"),
40-
("watchos", "") => format!("-mwatchos-version-min={min_version}"),
47+
("tvos", _) => format!("-mappletvos-version-min={min_version}"),
4148
("watchos", "sim") => format!("-mwatchsimulator-version-min={min_version}"),
49+
("watchos", _) => format!("-mwatchos-version-min={min_version}"),
4250
// `-mxros-version-min` does not exist
4351
// https://github.com/llvm/llvm-project/issues/88271
44-
("visionos", "") => format!("-mtargetos=xros{min_version}"),
4552
("visionos", "sim") => format!("-mtargetos=xros{min_version}-simulator"),
53+
("visionos", _) => format!("-mtargetos=xros{min_version}"),
4654
(os, _) => panic!("invalid Apple target OS {}", os),
4755
}
4856
}

0 commit comments

Comments
 (0)