mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2024-12-28 18:46:18 +00:00
70 lines
1.9 KiB
Bash
70 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# Based on https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/.gitlab-ci/container/x86_build.sh
|
|
|
|
set -e
|
|
set -o xtrace
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
CROSS_ARCHITECTURES="i386"
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
dpkg --add-architecture $arch
|
|
done
|
|
|
|
apt-get update
|
|
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
# OpenCV and libuvc aren't on this list because
|
|
# they apparently can't be installed in both architectures at once
|
|
apt-get install -y --no-install-recommends --no-remove \
|
|
crossbuild-essential-${arch} \
|
|
libelf-dev:${arch} \
|
|
libavcodec-dev:${arch} \
|
|
libegl1-mesa-dev:${arch} \
|
|
libgl1-mesa-dev:${arch} \
|
|
libglvnd-dev:${arch} \
|
|
libhidapi-dev:${arch} \
|
|
libudev-dev:${arch} \
|
|
libusb-1.0-0-dev:${arch} \
|
|
libv4l-dev:${arch} \
|
|
libvulkan-dev:${arch} \
|
|
libwayland-dev:${arch} \
|
|
libx11-dev:${arch} \
|
|
libxcb-randr0-dev:${arch} \
|
|
libxrandr-dev:${arch} \
|
|
libxxf86vm-dev:${arch}
|
|
|
|
if [ "$arch" != "i386" ]; then
|
|
mkdir /var/cache/apt/archives/${arch}
|
|
apt-get install -y --no-remove \
|
|
libstdc++6:${arch}
|
|
fi
|
|
done
|
|
|
|
|
|
# for 64bit windows cross-builds
|
|
# apt-get install -y --no-remove \
|
|
# libz-mingw-w64-dev \
|
|
# mingw-w64 \
|
|
# wine \
|
|
# wine32 \
|
|
# wine64
|
|
|
|
|
|
apt-get autoremove -y --purge
|
|
apt-get clean
|
|
|
|
# Generate cross build files for Meson
|
|
for arch in $CROSS_ARCHITECTURES; do
|
|
cross_file="/cross_file-$arch.txt"
|
|
/usr/share/meson/debcrossgen --arch "$arch" -o "$cross_file"
|
|
if [ "$arch" = "i386" ]; then
|
|
# Work around a bug in debcrossgen that should be fixed in the next release
|
|
sed -i "s|cpu_family = 'i686'|cpu_family = 'x86'|g" "$cross_file"
|
|
fi
|
|
|
|
# Rely on qemu-user being configured in binfmt_misc on the host
|
|
sed -i -e '/\[properties\]/a\' -e "needs_exe_wrapper = False" "$cross_file"
|
|
done
|