Skip to content

Commit

Permalink
Support LLVM 18.1 (#14277)
Browse files Browse the repository at this point in the history
  • Loading branch information
HertzDevil authored Feb 4, 2024
1 parent 592051e commit c67883c
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 25 deletions.
27 changes: 5 additions & 22 deletions .github/workflows/win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}

env:
CI_LLVM_VERSION: "17.0.2"
CI_LLVM_VERSION: "18.1.0-rc1"

jobs:
x86_64-windows-libs:
Expand Down Expand Up @@ -177,30 +177,13 @@ jobs:
path: llvm
key: llvm-libs-${{ env.CI_LLVM_VERSION }}-msvc

- name: Download LLVM
if: steps.cache-llvm-libs.outputs.cache-hit != 'true'
run: |
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ env.CI_LLVM_VERSION }}/llvm-${{ env.CI_LLVM_VERSION }}.src.tar.xz -OutFile llvm.tar.xz
(Get-FileHash -Algorithm SHA256 .\llvm.tar.xz).hash -eq "D820E63BC3A6F4F833EC69A1EF49A2E81992E90BC23989F98946914B061AB6C7"
7z x llvm.tar.xz
7z x llvm.tar
mv llvm-* llvm-src
- name: Download LLVM's CMake files
if: steps.cache-llvm-libs.outputs.cache-hit != 'true'
run: |
iwr https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ env.CI_LLVM_VERSION }}/cmake-${{ env.CI_LLVM_VERSION }}.src.tar.xz -OutFile cmake.tar.xz
(Get-FileHash -Algorithm SHA256 .\cmake.tar.xz).hash -eq "B6D83C91F12757030D8361DEDC5DD84357B3EDB8DA406B5D0850DF8B6F7798B1"
7z x cmake.tar.xz
7z x cmake.tar
mv cmake-* cmake
- name: Build LLVM
if: steps.cache-llvm-libs.outputs.cache-hit != 'true'
run: |
git clone --config core.autocrlf=false -b llvmorg-${{ env.CI_LLVM_VERSION }} --depth 1 https://github.com/llvm/llvm-project.git
mkdir llvm-build
cd llvm-build
cmake ..\llvm-src -Thost=x64 -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DBUILD_SHARED_LIBS=OFF -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF
cmake ..\llvm-project\llvm -Thost=x64 -DLLVM_TARGETS_TO_BUILD="X86;AArch64" -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DBUILD_SHARED_LIBS=OFF -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF
cmake --build . --config Release
cmake "-DCMAKE_INSTALL_PREFIX=$(pwd)\..\llvm" -P cmake_install.cmake
Expand Down Expand Up @@ -235,7 +218,7 @@ jobs:
uses: ./.github/workflows/win_build_portable.yml
with:
release: false
llvm_version: "17.0.2"
llvm_version: "18.1.0-rc1"

x86_64-windows-test:
runs-on: windows-2022
Expand Down Expand Up @@ -288,7 +271,7 @@ jobs:
uses: ./.github/workflows/win_build_portable.yml
with:
release: true
llvm_version: "17.0.2"
llvm_version: "18.1.0-rc1"

x86_64-windows-installer:
if: github.repository_owner == 'crystal-lang' && (startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/ci/'))
Expand Down
2 changes: 1 addition & 1 deletion etc/win-ci/build-llvm.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ if (-not $Dynamic) {
Setup-Git -Path $BuildTree -Url https://github.com/llvm/llvm-project.git -Ref llvmorg-$Version

Run-InDirectory $BuildTree\build {
$args = "-Thost=x64 -DLLVM_TARGETS_TO_BUILD=""$($TargetsToBuild -join ';')"" -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF"
$args = "-Thost=x64 -DLLVM_TARGETS_TO_BUILD=$($TargetsToBuild -join ';') -DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ZSTD=OFF"
if ($Dynamic) {
$args = "-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL $args"
} else {
Expand Down
2 changes: 1 addition & 1 deletion src/llvm/ext/llvm-versions.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
17.0 16.0 15.0 14.0 13.0 12.0 11.1 11.0 10.0 9.0 8.0
18.1 17.0 16.0 15.0 14.0 13.0 12.0 11.1 11.0 10.0 9.0 8.0
2 changes: 1 addition & 1 deletion src/llvm/lib_llvm.cr
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@

@[Link(ldflags: {{ llvm_ldflags }})]
lib LibLLVM
VERSION = {{ llvm_version.strip.gsub(/git/, "") }}
VERSION = {{ llvm_version.strip.gsub(/git/, "").gsub(/rc.*/, "") }}
BUILT_TARGETS = {{ llvm_targets.strip.downcase.split(' ').map(&.id.symbolize) }}
end
{% end %}
Expand Down

0 comments on commit c67883c

Please sign in to comment.