ci: Fix selection of linker in Android builds
[platform/upstream/mesa.git] / .gitlab-ci / container / build-libclc.sh
1 #!/bin/bash
2
3 set -ex
4
5 export LLVM_CONFIG="llvm-config-10"
6
7 $LLVM_CONFIG --version
8
9 git clone https://github.com/KhronosGroup/SPIRV-LLVM-Translator -b llvm_release_100 --depth 1 /SPIRV-LLVM-Translator
10 pushd /SPIRV-LLVM-Translator
11 cmake -S . -B . -G Ninja -DLLVM_BUILD_TOOLS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC -DCMAKE_INSTALL_PREFIX=`$LLVM_CONFIG --prefix`
12 ninja
13 ninja install
14 popd
15
16
17 git config --global user.email "mesa@example.com"
18 git config --global user.name "Mesa CI"
19 git clone \
20     https://github.com/llvm/llvm-project \
21     --depth 1 \
22     /llvm-project
23
24 mkdir /libclc
25 pushd /libclc
26 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
27 ninja
28 ninja install
29 popd
30
31 # workaroud cmake vs debian packaging.
32 mkdir -p /usr/lib/clc
33 ln -s /usr/share/clc/spirv64-mesa3d-.spv /usr/lib/clc/
34 ln -s /usr/share/clc/spirv-mesa3d-.spv /usr/lib/clc/
35
36 du -sh *
37 rm -rf /libclc /llvm-project /SPIRV-LLVM-Translator