Message ID | 20180704001137.41385-1-raj.khem@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2] mesa: Fix bild with waylang and egl | expand |
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.khem@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@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@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
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@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@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@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
ping On Wed, Jul 4, 2018 at 10:31 AM Khem Raj <raj.khem@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@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@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@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
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@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@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@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@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 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Jul 4, 2018 at 6:28 PM, Burton, Ross <ross.burton@intel.com> 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! > > 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 Hi Ross, this is a bit late and off-topic: Where can I find this branch - I need to test a mesa patch before sending it Andreas -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, 2018-08-15 at 21:52 +0200, Andreas Müller wrote: > On Wed, Jul 4, 2018 at 6:28 PM, Burton, Ross <ross.burton@intel.com> > 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! > > > > 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 > > Hi Ross, > > this is a bit late and off-topic: Where can I find this branch - I > need to test a mesa patch before sending it Its probably: http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=ross/mesa Cheers, Richard
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@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"
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@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 -- 2.18.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core