summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2020-01-31 16:07:10 +0100
committerMarge Bot <[email protected]>2020-02-05 10:52:31 +0000
commit8be81f8a2a9f3f838cc550aeddf79657608e1008 (patch)
treec303eaee6ed3b86297ff414e1dd866c002129e92 /.gitlab-ci
parent65610ec774ae095cfee3602b3f06d51d0a199791 (diff)
gitlab-ci: Build radeonsi & RADV in the ppc64el job
This requires cross-building libdrm for ppc64el. Reviewed-by: Adam Jackson <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3643>
Diffstat (limited to '.gitlab-ci')
-rw-r--r--.gitlab-ci/container/x86_build.sh39
1 files changed, 22 insertions, 17 deletions
diff --git a/.gitlab-ci/container/x86_build.sh b/.gitlab-ci/container/x86_build.sh
index 141c198eac8..7fcb32ef328 100644
--- a/.gitlab-ci/container/x86_build.sh
+++ b/.gitlab-ci/container/x86_build.sh
@@ -64,6 +64,7 @@ apt-get install -y --no-remove \
libva-dev \
libvdpau-dev \
libvulkan-dev \
+ libvulkan-dev:ppc64el \
libx11-dev \
libx11-xcb-dev \
libxdamage-dev \
@@ -139,6 +140,23 @@ PKG_CONFIG_LIBDIR=/usr/x86_64-w64-mingw32/lib/pkgconfig pkg-config \$@
EOF
chmod +x /usr/local/bin/x86_64-w64-mingw32-pkg-config
+
+# 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"
+ # Explicitly set ccache path for cross compilers
+ sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$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
+
+
# for the vulkan overlay layer
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip
unzip glslang-master-linux-Release.zip bin/glslangValidator
@@ -175,7 +193,10 @@ rm -rf $LIBXCB_VERSION
wget https://dri.freedesktop.org/libdrm/$LIBDRM_VERSION.tar.bz2
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; ninja -j4 -C build install; cd ..
+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
+cd ..
rm -rf $LIBDRM_VERSION
wget $WAYLAND_RELEASES/$LIBWAYLAND_VERSION.tar.xz
@@ -207,22 +228,6 @@ make -j4
popd
-# 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"
- # Explicitly set ccache path for cross compilers
- sed -i "s|/usr/bin/\([^-]*\)-linux-gnu\([^-]*\)-g|/usr/lib/ccache/\\1-linux-gnu\\2-g|g" "$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
-
-
# Remove ccache directory, useless for the build jobs
rm -rf $(ccache --get-config=cache_dir)