gitlab-ci: build RADV in meson-i386 to avoid 32-bit build failures

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4044>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4044>
This commit is contained in:
Samuel Pitoiset 2020-03-04 09:37:46 +01:00 committed by Marge Bot
parent f0178f516f
commit 529c0ba219
2 changed files with 23 additions and 15 deletions

View File

@ -120,7 +120,7 @@ x86_build:
- .debian@container-ifnot-exists
- .container
variables:
DEBIAN_TAG: &x86_build "2020-02-15"
DEBIAN_TAG: &x86_build "2020-03-11"
.use-x86_build:
variables:
@ -472,14 +472,16 @@ meson-i386:
extends: .meson-cross
variables:
CROSS: i386
VULKAN_DRIVERS: intel
VULKAN_DRIVERS: intel,amd
DRI_DRIVERS: "swrast"
GALLIUM_DRIVERS: "iris"
EXTRA_OPTION: >
-D vulkan-overlay-layer=true
-D llvm=false
-D osmesa=classic
-D werror=true
script:
- dpkg -i /var/cache/apt/archives/$CROSS/*.deb
- .gitlab-ci/meson-build.sh
meson-s390x:
extends:
@ -488,6 +490,9 @@ meson-s390x:
CROSS: s390x
GALLIUM_DRIVERS: "swrast"
script:
# For unknown reasons "too many" installed i386 libraries cause qemu to
# crash while executing llvm-config for s390x.
- apt-get remove -y libglib2.0-0:i386
- dpkg -i /var/cache/apt/archives/$CROSS/*.deb
- .gitlab-ci/meson-build.sh

View File

@ -96,21 +96,23 @@ for arch in $CROSS_ARCHITECTURES; do
crossbuild-essential-${arch} \
libdrm-dev:${arch} \
libelf-dev:${arch} \
libexpat1-dev:${arch}
libexpat1-dev:${arch} \
libffi-dev:${arch} \
libllvm8:${arch} \
libstdc++6:${arch} \
libtinfo-dev:${arch}
if [ "$arch" != "i386" ]; then
mkdir /var/cache/apt/archives/${arch}
if [ "$arch" == "i386" ]; then
# libpciaccess-dev is only needed for Intel.
apt-get install -y --no-remove \
libffi-dev:${arch} \
libllvm8:${arch} \
libstdc++6:${arch} \
libtinfo-dev:${arch} \
# Download llvm-* packages, but don't install them yet, since they can
# only be installed for one architecture at a time
apt-get install -o Dir::Cache::archives=/var/cache/apt/archives/$arch --download-only -y --no-remove \
llvm-8-dev:${arch}
libpciaccess-dev:${arch}
fi
mkdir /var/cache/apt/archives/${arch}
# Download llvm-* packages, but don't install them yet, since they can
# only be installed for one architecture at a time
apt-get install -o Dir::Cache::archives=/var/cache/apt/archives/$arch --download-only -y --no-remove \
llvm-8-dev:${arch}
done
apt-get install -y --no-remove \
@ -190,6 +192,7 @@ tar -xvf $LIBDRM_VERSION.tar.bz2 && rm $LIBDRM_VERSION.tar.bz2
cd $LIBDRM_VERSION
meson build -D vc4=true -D freedreno=true -D etnaviv=true -D libdir=lib/x86_64-linux-gnu; ninja -j4 -C build install
rm -rf build; meson --cross-file=/cross_file-ppc64el.txt build -D libdir=lib/powerpc64le-linux-gnu; ninja -j4 -C build install
rm -rf build; meson --cross-file=/cross_file-i386.txt build -D libdir=lib/i386-linux-gnu; ninja -j4 -C build install
cd ..
rm -rf $LIBDRM_VERSION