#!/bin/bash # Copyright 2019-2020, Mesa contributors # Copyright 2020-2024, Collabora, Ltd. # SPDX-License-Identifier: MIT # Based on https://gitlab.freedesktop.org/mesa/mesa/-/blob/2e100bd69b67cbb70b8a8e813ed866618a2252ca/.gitlab-ci/container/cross_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}" \ "libavcodec-dev:${arch}" \ "libbsd-dev:${arch}" \ "libcjson-dev:${arch}" \ "libegl1-mesa-dev:${arch}" \ "libeigen3-dev:${arch}" \ "libelf-dev:${arch}" \ "libgl1-mesa-dev:${arch}" \ "libglvnd-dev:${arch}" \ "libhidapi-dev:${arch}" \ "libsdl2-dev:${arch}" \ "libudev-dev:${arch}" \ "libusb-1.0-0-dev:${arch}" \ "libv4l-dev:${arch}" \ "libvulkan-dev:${arch}" \ "libwayland-dev:${arch}" \ "libx11-dev:${arch}" \ "libx11-xcb-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