Upgrade the version of Clang used in the build, move MSVC builds to Server 2022
This commit is contained in:
parent
cc8d9b6927
commit
5212e07a4e
@ -2549,8 +2549,13 @@ fn configure_linker(&mut self, builder: &Builder<'_>) -> &mut Cargo {
|
||||
// FIXME: the guard against msvc shouldn't need to be here
|
||||
if target.is_msvc() {
|
||||
if let Some(ref cl) = builder.config.llvm_clang_cl {
|
||||
// FIXME: There is a bug in Clang 18 when building for ARM64:
|
||||
// https://github.com/llvm/llvm-project/pull/81849. This is
|
||||
// fixed in LLVM 19, but can't be backported.
|
||||
if !target.starts_with("aarch64") && !target.starts_with("arm64ec") {
|
||||
self.command.env("CC", cl).env("CXX", cl);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let ccache = builder.config.ccache.as_ref();
|
||||
let ccacheify = |s: &Path| {
|
||||
|
@ -4,6 +4,7 @@ set -ex
|
||||
|
||||
source shared.sh
|
||||
|
||||
# Try to keep the LLVM version here in sync with src/ci/scripts/install-clang.sh
|
||||
LLVM=llvmorg-18.1.0
|
||||
|
||||
mkdir llvm-project
|
||||
|
@ -32,14 +32,6 @@ runners:
|
||||
os: windows-2022-16core-64gb
|
||||
<<: *base-job
|
||||
|
||||
- &job-windows-2019-8c
|
||||
os: windows-2019-8core-32gb
|
||||
<<: *base-job
|
||||
|
||||
- &job-windows-2019-16c
|
||||
os: windows-2019-16core-64gb
|
||||
<<: *base-job
|
||||
|
||||
- &job-aarch64-linux
|
||||
os: [ self-hosted, ARM64, linux ]
|
||||
|
||||
@ -349,13 +341,13 @@ auto:
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
|
||||
SCRIPT: make ci-msvc
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
- image: i686-msvc
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=i686-pc-windows-msvc
|
||||
SCRIPT: make ci-msvc
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
- image: x86_64-msvc-ext
|
||||
env:
|
||||
@ -363,7 +355,7 @@ auto:
|
||||
HOST_TARGET: x86_64-pc-windows-msvc
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-lld --save-toolstates=/tmp/toolstate/toolstates.json
|
||||
DEPLOY_TOOLSTATES_JSON: toolstates-windows.json
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
# 32/64-bit MinGW builds.
|
||||
#
|
||||
@ -414,7 +406,7 @@ auto:
|
||||
--set rust.codegen-units=1
|
||||
SCRIPT: python x.py build --set rust.debug=true opt-dist && PGO_HOST=x86_64-pc-windows-msvc ./build/x86_64-pc-windows-msvc/stage0-tools-bin/opt-dist windows-ci -- python x.py dist bootstrap --include-default-paths
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
- image: dist-i686-msvc
|
||||
env:
|
||||
@ -426,7 +418,7 @@ auto:
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist bootstrap --include-default-paths
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
- image: dist-aarch64-msvc
|
||||
env:
|
||||
@ -437,7 +429,7 @@ auto:
|
||||
--enable-profiler
|
||||
SCRIPT: python x.py dist bootstrap --include-default-paths
|
||||
DIST_REQUIRE_ALL_TOOLS: 1
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
||||
- image: dist-i686-mingw
|
||||
env:
|
||||
@ -471,4 +463,4 @@ auto:
|
||||
env:
|
||||
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-extended --enable-profiler
|
||||
SCRIPT: python x.py dist bootstrap --include-default-paths
|
||||
<<: *job-windows-2019-8c
|
||||
<<: *job-windows-8c
|
||||
|
@ -10,18 +10,24 @@ IFS=$'\n\t'
|
||||
source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"
|
||||
|
||||
# Update both macOS's and Windows's tarballs when bumping the version here.
|
||||
LLVM_VERSION="14.0.5"
|
||||
# Try to keep this in sync with src/ci/docker/host-x86_64/dist-x86_64-linux/build-clang.sh
|
||||
LLVM_VERSION="18.1.4"
|
||||
|
||||
if isMacOS; then
|
||||
# FIXME: This is the latest pre-built version of LLVM that's available for
|
||||
# x86_64 MacOS. We may want to consider bulding our own LLVM binaries
|
||||
# instead, or set `USE_XCODE_CLANG` like AArch64 does.
|
||||
LLVM_VERSION="15.0.7"
|
||||
|
||||
# If the job selects a specific Xcode version, use that instead of
|
||||
# downloading our own version.
|
||||
if [[ ${USE_XCODE_CLANG-0} -eq 1 ]]; then
|
||||
bindir="$(xcode-select --print-path)/Toolchains/XcodeDefault.xctoolchain/usr/bin"
|
||||
else
|
||||
file="${MIRRORS_BASE}/clang%2Bllvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
|
||||
retry curl -f "${file}" -o "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
|
||||
tar xJf "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
|
||||
bindir="$(pwd)/clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin/bin"
|
||||
file="${MIRRORS_BASE}/clang%2Bllvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
|
||||
retry curl -f "${file}" -o "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
|
||||
tar xJf "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0.tar.xz"
|
||||
bindir="$(pwd)/clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin21.0/bin"
|
||||
fi
|
||||
|
||||
ciCommandSetEnv CC "${bindir}/clang"
|
||||
|
Loading…
Reference in New Issue
Block a user