Always use Xcode-provided Clang in macOS CI#152192
Always use Xcode-provided Clang in macOS CI#152192madsmtm wants to merge 3 commits intorust-lang:mainfrom
Conversation
Instead, always use the Xcode-provided Clang to build LLVM.
Bootstrap no longer infers the archiver as `clang-ar`, so we don't need to set this explicitly.
Instead of manually setting up CC/CXX environment variables, use the default configuration that Xcode gives us.
|
@bors try jobs=apple |
This comment has been minimized.
This comment has been minimized.
Always use Xcode-provided Clang in macOS CI try-job: *apple*
|
💥 Test timed out after |
|
@bors retry |
|
❗ You can only retry pull requests that are approved and have a previously failed auto build. |
|
Right, I wanted you to retry the try, not retry the merge ;) @bors try jobs=apple |
This comment has been minimized.
This comment has been minimized.
Always use Xcode-provided Clang in macOS CI try-job: *apple*
|
@rustbot ready |
|
I'm happy to bring more things into alignment! @bors r+ rollup |
For my own notes: we were setting
I think that was me, and if I recall, it was because there was no upstream clang that could do the cross-compilation to aarch64 at the time, only the special version that Apple shipped on the DTKs. |
…shepmaster Always use Xcode-provided Clang in macOS CI Most of our macOS CI runners use the Xcode-provided Clang. `dist-apple-various` still downloads Clang from LLVM's prebuilt sources, which is a bit problematic, because we're still using the Xcode-provided _headers_. As a concrete example, using Xcode's Clang is required by rust-lang#152013, as otherwise updating to Xcode 26 headers fails with an obscure `fatal error: 'net/route.h' file not found`, see [this build log](rust-lang#152013 (comment)). I suspect this is because building the new headers isn't officially supported with the older LLVM/Clang 15. This PR removes that functionality, so that we instead always build with the Xcode-provided Clang. This is effectively the same as setting `USE_XCODE_CLANG=1` on `dist-apple-various` as well, but I thought I'd clean things up while I'm at it. I didn't find the reason why we did this in first place, maybe because the Xcode Clang at the time was too out of date to build LLVM? It doesn't seem to be a problem anymore though. r? t-infra
…shepmaster Always use Xcode-provided Clang in macOS CI Most of our macOS CI runners use the Xcode-provided Clang. `dist-apple-various` still downloads Clang from LLVM's prebuilt sources, which is a bit problematic, because we're still using the Xcode-provided _headers_. As a concrete example, using Xcode's Clang is required by rust-lang#152013, as otherwise updating to Xcode 26 headers fails with an obscure `fatal error: 'net/route.h' file not found`, see [this build log](rust-lang#152013 (comment)). I suspect this is because building the new headers isn't officially supported with the older LLVM/Clang 15. This PR removes that functionality, so that we instead always build with the Xcode-provided Clang. This is effectively the same as setting `USE_XCODE_CLANG=1` on `dist-apple-various` as well, but I thought I'd clean things up while I'm at it. I didn't find the reason why we did this in first place, maybe because the Xcode Clang at the time was too out of date to build LLVM? It doesn't seem to be a problem anymore though. r? t-infra
…shepmaster Always use Xcode-provided Clang in macOS CI Most of our macOS CI runners use the Xcode-provided Clang. `dist-apple-various` still downloads Clang from LLVM's prebuilt sources, which is a bit problematic, because we're still using the Xcode-provided _headers_. As a concrete example, using Xcode's Clang is required by rust-lang#152013, as otherwise updating to Xcode 26 headers fails with an obscure `fatal error: 'net/route.h' file not found`, see [this build log](rust-lang#152013 (comment)). I suspect this is because building the new headers isn't officially supported with the older LLVM/Clang 15. This PR removes that functionality, so that we instead always build with the Xcode-provided Clang. This is effectively the same as setting `USE_XCODE_CLANG=1` on `dist-apple-various` as well, but I thought I'd clean things up while I'm at it. I didn't find the reason why we did this in first place, maybe because the Xcode Clang at the time was too out of date to build LLVM? It doesn't seem to be a problem anymore though. r? t-infra
…uwer Rollup of 6 pull requests Successful merges: - #151590 (cmse: don't use `BackendRepr` when checking return type) - #151945 (feat: Add `NonZero::<T>::from_str_radix`) - #152000 (Fix ICE in normalizing inherent associated consts with `#[type_const]`) - #152192 (Always use Xcode-provided Clang in macOS CI) - #152196 (bootstrap: Remove `ShouldRun::paths`) - #152222 (Re-add TaKO8Ki to triagebot review queue)
Most of our macOS CI runners use the Xcode-provided Clang.
dist-apple-variousstill downloads Clang from LLVM's prebuilt sources, which is a bit problematic, because we're still using the Xcode-provided headers.As a concrete example, using Xcode's Clang is required by #152013, as otherwise updating to Xcode 26 headers fails with an obscure
fatal error: 'net/route.h' file not found, see this build log. I suspect this is because building the new headers isn't officially supported with the older LLVM/Clang 15.This PR removes that functionality, so that we instead always build with the Xcode-provided Clang. This is effectively the same as setting
USE_XCODE_CLANG=1ondist-apple-variousas well, but I thought I'd clean things up while I'm at it.I didn't find the reason why we did this in first place, maybe because the Xcode Clang at the time was too out of date to build LLVM? It doesn't seem to be a problem anymore though.
r? t-infra