diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 040f5a07..acbc14b7 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -17,7 +17,7 @@ jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 permissions: # required for all workflows @@ -37,10 +37,8 @@ jobs: - name: Install llvm and its dependencies run: | - curl -L "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add - - curl -L "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo apt-key add - - echo "deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-21 main" | sudo tee -a /etc/apt/sources.list - echo "deb https://packages.lunarg.com/vulkan jammy main" | sudo tee -a /etc/apt/sources.list + wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/llvm.gpg > /dev/null + echo "deb [signed-by=/etc/apt/keyrings/llvm.gpg] https://apt.llvm.org/noble/ llvm-toolchain-noble-21 main" | sudo tee /etc/apt/sources.list.d/llvm.list sudo apt-get update sudo apt-get -yq --no-install-suggests --no-install-recommends install \ clang-${{ env.LLVM_VERSION }} \ @@ -76,7 +74,7 @@ jobs: -DCMAKE_BUILD_TYPE=Release cmake --build "$builddir" -j $(nproc) cmake --install "$builddir" - echo "spirv-translator-dir=${builddir}/install" >> $GITHUB_ENV + echo "spirv_translator_install_dir=${builddir}/install" >> $GITHUB_ENV - name: Initialize CodeQL uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v3.25.7 @@ -90,7 +88,7 @@ jobs: cmake ${{ github.workspace }} \ -DPREFERRED_LLVM_VERSION="${{ env.LLVM_VERSION }}.${{ env.LLVM_VERSION_MINOR }}" \ -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF \ - -DSPIRV_TRANSLATOR_DIR=${{ env.spirv-translator-dir }} \ + -DSPIRV_TRANSLATOR_DIR=${{ env.spirv_translator_install_dir }} \ -DCMAKE_BUILD_TYPE=Release cmake --build . -j $(nproc) diff --git a/.github/workflows/on-push-verification-out-of-tree.yml b/.github/workflows/on-push-verification-out-of-tree.yml index 79d6b42d..7124594e 100644 --- a/.github/workflows/on-push-verification-out-of-tree.yml +++ b/.github/workflows/on-push-verification-out-of-tree.yml @@ -31,15 +31,13 @@ jobs: name: linux # ref_name for 'on: push' # base_ref for 'on: pull_request' - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Install llvm and its dependencies run: | - curl -L "https://apt.llvm.org/llvm-snapshot.gpg.key" | sudo apt-key add - - curl -L "https://packages.lunarg.com/lunarg-signing-key-pub.asc" | sudo apt-key add - - echo "deb https://apt.llvm.org/jammy/ llvm-toolchain-jammy-21 main" | sudo tee -a /etc/apt/sources.list - echo "deb https://packages.lunarg.com/vulkan jammy main" | sudo tee -a /etc/apt/sources.list + wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/llvm.gpg > /dev/null + echo "deb [signed-by=/etc/apt/keyrings/llvm.gpg] https://apt.llvm.org/noble/ llvm-toolchain-noble-21 main" | sudo tee /etc/apt/sources.list.d/llvm.list sudo apt-get update sudo apt-get -yq --no-install-suggests --no-install-recommends install \ clang-${{ env.LLVM_VERSION }} \ @@ -70,7 +68,7 @@ jobs: -DCMAKE_BUILD_TYPE=Release cmake --build "$builddir" -j $(nproc) cmake --install "$builddir" - echo "spirv-translator-dir=${builddir}/install" >> $GITHUB_ENV + echo "spirv_translator_install_dir=${builddir}/install" >> $GITHUB_ENV - name: Checkout opencl-clang sources uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 @@ -84,6 +82,6 @@ jobs: cmake ${{ github.workspace }}/opencl-clang \ -DPREFERRED_LLVM_VERSION="${{ env.LLVM_VERSION }}.${{ env.LLVM_VERSION_MINOR }}" \ -DLLVMSPIRV_INCLUDED_IN_LLVM=OFF \ - -DSPIRV_TRANSLATOR_DIR=${{ env.spirv-translator-dir }} \ + -DSPIRV_TRANSLATOR_DIR=${{ env.spirv_translator_install_dir }} \ -DCMAKE_BUILD_TYPE=Release cmake --build . -j $(nproc) diff --git a/options.h b/options.h index 14ae7a19..a23723e2 100644 --- a/options.h +++ b/options.h @@ -27,7 +27,12 @@ Copyright (c) Intel Corporation (2009-2017). #include "llvm/Option/ArgList.h" #include "llvm/Option/Option.h" #include "clang/Basic/OpenCLOptions.h" + +#ifdef USE_PREBUILT_LLVM +#include "LLVMSPIRVLib/LLVMSPIRVOpts.h" +#else // USE_PREBUILT_LLVM #include "LLVMSPIRVOpts.h" +#endif // USE_PREBUILT_LLVM #include diff --git a/options_compile.cpp b/options_compile.cpp index 76e4efa2..9fc44549 100644 --- a/options_compile.cpp +++ b/options_compile.cpp @@ -71,7 +71,11 @@ static int parseSPVExtOption( #define _STRINGIFY(X) #X #define STRINGIFY(X) _STRINGIFY(X) #define EXT(X) ExtensionNamesMap[STRINGIFY(X)] = SPIRV::ExtensionID::X; +#ifdef USE_PREBUILT_LLVM +#include "LLVMSPIRVLib/LLVMSPIRVExtensions.inc" +#else // USE_PREBUILT_LLVM #include "LLVMSPIRVExtensions.inc" +#endif // USE_PREBUILT_LLVM #undef EXT #undef STRINGIFY #undef _STRINGIFY