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