Skip to content

Commit 491f558

Browse files
committed
[LLVM] Bump to llvm 19.1.6
* Update windows sdk to 26100 * Use built-in cmake * Add libxml2 Signed-off-by: Shen-Ta Hsieh <[email protected]>
1 parent 0f8709e commit 491f558

File tree

2 files changed

+90
-44
lines changed

2 files changed

+90
-44
lines changed

.github/workflows/build.yml

+43-21
Original file line numberDiff line numberDiff line change
@@ -25,56 +25,78 @@ jobs:
2525
- name: Install dependency
2626
uses: crazy-max/ghaction-chocolatey@v1
2727
with:
28-
args: install cmake ninja vswhere 7zip.install
28+
args: install --no-progress ninja vswhere 7zip.install
2929
- name: Upgrade dependency
3030
uses: crazy-max/ghaction-chocolatey@v1
3131
with:
32-
args: upgrade llvm
32+
args: upgrade --no-progress llvm
3333

3434
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
3535
with:
36-
sdk-version: 22621
36+
sdk-version: 26100
3737

38-
- name: Checkout by pushing tags
39-
run: git clone --branch llvmorg-17.0.6 --depth 1 https://github.com/llvm/llvm-project.git
38+
- name: Checkout libxml2
39+
run: git clone --quiet --branch v2.13.5 --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git
40+
41+
- name: Build libxml2
42+
run: |
43+
$vsPath = (vswhere -latest -property installationPath)
44+
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
45+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
46+
$Env:CC = "clang-cl"
47+
$Env:CXX = "clang-cl"
48+
$cmake_sys_ver = "10.0.26100.0"
49+
$prefix = "$pwd\prefix"
50+
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLIBXML2_WITH_ICONV=OFF libxml2
51+
cmake --build build --target install
52+
Remove-Item -Recurse build
53+
54+
- name: Checkout llvm
55+
run: git clone --quiet --branch llvmorg-19.1.6 --depth 1 https://github.com/llvm/llvm-project.git
4056

