https://github.com/tstellar updated https://github.com/llvm/llvm-project/pull/200734
>From f75de69eaded84471f7eacd64636c30212818b2e Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Fri, 5 Jun 2026 13:46:27 -0700 Subject: [PATCH 01/13] Use wix --- clang/cmake/caches/Release.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake index b0bc3ebfe5cb6..ff65a83c7cf93 100644 --- a/clang/cmake/caches/Release.cmake +++ b/clang/cmake/caches/Release.cmake @@ -168,7 +168,11 @@ set_final_stage_var(LLVM_ENABLE_PROJECTS "${LLVM_RELEASE_ENABLE_PROJECTS}" STRIN if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING) endif() +if (WIN32) +set_final_stage_var(CPACK_GENERATOR "WIX" STRING) +else() set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) +endif() set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING) set_final_stage_var(LLVM_USE_STATIC_ZSTD "ON" BOOL) >From 78b4d12dfd0faf0a350eb6c18e29c44e44710db0 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Thu, 4 Jun 2026 17:00:26 -0700 Subject: [PATCH 02/13] Dump NSIS log --- .github/workflows/release-binaries.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 573ddfb43cdd7..5bbac29de5405 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -308,6 +308,12 @@ jobs: RELEASE_BINARY_FILENAME_ZSTD: ${{ needs.prepare.outputs.release-binary-filename-zstd }} run: | xz -dc "$RELEASE_BINARY_FILENAME" | zstd --ultra -22 -T0 -o "$RELEASE_BINARY_FILENAME_ZSTD" + - name: Dump Build logs + if: runner.os == 'Windows' && failure() + env: + LLVM_VERSION: ${{ needs.prepare.outputs.release-version }} + run: | + cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:RUNNER_ARCH.ToLower())/_CPack_Packages/win64/NSIS/NSISOutput.log - name: Generate sha256 digest for binaries id: digest >From ba320ef3348bb35678da4d5c9103e6bfa96ae544 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Fri, 5 Jun 2026 16:54:54 -0700 Subject: [PATCH 03/13] Debug --- .github/workflows/release-binaries-all.yml | 4 ---- clang/cmake/caches/Release.cmake | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml index 3687de77e0156..45062cb9774b1 100644 --- a/.github/workflows/release-binaries-all.yml +++ b/.github/workflows/release-binaries-all.yml @@ -100,11 +100,7 @@ jobs: # We use ubuntu-22.04 rather than the latest version to make the built # binaries more portable (eg functional aginast older glibc). runs-on: - - ubuntu-22.04 - - ubuntu-22.04-arm - - macos-14 - windows-2022 - - windows-11-arm uses: ./.github/workflows/release-binaries.yml with: diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake index ff65a83c7cf93..46625a6e55b68 100644 --- a/clang/cmake/caches/Release.cmake +++ b/clang/cmake/caches/Release.cmake @@ -169,9 +169,9 @@ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING) endif() if (WIN32) -set_final_stage_var(CPACK_GENERATOR "WIX" STRING) + set_final_stage_var(CPACK_GENERATOR "WIX" STRING) else() -set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) + set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) endif() set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING) >From 0baff50d2b7e30973400b83f61f0340104c0bdbe Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Fri, 5 Jun 2026 09:06:15 -0700 Subject: [PATCH 04/13] Fix log --- .github/workflows/release-binaries.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 5bbac29de5405..30887ff7cefb1 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -312,8 +312,9 @@ jobs: if: runner.os == 'Windows' && failure() env: LLVM_VERSION: ${{ needs.prepare.outputs.release-version }} + BUILD_DIR_SUFFIX: ${{ case(runner.arch == 'ARM64', 'arm64', 'amd64') }} run: | - cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:RUNNER_ARCH.ToLower())/_CPack_Packages/win64/NSIS/NSISOutput.log + cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/NSIS/NSISOutput.log - name: Generate sha256 digest for binaries id: digest >From a2ac2fa9fc2dcda3986d3c27aa49f814b9d85043 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Fri, 5 Jun 2026 22:11:49 -0700 Subject: [PATCH 05/13] Use wix --- llvm/utils/release/build_llvm_release.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/utils/release/build_llvm_release.bat b/llvm/utils/release/build_llvm_release.bat index 0f6dbb36ad784..9a0f33f7862fc 100644 --- a/llvm/utils/release/build_llvm_release.bat +++ b/llvm/utils/release/build_llvm_release.bat @@ -188,6 +188,7 @@ set common_cmake_flags=^ -DLLVM_ENABLE_RPMALLOC=ON ^ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^ -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" ^ + -DCPACK_GENERATOR="WIX" ^ -DCOMPILER_RT_BUILD_ORC=OFF if "%force-msvc%" == "" ( >From f488f778a367fbd4caea25d982f712240bf89d00 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Sat, 6 Jun 2026 08:22:42 -0700 Subject: [PATCH 06/13] Add wix log --- .github/workflows/release-binaries.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 30887ff7cefb1..32609d2288d7b 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -314,6 +314,7 @@ jobs: LLVM_VERSION: ${{ needs.prepare.outputs.release-version }} BUILD_DIR_SUFFIX: ${{ case(runner.arch == 'ARM64', 'arm64', 'amd64') }} run: | + cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/WIX/wix.log cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/NSIS/NSISOutput.log - name: Generate sha256 digest for binaries >From 39937c04181ed4a6af41e51ea322aae5946d1efe Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Sat, 6 Jun 2026 17:55:59 -0700 Subject: [PATCH 07/13] Disable sval --- clang/cmake/caches/Release.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake index 46625a6e55b68..385d2218e2d44 100644 --- a/clang/cmake/caches/Release.cmake +++ b/clang/cmake/caches/Release.cmake @@ -170,6 +170,7 @@ if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") endif() if (WIN32) set_final_stage_var(CPACK_GENERATOR "WIX" STRING) + set_final_stage_var(CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval" STRING) else() set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) endif() >From 610ed03e244bcc2023f82a70cdda7ebba58a5a57 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Sat, 6 Jun 2026 17:56:42 -0700 Subject: [PATCH 08/13] Fix wix --- llvm/utils/release/build_llvm_release.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm/utils/release/build_llvm_release.bat b/llvm/utils/release/build_llvm_release.bat index 9a0f33f7862fc..94379261920c5 100644 --- a/llvm/utils/release/build_llvm_release.bat +++ b/llvm/utils/release/build_llvm_release.bat @@ -189,6 +189,7 @@ set common_cmake_flags=^ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^ -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" ^ -DCPACK_GENERATOR="WIX" ^ + -DCPACK_WIX_LIGHT_EXTRA_FLAGS="-sval" ^ -DCOMPILER_RT_BUILD_ORC=OFF if "%force-msvc%" == "" ( >From 0a79ae68fd16420da0f1412917f1bb008470f812 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Sun, 7 Jun 2026 12:23:07 -0700 Subject: [PATCH 09/13] Fix installer suffix --- .github/workflows/release-binaries.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 32609d2288d7b..9de8f015cfd6f 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -294,7 +294,7 @@ jobs: subst S: ${{ github.workspace }} cd S:\llvm\utils\release\ .\build_llvm_release.bat "--$($env:RUNNER_ARCH.ToLower())" --version $env:LLVM_VERSION --local-python --skip-checkout - $installer = (Get-ChildItem -Recurse -Filter "*.exe" | Select-Object -First 1).fullName + $installer = (Get-ChildItem -Recurse -Filter "*.msi" | Select-Object -First 1).fullName $tarball = (Get-ChildItem -Recurse -Filter "*.tar.xz" | Select-Object -First 1).fullName # Move installer to top-level directory so it is easier to upload. mv $installer $env:GITHUB_WORKSPACE >From 81118431d15151c3b47bf7666fcdab31b7928a1b Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Mon, 8 Jun 2026 17:26:07 -0700 Subject: [PATCH 10/13] Revert "Debug" This reverts commit ba320ef3348bb35678da4d5c9103e6bfa96ae544. --- .github/workflows/release-binaries-all.yml | 4 ++++ clang/cmake/caches/Release.cmake | 7 +------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-binaries-all.yml b/.github/workflows/release-binaries-all.yml index 45062cb9774b1..3687de77e0156 100644 --- a/.github/workflows/release-binaries-all.yml +++ b/.github/workflows/release-binaries-all.yml @@ -100,7 +100,11 @@ jobs: # We use ubuntu-22.04 rather than the latest version to make the built # binaries more portable (eg functional aginast older glibc). runs-on: + - ubuntu-22.04 + - ubuntu-22.04-arm + - macos-14 - windows-2022 + - windows-11-arm uses: ./.github/workflows/release-binaries.yml with: diff --git a/clang/cmake/caches/Release.cmake b/clang/cmake/caches/Release.cmake index 385d2218e2d44..b0bc3ebfe5cb6 100644 --- a/clang/cmake/caches/Release.cmake +++ b/clang/cmake/caches/Release.cmake @@ -168,12 +168,7 @@ set_final_stage_var(LLVM_ENABLE_PROJECTS "${LLVM_RELEASE_ENABLE_PROJECTS}" STRIN if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") set_final_stage_var(CLANG_BOLT "INSTRUMENT" STRING) endif() -if (WIN32) - set_final_stage_var(CPACK_GENERATOR "WIX" STRING) - set_final_stage_var(CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval" STRING) -else() - set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) -endif() +set_final_stage_var(CPACK_GENERATOR "TXZ" STRING) set_final_stage_var(CPACK_ARCHIVE_THREADS "0" STRING) set_final_stage_var(LLVM_USE_STATIC_ZSTD "ON" BOOL) >From f4ae7c531c825d82b693f0c1129dec6a8a0c8679 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Fri, 5 Jun 2026 09:06:15 -0700 Subject: [PATCH 11/13] Fix log --- .github/workflows/release-binaries.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index 9de8f015cfd6f..d43e14402dc14 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -315,7 +315,6 @@ jobs: BUILD_DIR_SUFFIX: ${{ case(runner.arch == 'ARM64', 'arm64', 'amd64') }} run: | cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/WIX/wix.log - cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/NSIS/NSISOutput.log - name: Generate sha256 digest for binaries id: digest >From 18d20cabd62184989125505eb5e520ef3bc60361 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Tue, 9 Jun 2026 09:42:54 -0700 Subject: [PATCH 12/13] Review changes --- .github/workflows/release-binaries.yml | 15 ++++++++------- llvm/utils/release/build_llvm_release.bat | 1 - 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release-binaries.yml b/.github/workflows/release-binaries.yml index d43e14402dc14..9cec8ed301aa9 100644 --- a/.github/workflows/release-binaries.yml +++ b/.github/workflows/release-binaries.yml @@ -300,6 +300,14 @@ jobs: mv $installer $env:GITHUB_WORKSPACE mv $tarball $env:GITHUB_WORKSPACE echo "windows-installer-filename=$(Split-Path -Path $installer -Leaf)" >> $env:GITHUB_OUTPUT + + - name: Dump Wix logs + if: runner.os == 'Windows' + env: + LLVM_VERSION: ${{ needs.prepare.outputs.release-version }} + BUILD_DIR_SUFFIX: ${{ case(runner.arch == 'ARM64', 'arm64', 'amd64') }} + run: | + cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/WIX/wix.log - name: Create zstd compressed tarball shell: bash @@ -308,13 +316,6 @@ jobs: RELEASE_BINARY_FILENAME_ZSTD: ${{ needs.prepare.outputs.release-binary-filename-zstd }} run: | xz -dc "$RELEASE_BINARY_FILENAME" | zstd --ultra -22 -T0 -o "$RELEASE_BINARY_FILENAME_ZSTD" - - name: Dump Build logs - if: runner.os == 'Windows' && failure() - env: - LLVM_VERSION: ${{ needs.prepare.outputs.release-version }} - BUILD_DIR_SUFFIX: ${{ case(runner.arch == 'ARM64', 'arm64', 'amd64') }} - run: | - cat S:/llvm/utils/release/llvm_package_$($env:LLVM_VERSION)/build_$($env:BUILD_DIR_SUFFIX)/_CPack_Packages/win64/WIX/wix.log - name: Generate sha256 digest for binaries id: digest diff --git a/llvm/utils/release/build_llvm_release.bat b/llvm/utils/release/build_llvm_release.bat index 94379261920c5..9eebd75d82dd8 100644 --- a/llvm/utils/release/build_llvm_release.bat +++ b/llvm/utils/release/build_llvm_release.bat @@ -85,7 +85,6 @@ if not "%version_7z%"=="" ( REM Prerequisites: REM REM Visual Studio 2019, CMake, Ninja, GNUWin32, SWIG, Python 3, -REM NSIS with the strlen_8192 patch, REM Perl (for the OpenMP run-time). REM REM >From 0d7268bb7fbde2c57eaa27787df65a64f04ec673 Mon Sep 17 00:00:00 2001 From: Tom Stellard <[email protected]> Date: Wed, 10 Jun 2026 13:50:54 -0700 Subject: [PATCH 13/13] Move flags into llvm/CMakeLists.txt --- llvm/CMakeLists.txt | 23 +++++++++++++++-------- llvm/utils/release/build_llvm_release.bat | 1 - 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 4509fbaba1d25..ad69c4b719a3f 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -483,20 +483,27 @@ set(CPACK_PACKAGE_VERSION_PATCH ${LLVM_VERSION_PATCH}) set(CPACK_PACKAGE_VERSION ${PACKAGE_VERSION}) set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT") if(WIN32 AND NOT UNIX) - set(CPACK_NSIS_COMPRESSOR "/SOLID lzma \r\n SetCompressorDictSize 32") if(NOT DEFINED CPACK_PACKAGE_INSTALL_REGISTRY_KEY) set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "LLVM") endif() set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_logo.bmp") - set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico") - set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico") - set(CPACK_NSIS_MODIFY_PATH "ON") - set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") - if( CMAKE_CL_64 ) - if(NOT DEFINED CPACK_NSIS_INSTALL_ROOT) - set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") + if (CPACK_GENERATOR STREQUAL "NSIS") + set(CPACK_NSIS_COMPRESSOR "/SOLID lzma \r\n SetCompressorDictSize 32") + set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico") + set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico") + set(CPACK_NSIS_MODIFY_PATH "ON") + set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL "ON") + if( CMAKE_CL_64 ) + if(NOT DEFINED CPACK_NSIS_INSTALL_ROOT) + set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64") + endif() endif() endif() + if(CPACK_GENERATOR STREQUAL "WIX") + set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\cmake\\\\nsis_icon.ico") + # The WIX installer needs admin privileges unless we use this flag. + set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-sval") + endif() endif() include(CPack) diff --git a/llvm/utils/release/build_llvm_release.bat b/llvm/utils/release/build_llvm_release.bat index 9eebd75d82dd8..76397929c7ed3 100644 --- a/llvm/utils/release/build_llvm_release.bat +++ b/llvm/utils/release/build_llvm_release.bat @@ -188,7 +188,6 @@ set common_cmake_flags=^ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" ^ -DLLVM_ENABLE_RUNTIMES="compiler-rt;openmp" ^ -DCPACK_GENERATOR="WIX" ^ - -DCPACK_WIX_LIGHT_EXTRA_FLAGS="-sval" ^ -DCOMPILER_RT_BUILD_ORC=OFF if "%force-msvc%" == "" ( _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
