1#!/usr/bin/env bash 2 3set -ex 4 5export LLVM_CONFIG="llvm-config-${LLVM_VERSION:?"llvm unset!"}" 6LLVM_TAG="llvmorg-15.0.7" 7 8$LLVM_CONFIG --version 9 10git config --global user.email "mesa@example.com" 11git config --global user.name "Mesa CI" 12git clone \ 13 https://github.com/llvm/llvm-project \ 14 --depth 1 \ 15 -b "${LLVM_TAG}" \ 16 /llvm-project 17 18mkdir /libclc 19pushd /libclc 20cmake -S /llvm-project/libclc -B . -G Ninja -DLLVM_CONFIG="$LLVM_CONFIG" -DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DLLVM_SPIRV=/usr/bin/llvm-spirv 21ninja 22ninja install 23popd 24 25# workaroud cmake vs debian packaging. 26mkdir -p /usr/lib/clc 27ln -s /usr/share/clc/spirv64-mesa3d-.spv /usr/lib/clc/ 28ln -s /usr/share/clc/spirv-mesa3d-.spv /usr/lib/clc/ 29 30du -sh ./* 31rm -rf /libclc /llvm-project 32