From ff4762e94faa095abd7175810d1053fdd361058f Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 15 Jul 2018 12:44:02 -0700 Subject: mesa: Fix build with wayland and egl When wayland and egl both are on then it enables the wayland plugin which actually fails to build because its not finding wayland-protocol xml templates in proper location which is recipe sysroot since we are cross compiling Fixes build errors e.g. make[4]: *** No rule to make target `//usr/share/wayland-protocols/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml', needed by `drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h'. Stop. make[4]: *** Waiting for unfinished jobs.... Signed-off-by: Khem Raj Signed-off-by: Ross Burton --- .../cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch | 24 ++++++++++++++++++++++ meta/recipes-graphics/mesa/mesa.inc | 2 ++ meta/recipes-graphics/mesa/mesa_18.1.3.bb | 1 + 3 files changed, 27 insertions(+) create mode 100644 meta/recipes-graphics/mesa/files/cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch (limited to 'meta/recipes-graphics') diff --git a/meta/recipes-graphics/mesa/files/cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch b/meta/recipes-graphics/mesa/files/cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch new file mode 100644 index 0000000000..b4e3c4995f --- /dev/null +++ b/meta/recipes-graphics/mesa/files/cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch @@ -0,0 +1,24 @@ +use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DATADIR + +This allows to override the wayland-protocols pkgdatadir with the +WAYLAND_PROTOCOLS_DATADIR from environment. + +pkgconfig would return an absolute path in /usr/share/wayland-protocols +for the pkgdatadir value, which is not suitable for cross-compiling. + +Signed-off-by: Khem Raj +Upstream-Status: Pending + +Index: mesa-18.1.2/configure.ac +=================================================================== +--- mesa-18.1.2.orig/configure.ac ++++ mesa-18.1.2/configure.ac +@@ -1808,7 +1808,7 @@ for plat in $platforms; do + PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_PROTOCOLS], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED]) +- WAYLAND_PROTOCOLS_DATADIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols` ++ PKG_CHECK_VAR([WAYLAND_PROTOCOLS_DATADIR], [wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], pkgdatadir) + + AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:]) + diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index cc01ea73b4..945272507a 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc @@ -107,6 +107,8 @@ FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" +EXTRA_OEMAKE += "WAYLAND_PROTOCOLS_DATADIR=${STAGING_DATADIR}/wayland-protocols" + # Remove the mesa dependency on mesa-dev, as mesa is empty RDEPENDS_${PN}-dev = "" diff --git a/meta/recipes-graphics/mesa/mesa_18.1.3.bb b/meta/recipes-graphics/mesa/mesa_18.1.3.bb index e4aad1d047..0b49793c9d 100644 --- a/meta/recipes-graphics/mesa/mesa_18.1.3.bb +++ b/meta/recipes-graphics/mesa/mesa_18.1.3.bb @@ -7,6 +7,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0006-Use-Python-3-to-execute-the-scripts.patch \ file://0007-dri-i965-Add-missing-time.h-include.patch \ file://0008-egl-fix-build-race-in-automake.patch \ + file://cross-compile-WAYLAND_PROTOCOLS_DATADIR.patch \ " SRC_URI[md5sum] = "b34273403a605f6f98ead00f0bdf8e0b" -- cgit 1.2.3-korg