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