1#!/usr/bin/env bash 2 3set -ex 4 5uncollapsed_section_start llvm-spirv "Building LLVM-SPIRV-Translator" 6 7if [ "${LLVM_VERSION:?llvm version not set}" -ge 18 ]; then 8 VER="${LLVM_VERSION}.1.0" 9else 10 VER="${LLVM_VERSION}.0.0" 11fi 12 13curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \ 14 -O "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${VER}.tar.gz" 15tar -xvf "v${VER}.tar.gz" && rm "v${VER}.tar.gz" 16 17mkdir "SPIRV-LLVM-Translator-${VER}/build" 18pushd "SPIRV-LLVM-Translator-${VER}/build" 19cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr 20ninja 21ninja install 22# For some reason llvm-spirv is not installed by default 23ninja llvm-spirv 24cp tools/llvm-spirv/llvm-spirv /usr/bin/ 25popd 26 27du -sh "SPIRV-LLVM-Translator-${VER}" 28rm -rf "SPIRV-LLVM-Translator-${VER}" 29 30section_end llvm-spirv 31