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