[OE-core] [PATCH 3/7] libsdl2: Find wayland-protocol files in proper location during cross compile

Khem Raj raj.khem at gmail.com
Sat Jul 21 16:27:11 UTC 2018


Fixes
| /bin/sh ../SDL2-2.0.8/build-scripts/mkinstalldirs build
| make: *** No rule to make target '//usr/share/wayland/wayland.xml', needed by 'gen/wayland-client-protocol.h'.  Stop.
| make: *** Waiting for unfinished jobs....
| mkdir -p -- build
| ERROR: oe_runmake failed

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 ...R-for-defining-WAYLAND_PROTOCOLS_DIR.patch | 34 +++++++++++++++++++
 .../recipes-graphics/libsdl2/libsdl2_2.0.8.bb |  7 +++-
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-graphics/libsdl2/libsdl2/0001-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DIR.patch

diff --git a/meta/recipes-graphics/libsdl2/libsdl2/0001-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DIR.patch b/meta/recipes-graphics/libsdl2/libsdl2/0001-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DIR.patch
new file mode 100644
index 0000000000..f9a666e755
--- /dev/null
+++ b/meta/recipes-graphics/libsdl2/libsdl2/0001-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DIR.patch
@@ -0,0 +1,34 @@
+From 07ef55d0fd9f53a4d94ed8df03ac5ef7d3cbf2d2 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem at gmail.com>
+Date: Fri, 20 Jul 2018 22:51:32 -0700
+Subject: [PATCH] use PKG_CHECK_VAR for defining WAYLAND_PROTOCOLS_DIR
+
+This allows to override the wayland-protocols pkgdatadir with the
+WAYLAND_PROTOCOLS_DIR from environment.
+
+pkgconfig would return an absolute path in /usr/share/wayland-protocols
+for the pkgdatadir value, which is not suitable for cross-compiling.
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+---
+ .../libsdl2/2.0.8-r0/SDL2-2.0.8/configure.in                    | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: SDL2-2.0.8/configure.in
+===================================================================
+--- SDL2-2.0.8.orig/configure.in
++++ SDL2-2.0.8/configure.in
+@@ -1395,9 +1395,9 @@ AC_HELP_STRING([--enable-video-wayland-q
+             if $PKG_CONFIG --exists wayland-client wayland-scanner wayland-protocols wayland-egl wayland-cursor egl xkbcommon ; then
+                 WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
+                 WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
+-                WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
+-                WAYLAND_CORE_PROTOCOL_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-client`
+-                WAYLAND_PROTOCOLS_DIR=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
++                PKG_CHECK_VAR(WAYLAND_SCANNER, wayland-scanner, wayland_scanner)
++                PKG_CHECK_VAR(WAYLAND_CORE_PROTOCOL_DIR, wayland-client, pkgdatadir)
++                PKG_CHECK_VAR(WAYLAND_PROTOCOLS_DIR, wayland-protocols, pkgdatadir)
+                 video_wayland=yes
+             fi
+         fi
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb
index accea38aaa..a8d2283fde 100644
--- a/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb
+++ b/meta/recipes-graphics/libsdl2/libsdl2_2.0.8.bb
@@ -14,7 +14,8 @@ PROVIDES = "virtual/libsdl2"
 
 SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz \
            file://more-gen-depends.patch \
-"
+           file://0001-use-PKG_CHECK_VAR-for-defining-WAYLAND_PROTOCOLS_DIR.patch \
+           "
 
 S = "${WORKDIR}/SDL2-${PV}"
 
@@ -29,6 +30,7 @@ EXTRA_OECONF = "--disable-oss --disable-esd --disable-arts \
                 --enable-pthreads \
                 --enable-sdl-dlopen \
                 --disable-rpath \
+                --disable-wayland-shared \
                 "
 
 # opengl packageconfig factored out to make it easy for distros
@@ -53,6 +55,9 @@ PACKAGECONFIG[x11]        = "--enable-video-x11,--disable-video-x11,virtual/libx
 
 EXTRA_AUTORECONF += "--include=acinclude --exclude=autoheader"
 
+export WAYLAND_PROTOCOLS_DIR="${STAGING_DATADIR}/wayland-protocols"
+export WAYLAND_CORE_PROTOCOL_DIR="${STAGING_DATADIR}/wayland"
+
 do_configure_prepend() {
         # Remove old libtool macros.
         MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
-- 
2.18.0




More information about the Openembedded-core mailing list