4157
- name: Build llvm stage 1
4258
run: |
4359
$vsPath = (vswhere -latest -property installationPath)
4460
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
45-
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.22621.0"
61+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
4662
$Env:CC = "clang-cl"
4763
$Env:CXX = "clang-cl"
48-
$cmake_sys_ver = "10.0.22621.0"
49-
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP "-DCMAKE_INSTALL_PREFIX=$pwd\\prefix" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF llvm-project\\llvm
64+
$cmake_sys_ver = "10.0.26100.0"
65+
$prefix = "$pwd\prefix"
66+
cmake -Bbuild -GNinja -DCMAKE_SYSTEM_VERSION=$cmake_sys_ver -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=FORCE_ON -DLIBXML2_INCLUDE_DIR:PATH="$prefix\include\libxml2" -DLIBXML2_LIBRARY:FILEPATH="$prefix\lib\libxml2.lib" llvm-project\llvm
5067
cmake --build build --target package
51-
Expand-Archive -Path build/*.zip -DestinationPath "$pwd"
68+
$name = (Get-Item build\LLVM-*.zip).Name
69+
$basename = (Get-Item build\LLVM-*.zip).BaseName
70+
Expand-Archive -Path build\$name -DestinationPath $pwd
71+
Copy-Item $prefix\bin\libxml2.dll $pwd\$basename\bin\libxml2.dll
5272
Remove-Item -Recurse -Force build
5373
5474
- name: Build llvm stage 2
5575
run: |
5676
$vsPath = (vswhere -latest -property installationPath)
5777
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
58-
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.22621.0"
59-
$Env:CC = "$pwd\\LLVM-17.0.6-win64\\bin\\clang-cl.exe"
60-
$Env:CXX = "$pwd\\LLVM-17.0.6-win64\\bin\\clang-cl.exe"
61-
$cmake_sys_ver = "10.0.22621.0"
62-
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP "-DCMAKE_INSTALL_PREFIX=$pwd\\prefix" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF llvm-project\\llvm
78+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
79+
$Env:CC = "$pwd\LLVM-19.1.6-win64\bin\clang-cl.exe"
80+
$Env:CXX = "$pwd\LLVM-19.1.6-win64\bin\clang-cl.exe"
81+
$cmake_sys_ver = "10.0.26100.0"
82+
$prefix = "$pwd\prefix"
83+
cmake -Bbuild -GNinja -DCMAKE_SYSTEM_VERSION=$cmake_sys_ver -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=FORCE_ON -DLIBXML2_INCLUDE_DIR:PATH="$prefix\include\libxml2" -DLIBXML2_LIBRARY:FILEPATH="$prefix\lib\libxml2.lib" llvm-project\llvm
6384
cmake --build build --target package
6485
6586
- name: Repack zip package
6687
run: |
67-
$name = (Get-Item build/LLVM-*.zip).Name
68-
$basename = (Get-Item build/LLVM-*.zip).BaseName
69-
Remove-Item -Recurse -Force "$basename"
70-
Expand-Archive -Path "build/$name" -DestinationPath "$pwd"
71-
Remove-Item "build/$name"
72-
7z a -mx=9 -tzip -mtm=off -mtc=off -mta=off "build/$name" "$basename"
88+
$name = (Get-Item build\LLVM-*.zip).Name
89+
$basename = (Get-Item build\LLVM-*.zip).BaseName
90+
Remove-Item -Recurse -Force $basename
91+
Expand-Archive -Path build\$name -DestinationPath $pwd
92+
Remove-Item build\$name
93+
Copy-Item $pwd\prefix\bin\libxml2.dll $basename\bin\libxml2.dll
94+
7z a -mx=9 -tzip -mtm=off -mtc=off -mta=off build\$name $basename
7395
7496
- name: Upload Artifact
7597
uses: actions/upload-artifact@v4
7698
with:
7799
name: llvm-${{ matrix.rtlib }}
78-
path: build/*.zip
100+
path: build\*.zip
79101
retention-days: 14
80102
compression-level: 0

.github/workflows/release.yml

+47-23
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
env:
2323
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2424
with:
25-
tag_name: llvmorg-17.0.6
26-
release_name: llvmorg-17.0.6
25+
tag_name: llvmorg-19.1.6
26+
release_name: llvmorg-19.1.6
2727
draft: true
2828
prerelease: true
2929

@@ -38,55 +38,79 @@ jobs:
3838
- name: Install dependency
3939
uses: crazy-max/ghaction-chocolatey@v1
4040
with:
41-
args: install cmake ninja vswhere 7zip.install
41+
args: install --no-progress ninja vswhere 7zip.install
4242
- name: Upgrade dependency
4343
uses: crazy-max/ghaction-chocolatey@v1
4444
with:
45-
args: upgrade llvm
45+
args: upgrade --no-progress llvm
4646

4747
- uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
4848
with:
49-
sdk-version: 22621
49+
sdk-version: 26100
5050

51-
- name: Checkout by pushing tags
51+
- name: Checkout libxml2
52+
run: git clone --quiet --branch v2.13.5 --depth 1 https://gitlab.gnome.org/GNOME/libxml2.git
53+
54+
- name: Build libxml2
55+
run: |
56+
$vsPath = (vswhere -latest -property installationPath)
57+
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
58+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
59+
$Env:CC = "clang-cl"
60+
$Env:CXX = "clang-cl"
61+
$cmake_sys_ver = "10.0.26100.0"
62+
$prefix = "$pwd\prefix"
63+
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLIBXML2_WITH_ICONV=OFF libxml2
64+
cmake --build build --target install
65+
Remove-Item -Recurse build
66+
67+
- name: Checkout llvm
5268
if: ${{ github.event_name == 'push' }}
53-
run: git clone --branch llvmorg-17.0.6 --depth 1 https://github.com/llvm/llvm-project.git
69+
run: git clone --quiet --branch llvmorg-19.1.6 --depth 1 https://github.com/llvm/llvm-project.git
5470

5571
- name: Build llvm stage 1
5672
run: |
5773
$vsPath = (vswhere -latest -property installationPath)
5874
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
59-
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.22621.0"
75+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
6076
$Env:CC = "clang-cl"
6177
$Env:CXX = "clang-cl"
62-
$cmake_sys_ver = "10.0.22621.0"
63-
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP "-DCMAKE_INSTALL_PREFIX=$pwd\\prefix" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF llvm-project\\llvm
78+
$cmake_sys_ver = "10.0.26100.0"
79+
$prefix = "$pwd\prefix"
80+
cmake -Bbuild -GNinja -DCMAKE_SYSTEM_VERSION=$cmake_sys_ver -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=FORCE_ON -DLIBXML2_INCLUDE_DIR:PATH="$prefix\include\libxml2" -DLIBXML2_LIBRARY:FILEPATH="$prefix\lib\libxml2.lib" llvm-project\llvm
6481
cmake --build build --target package
65-
Expand-Archive -Path build/*.zip -DestinationPath "$pwd"
82+
$name = (Get-Item build\LLVM-*.zip).Name
83+
$basename = (Get-Item build\LLVM-*.zip).BaseName
84+
Expand-Archive -Path build\$name -DestinationPath $pwd
85+
Copy-Item $prefix\bin\libxml2.dll $pwd\$basename\bin\libxml2.dll
6686
Remove-Item -Recurse -Force build
6787
6888
- name: Build llvm stage 2
6989
run: |
7090
$vsPath = (vswhere -latest -property installationPath)
7191
Import-Module (Join-Path $vsPath "Common7\Tools\Microsoft.VisualStudio.DevShell.dll")
72-
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.22621.0"
73-
$Env:CC = "$pwd\\LLVM-17.0.6-win64\\bin\\clang-cl.exe"
74-
$Env:CXX = "$pwd\\LLVM-17.0.6-win64\\bin\\clang-cl.exe"
75-
$cmake_sys_ver = "10.0.22621.0"
76-
cmake -Bbuild -GNinja "-DCMAKE_SYSTEM_VERSION=$cmake_sys_ver" -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP "-DCMAKE_INSTALL_PREFIX=$pwd\\prefix" -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF llvm-project\\llvm
92+
Enter-VsDevShell -VsInstallPath $vsPath -SkipAutomaticLocation -DevCmdArguments "-arch=x64 -host_arch=x64 -winsdk=10.0.26100.0"
93+
$Env:CC = "$pwd\LLVM-19.1.6-win64\bin\clang-cl.exe"
94+
$Env:CXX = "$pwd\LLVM-19.1.6-win64\bin\clang-cl.exe"
95+
$cmake_sys_ver = "10.0.26100.0"
96+
$prefix = "$pwd\prefix"
97+
cmake -Bbuild -GNinja -DCMAKE_SYSTEM_VERSION=$cmake_sys_ver -DCMAKE_MSVC_RUNTIME_LIBRARY=${{ matrix.rtlib }} -DCMAKE_BUILD_TYPE=Release -DCPACK_GENERATOR=ZIP -DCMAKE_INSTALL_PREFIX:PATH=$prefix -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="lld;clang;clang-tools-extra" -DLLVM_ENABLE_DIA_SDK=OFF -DLLVM_ENABLE_LIBXML2=FORCE_ON -DLIBXML2_INCLUDE_DIR:PATH="$prefix\include\libxml2" -DLIBXML2_LIBRARY:FILEPATH="$prefix\lib\libxml2.lib" llvm-project\llvm
7798
cmake --build build --target package
7899
79100
- name: Repack zip package
80101
run: |
81-
$name = (Get-Item build/LLVM-*.zip).Name
82-
$basename = (Get-Item build/LLVM-*.zip).BaseName
83-
Remove-Item -Recurse -Force "$basename"
84-
Expand-Archive -Path "build/$name" -DestinationPath "$pwd"
85-
Remove-Item "build/$name"
86-
7z a -mx=9 -tzip -mtm=off -mtc=off -mta=off "build/$name" "$basename"
102+
$name = (Get-Item build\LLVM-*.zip).Name
103+
$basename = (Get-Item build\LLVM-*.zip).BaseName
104+
Remove-Item -Recurse -Force $basename
105+
Expand-Archive -Path build\$name -DestinationPath $pwd
106+
Remove-Item build\$name
107+
Copy-Item $pwd\prefix\bin\libxml2.dll $basename\bin\libxml2.dll
108+
7z a -mx=9 -tzip -mtm=off -mtc=off -mta=off build\$name $basename
87109
88110
- name: Upload LLVM zip package
89111
env:
90112
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91113
run: |
92-
gh release upload LLVM-17.0.6-win64-${{ matrix.rtlib }}.zip build/*.zip --clobber
114+
$name = (Get-Item build\LLVM-*.zip).Name
115+
$basename = (Get-Item build\LLVM-*.zip).BaseName
116+
gh release upload $basename-${{ matrix.rtlib }}.zip build\$name --clobber

0 commit comments

Comments
 (0)