• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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