Okay, I understand "what" we need to do (comment 12), but it isn't clear to me "how" to do this. Could you clarify? Ideally, I'd like to land the patch in this bug soon. (I tried pinging you on Matrix. We could discuss there if you prefer.)
(In reply to Mike Hommey [:glandium] from comment #14)
We should probably ensure that all our builds are built using the same version of the SDK (we'd expect builds to be built with the macOS 11 SDK at the moment).
I don't think it matters /that/ much for the "plain" builds, as long as they use a SDK that is deemed usable. Those builds are not shipped, they're there to ensure things would likely work on developer's machines.
True, it may not matter too much at this time because the resulting build "should" be identical, but since we want to require developer builds to be built with a macOS 11 SDK or higher, we should probably enforce the same here.
Could we explicitly set the Xcode that is being used using xcode-select?
I don't think we should...
Does your statement apply to our build machines too? It would seem that we would want to be explicit about what SDK is being used.
Can this happen during configure before xcrun --show-sdk-path?
... especially not during configure. We don't want to enforce arbitrary changes on people's configuration during configure.
Fair enough. Is there a different point where we could explicitly set the SDK for our build machines?
The funny thing is, on the workers (and potentially on some people's machines),
xcrun --show-sdk-path doesn't even pick the newest SDK it can. Case in point: it currently picks
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk points to it!
Thus comment 12.
My understanding is that the SDK that is being returned by
xcrun --show-sdk-path was previously set by
xcode-select, but that this can be executed by an Xcode install for example. So if a version of Xcode with the macOS 10.15 SDK was INSTALLED, but separate SDKs are then COPIED to the system,
xcrun --show-sdk-path will still default to the macOS 10.15 SDK from the Xcode install.