FWIW historically we just prepended PKG_CONFIG_SYSROOT or whatever the spelling was to the result of the pkg-config calls. I didn't know about PKG_CHECK_VAR before, that's really useful!
Have you tried pushing this upstream? Also note that I've a branch moving Mesa to Meson so we'll need to fix this again... Ross On 4 July 2018 at 01:11, Khem Raj <raj.k...@gmail.com> wrote: > When we have wayland enabled with egl 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 <raj.k...@gmail.com> > --- > V2: Rebase on master > > ...ss-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 > > 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 <raj.k...@gmail.com> > +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 d1723e3506..fed2900577 100644 > --- a/meta/recipes-graphics/mesa/mesa.inc > +++ b/meta/recipes-graphics/mesa/mesa.inc > @@ -109,6 +109,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 c47c57e9d8..6af1216b79 100644 > --- a/meta/recipes-graphics/mesa/mesa_18.1.3.bb > +++ b/meta/recipes-graphics/mesa/mesa_18.1.3.bb > @@ -9,6 +9,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" > -- > 2.18.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core