From 4ab3c117d08ce5dab484cb981db069fa4ec0e605 Mon Sep 17 00:00:00 2001 From: Mara Bos Date: Fri, 10 Sep 2021 13:46:15 +0200 Subject: [PATCH] Work around CI issue with windows sdk 10.0.20348.0. --- .github/workflows/ci.yml | 1 + src/ci/github-actions/ci.yml | 3 +++ src/ci/scripts/install-clang.sh | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff4fa1527e9..78ff874e755 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -404,6 +404,7 @@ jobs: RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler" SCRIPT: python x.py dist DIST_REQUIRE_ALL_TOOLS: 0 + WINDOWS_SDK_20348_HACK: 1 os: windows-latest-xl - name: dist-i686-mingw env: diff --git a/src/ci/github-actions/ci.yml b/src/ci/github-actions/ci.yml index 6417f5a984a..c9f8692d418 100644 --- a/src/ci/github-actions/ci.yml +++ b/src/ci/github-actions/ci.yml @@ -635,6 +635,9 @@ jobs: SCRIPT: python x.py dist # RLS does not build for aarch64-pc-windows-msvc. See rust-lang/rls#1693 DIST_REQUIRE_ALL_TOOLS: 0 + # Hack around this SDK version, because it doesn't work with clang. + # See https://github.com/rust-lang/rust/issues/88796 + WINDOWS_SDK_20348_HACK: 1 <<: *job-windows-xl - name: dist-i686-mingw diff --git a/src/ci/scripts/install-clang.sh b/src/ci/scripts/install-clang.sh index 7b540b5c6e9..fd29d3a022a 100755 --- a/src/ci/scripts/install-clang.sh +++ b/src/ci/scripts/install-clang.sh @@ -37,6 +37,12 @@ if isMacOS; then # `clang-ar` by accident. ciCommandSetEnv AR "ar" elif isWindows && [[ ${CUSTOM_MINGW-0} -ne 1 ]]; then + + if [[ ${WINDOWS_SDK_20348_HACK-0} -eq 1 ]]; then + rm -rf '/c/Program Files (x86)/Windows Kits/10/include/10.0.20348.0' + mv '/c/Program Files (x86)/Windows Kits/10/include/'10.0.{19041,20348}.0 + fi + # If we're compiling for MSVC then we, like most other distribution builders, # switch to clang as the compiler. This'll allow us eventually to enable LTO # amongst LLVM and rustc. Note that we only do this on MSVC as I don't think