mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-12-02 21:00:00 +00:00
af0fde955c
Among other things, this gets us GCC 10 (was 6). Requires some changes to third party components we use: * Install apitrace (& waffle) from Debian; was hitting issues with the local build, and it's the same version 9.0 anyway. * Update Fossilize to a newer commit which builds with GCC 10. * apt.llvm.org repositories are no longer needed. * Use an SPIRV-LLVM-Translator commit which builds with LLVM 11.0.1. * Install XCB packages from Debian, 1.13 fails to build with Python 3.9. * Install wayland-protocols from Debian, 1.12 is too old for libgtk-3-dev in bullseye. LLVM 7/8 packages are no longer available. Also adapt expected test results to Xvfb now exposing multi-samle GLXFBConfigs. v2: * Install clang instead of clang-11. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3124 Reviewed-by: Eric Anholt <eric@anholt.net> # v1 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9833>
80 lines
2.1 KiB
Bash
80 lines
2.1 KiB
Bash
#!/bin/bash
|
|
|
|
set -e
|
|
set -o xtrace
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Ephemeral packages (installed for this script and removed again at the end)
|
|
STABLE_EPHEMERAL=" \
|
|
"
|
|
|
|
dpkg --add-architecture $arch
|
|
apt-get update
|
|
|
|
apt-get install -y --no-remove \
|
|
$STABLE_EPHEMERAL \
|
|
crossbuild-essential-$arch \
|
|
libelf-dev:$arch \
|
|
libexpat1-dev:$arch \
|
|
libpciaccess-dev:$arch \
|
|
libstdc++6:$arch \
|
|
libvulkan-dev:$arch \
|
|
libx11-dev:$arch \
|
|
libx11-xcb-dev:$arch \
|
|
libxcb-dri2-0-dev:$arch \
|
|
libxcb-dri3-dev:$arch \
|
|
libxcb-glx0-dev:$arch \
|
|
libxcb-present-dev:$arch \
|
|
libxcb-randr0-dev:$arch \
|
|
libxcb-shm0-dev:$arch \
|
|
libxcb-xfixes0-dev:$arch \
|
|
libxdamage-dev:$arch \
|
|
libxext-dev:$arch \
|
|
libxrandr-dev:$arch \
|
|
libxshmfence-dev:$arch \
|
|
libxxf86vm-dev:$arch \
|
|
wget
|
|
|
|
if [[ $arch != "armhf" ]]; then
|
|
if [[ $arch == "s390x" ]]; then
|
|
LLVM=9
|
|
else
|
|
LLVM=11
|
|
fi
|
|
|
|
# llvm-*-tools:$arch conflicts with python3:amd64. Install dependencies only
|
|
# with apt-get, then force-install llvm-*-{dev,tools}:$arch with dpkg to get
|
|
# around this.
|
|
apt-get install -y --no-remove \
|
|
libclang-cpp${LLVM}:$arch \
|
|
libffi-dev:$arch \
|
|
libgcc-s1:$arch \
|
|
libtinfo-dev:$arch \
|
|
libz3-dev:$arch \
|
|
llvm-${LLVM}:$arch \
|
|
zlib1g
|
|
fi
|
|
|
|
. .gitlab-ci/container/create-cross-file.sh $arch
|
|
|
|
|
|
. .gitlab-ci/container/container_pre_build.sh
|
|
|
|
|
|
# dependencies where we want a specific version
|
|
EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH)"
|
|
. .gitlab-ci/container/build-libdrm.sh
|
|
|
|
apt-get purge -y \
|
|
$STABLE_EPHEMERAL
|
|
|
|
. .gitlab-ci/container/container_post_build.sh
|
|
|
|
# This needs to be done after container_post_build.sh, or apt-get breaks in there
|
|
if [[ $arch != "armhf" ]]; then
|
|
apt-get download llvm-${LLVM}-{dev,tools}:$arch
|
|
dpkg -i --force-depends llvm-${LLVM}-*_${arch}.deb
|
|
rm llvm-${LLVM}-*_${arch}.deb
|
|
fi
|