gitlab-ci: Replay traces on lava devices
[mesa.git] / .gitlab-ci / container / cross_build.sh
1 #!/bin/bash
2
3 set -e
4 set -o xtrace
5
6 export DEBIAN_FRONTEND=noninteractive
7
8 # Ephemeral packages (installed for this script and removed again at the end)
9 STABLE_EPHEMERAL=" \
10 libpciaccess-dev:$arch
11 "
12
13 dpkg --add-architecture $arch
14 apt-get update
15
16 apt-get install -y --no-remove \
17 $STABLE_EPHEMERAL \
18 crossbuild-essential-$arch \
19 libelf-dev:$arch \
20 libexpat1-dev:$arch \
21 libffi-dev:$arch \
22 libstdc++6:$arch \
23 libtinfo-dev:$arch \
24 wget
25
26 if [[ $arch == "armhf" ]]; then
27 LLVM=llvm-7-dev
28 else
29 LLVM=llvm-8-dev
30 fi
31
32 apt-get install -y --no-remove -t buster-backports \
33 $LLVM:$arch
34
35 . .gitlab-ci/create-cross-file.sh $arch
36
37
38 . .gitlab-ci/container/container_pre_build.sh
39
40
41 # dependencies where we want a specific version
42 export LIBDRM_VERSION=libdrm-2.4.102
43
44 wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.xz
45 tar -xvf $LIBDRM_VERSION.tar.xz && rm $LIBDRM_VERSION.tar.xz
46 cd $LIBDRM_VERSION
47 meson --cross-file=/cross_file-${arch}.txt build -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)
48 ninja -C build install
49 cd ..
50 rm -rf $LIBDRM_VERSION
51
52
53 apt-get purge -y \
54 $STABLE_EPHEMERAL
55
56 . .gitlab-ci/container/container_post_build.sh