LLVM 15 is pretty old, and notably not supported by either ANGLE nor Skia anymore. So let's move up to LLVM 19 using packages provided by LLVM themselves, apart from PPC and ARMv7 which don't have builds. The Skia build now requires a bunch of new warning exclusions; hopefully most of these are no longer needed when we can upgrade Skia shortly. The ci-deb-repo revision has also been bumped to get us a new version of xtensor which builds with LLVM 19, and a version of spirv-tools which also works with LLVM 19. Signed-off-by: Daniel Stone <daniels@collabora.com> Closes: mesa/mesa#11538 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33137>
31 lines
831 B
Bash
31 lines
831 B
Bash
#!/usr/bin/env bash
|
|
|
|
set -ex
|
|
|
|
uncollapsed_section_start llvm-spirv "Building LLVM-SPIRV-Translator"
|
|
|
|
if [ "${LLVM_VERSION:?llvm version not set}" -ge 18 ]; then
|
|
VER="${LLVM_VERSION}.1.0"
|
|
else
|
|
VER="${LLVM_VERSION}.0.0"
|
|
fi
|
|
|
|
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
|
|
-O "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${VER}.tar.gz"
|
|
tar -xvf "v${VER}.tar.gz" && rm "v${VER}.tar.gz"
|
|
|
|
mkdir "SPIRV-LLVM-Translator-${VER}/build"
|
|
pushd "SPIRV-LLVM-Translator-${VER}/build"
|
|
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
|
|
ninja
|
|
ninja install
|
|
# For some reason llvm-spirv is not installed by default
|
|
ninja llvm-spirv
|
|
cp tools/llvm-spirv/llvm-spirv /usr/bin/
|
|
popd
|
|
|
|
du -sh "SPIRV-LLVM-Translator-${VER}"
|
|
rm -rf "SPIRV-LLVM-Translator-${VER}"
|
|
|
|
section_end llvm-spirv
|