| #!/bin/bash |
| |
| set -ex |
| |
| export LLVM_CONFIG="llvm-config-10" |
| |
| $LLVM_CONFIG --version |
| |
| git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_100 --depth 1 /SPIRV-LLVM-Translator |
| pushd /SPIRV-LLVM-Translator |
| cmake -G Ninja -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=`$LLVM_CONFIG --prefix` |
| ninja |
| ninja install |
| popd |
| |
| |
| git config --global user.email "mesa@example.com" |
| git config --global user.name "Mesa CI" |
| git clone \ |
| https://github.com/llvm/llvm-project \ |
| --depth 1 \ |
| /llvm-project |
| |
| mkdir /libclc |
| pushd /libclc |
| cmake -G Ninja -DLLVM_CONFIG=$LLVM_CONFIG -DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr /llvm-project/libclc |
| ninja |
| ninja install |
| popd |
| |
| # workaroud cmake vs debian packaging. |
| mkdir -p /usr/lib/clc |
| ln -s /usr/share/clc/spirv64-mesa3d-.spv /usr/lib/clc/ |
| ln -s /usr/share/clc/spirv-mesa3d-.spv /usr/lib/clc/ |
| |
| du -sh * |
| rm -rf /libclc /llvm-project /SPIRV-LLVM-Translator |