1#!/usr/bin/env bash 2 3set -uex 4 5uncollapsed_section_start libclc "Building libclc" 6 7export LLVM_CONFIG="llvm-config-${LLVM_VERSION:?"llvm unset!"}" 8LLVM_TAG="llvmorg-15.0.7" 9 10$LLVM_CONFIG --version 11 12git config --global user.email "mesa@example.com" 13git config --global user.name "Mesa CI" 14git clone \ 15 https://github.com/llvm/llvm-project \ 16 --depth 1 \ 17 -b "${LLVM_TAG}" \ 18 /llvm-project 19 20mkdir /libclc 21pushd /libclc 22cmake -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 23ninja 24ninja install 25popd 26 27# workaroud cmake vs debian packaging. 28mkdir -p /usr/lib/clc 29ln -s /usr/share/clc/spirv64-mesa3d-.spv /usr/lib/clc/ 30ln -s /usr/share/clc/spirv-mesa3d-.spv /usr/lib/clc/ 31 32du -sh ./* 33rm -rf /libclc /llvm-project 34 35section_end libclc 36