]> code.ossystems Code Review - openembedded-core.git/commitdiff
wayland: Fix strndup detection on MinGW
authorJoshua Watt <jpewhacker@gmail.com>
Thu, 20 Feb 2020 22:49:31 +0000 (16:49 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 21 Feb 2020 09:37:04 +0000 (09:37 +0000)
Applies a patch to fix strndup being detected as present incorrectly
when building for MinGW.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch [new file with mode: 0644]
meta/recipes-graphics/wayland/wayland_1.18.0.bb

diff --git a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch
new file mode 100644 (file)
index 0000000..e445838
--- /dev/null
@@ -0,0 +1,39 @@
+From e6783c99f051c6d8252db5f388d805cef0e16357 Mon Sep 17 00:00:00 2001
+From: Joshua Watt <JPEWhacker@gmail.com>
+Date: Thu, 20 Feb 2020 15:20:45 -0600
+Subject: [PATCH] build: Fix strndup detection on MinGW
+
+GCC and meson conspire together to incorrectly detect that strndup()
+exists on MinGW as __builtin_strndup, when no such function exists. As a
+work around, meson will skip looking for __builtin functions if an
+'#include' is in the prefix, so add '#include <string.h>' when looking
+for strndup().
+
+See: https://github.com/mesonbuild/meson/issues/3672
+
+Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 26b084f..c05d019 100644
+--- a/meson.build
++++ b/meson.build
+@@ -36,11 +36,11 @@ have_funcs = [
+       'posix_fallocate',
+       'prctl',
+       'memfd_create',
+-      'strndup',
+ ]
+ foreach f: have_funcs
+       config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
+ endforeach
++config_h.set('HAVE_STRNDUP', cc.has_function('strndup', prefix:'#include <string.h>'))
+ if get_option('libraries')
+       ffi_dep = dependency('libffi')
+-- 
+2.17.1
+
index a702b3f6ccce828bf347528948831a9d47b05f84..6a6e7495b559b5c4dbc67dfb684b69c9e46462d1 100644 (file)
@@ -15,6 +15,7 @@ DEPENDS = "expat libffi wayland-native"
 SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
            file://0002-meson.build-find-the-native-wayland-scanner-directly.patch \
            file://0002-Do-not-hardcode-the-path-to-wayland-scanner.patch \
+           file://0001-build-Fix-strndup-detection-on-MinGW.patch \
            "
 SRC_URI[md5sum] = "23317697b6e3ff2e1ac8c5ba3ed57b65"
 SRC_URI[sha256sum] = "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c2e294d"