[OE-core] [PATCH V2] mesa: Fix bild with waylang and egl

Denys Dmytriyenko denis at denix.org
Wed Jul 11 00:30:06 UTC 2018


Small typo - the subject says waylang, not wayland.


On Tue, Jul 10, 2018 at 04:36:13PM -0600, Khem Raj wrote:
> ping
> On Wed, Jul 4, 2018 at 10:31 AM Khem Raj <raj.khem at gmail.com> wrote:
> >
> >
> >
> > On 7/4/18 9:28 AM, Burton, Ross wrote:
> > > 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!
> > >
> >
> > indeed it is.
> >
> > > Have you tried pushing this upstream?
> >
> > No, not yet, PKG_CHECK_VAR would need pkgconfig 0.28+, for upstreaming
> > we would need to account for that as well and also upstreaming has to
> > agree to bumping minimum pkgconfig version to 0.28
> >
> > 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.khem at 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.khem at 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.khem at 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 at lists.openembedded.org
> > >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list