diff mbox series

[V2] mesa: Fix bild with waylang and egl

Message ID 20180704001137.41385-1-raj.khem@gmail.com
State Superseded
Headers show
Series [V2] mesa: Fix bild with waylang and egl | expand

Commit Message

Khem Raj July 4, 2018, 12:11 a.m. UTC
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

Comments

Ross Burton July 4, 2018, 4:28 p.m. UTC | #1
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
Khem Raj July 4, 2018, 4:31 p.m. UTC | #2
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
Khem Raj July 10, 2018, 10:36 p.m. UTC | #3
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
Denys Dmytriyenko July 11, 2018, 12:30 a.m. UTC | #4
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
Andreas Müller Aug. 15, 2018, 7:52 p.m. UTC | #5
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
Richard Purdie Aug. 15, 2018, 8:49 p.m. UTC | #6
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 mbox series

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"