Rollup merge of #130334 - madsmtm:macos-sdkroot-ignore, r=jieyouxu

Fix `SDKROOT` ignore on macOS

`rustc` has code to detect when `SDKROOT` is obviously set for the wrong platform, so that it can choose to ignore it. This is a pretty important feature for Cargo build scripts and proc macros, since you will often have `SDKROOT` set to an iOS platform there.

However, the code was checking for an old SDK version name `"macosx10.15"` that was previously configured by `add_apple_sdk`, but nowadays configured to the correct `"macosx"`. I think this error was introduced in part https://github.com/rust-lang/rust/pull/77202 and in https://github.com/rust-lang/rust/pull/100286.

Fixes part of https://github.com/rust-lang/rust/issues/80817 (linking with `-Clinker=ld` now works), though more work is still needed in this area, see also https://github.com/rust-lang/rust/issues/129432.

``@rustbot`` label O-macos A-cross
This commit is contained in:
Stuart Cook 2024-09-14 20:22:41 +10:00 committed by GitHub
commit 73f684f3c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3044,7 +3044,7 @@ fn get_apple_sdk_root(sdk_name: &str) -> Result<String, errors::AppleSdkRootErro
"iphonesimulator" "iphonesimulator"
if sdkroot.contains("iPhoneOS.platform") || sdkroot.contains("MacOSX.platform") => { if sdkroot.contains("iPhoneOS.platform") || sdkroot.contains("MacOSX.platform") => {
} }
"macosx10.15" "macosx"
if sdkroot.contains("iPhoneOS.platform") if sdkroot.contains("iPhoneOS.platform")
|| sdkroot.contains("iPhoneSimulator.platform") => {} || sdkroot.contains("iPhoneSimulator.platform") => {}
"watchos" "watchos"