summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glib-2.0
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-05-12 16:20:12 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-05-14 14:15:11 +0100
commit38543222aa908ee0f197900627c0569201a073b7 (patch)
treee1d1a56bcaf24f4508554f5fe988c2a2b28dfdff /meta/recipes-core/glib-2.0
parentd708afc6dfc2f1ada34871c0790cccff2c45814d (diff)
downloadpoky-38543222aa908ee0f197900627c0569201a073b7.tar.gz
glib-2.0: Fix stpcpy detection for mingw
Backport an upstream patch to fix it (From OE-Core rev: 48b6f7e31ff042a4900307e830f9ed9375a8041a) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/glib-2.0')
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Don-t-misdetect-stpcpy-on-windows-platforms-on.patch53
-rw-r--r--meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb1
2 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Don-t-misdetect-stpcpy-on-windows-platforms-on.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Don-t-misdetect-stpcpy-on-windows-platforms-on.patch
new file mode 100644
index 0000000000..855bdfc0d9
--- /dev/null
+++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Don-t-misdetect-stpcpy-on-windows-platforms-on.patch
@@ -0,0 +1,53 @@
1From d4b1fd9cdb7ae07fa6be941ac95f97ece175fe55 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
3Date: Tue, 31 Mar 2020 23:54:17 +0300
4Subject: [PATCH] meson: Don't misdetect stpcpy on windows platforms on clang
5
6See https://github.com/mesonbuild/meson/issues/3672 and
7https://github.com/mesonbuild/meson/issues/5628 for explanations
8of cases where meson misdetects functions due to clang builtins (that
9always are available, regardless of whether the platform actually
10provides them).
11
12The same also happens on GCC 10, which added support for __has_builtin.
13
14Upstream-Status: Backport [https://github.com/GNOME/glib/commit/1b94bfbd72dbbfb696fa68f3742f40998096b438]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 meson.build | 16 +++++++++++++---
18 1 file changed, 13 insertions(+), 3 deletions(-)
19
20diff --git a/meson.build b/meson.build
21index 72ca194..bbdac1c 100644
22--- a/meson.build
23+++ b/meson.build
24@@ -533,13 +533,23 @@ foreach f : functions
25 endif
26 endforeach
27
28-# Check that stpcpy() is usable; must use header
29-if cc.has_function('stpcpy', prefix : '#include <string.h>')
30+# Check that stpcpy() is usable; must use header.
31+# cc.has_function() in some cases (clang, gcc 10+) assumes that if the
32+# compiler provides a builtin of the same name that the function exists, while
33+# it's in fact not provided by any header or library. This is true for
34+# stpcpy() on Windows using clang and gcc as well as posix_memalign() using
35+# gcc on Windows. Skip these checks on Windows for now to avoid false
36+# positives. See https://github.com/mesonbuild/meson/pull/7116,
37+# https://github.com/mesonbuild/meson/issues/3672 and
38+# https://github.com/mesonbuild/meson/issues/5628.
39+# FIXME: Once meson no longer returns success for stpcpy() and
40+# posix_memalign() on Windows using GCC and clang we can remove this.
41+if host_system != 'windows' and cc.has_function('stpcpy', prefix : '#include <string.h>')
42 glib_conf.set('HAVE_STPCPY', 1)
43 endif
44
45 # Check that posix_memalign() is usable; must use header
46-if cc.has_function('posix_memalign', prefix : '#include <stdlib.h>')
47+if host_system != 'windows' and cc.has_function('posix_memalign', prefix : '#include <stdlib.h>')
48 glib_conf.set('HAVE_POSIX_MEMALIGN', 1)
49 endif
50
51--
522.26.2
53
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb
index 1a8e9d659e..d6207b5b1a 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb
@@ -16,6 +16,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \
16 file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ 16 file://0001-Do-not-write-bindir-into-pkg-config-files.patch \
17 file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ 17 file://0001-meson-Run-atomics-test-on-clang-as-well.patch \
18 file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ 18 file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \
19 file://0001-meson-Don-t-misdetect-stpcpy-on-windows-platforms-on.patch \
19 " 20 "
20 21
21SRC_URI_append_class-native = " file://relocate-modules.patch" 22SRC_URI_append_class-native = " file://relocate-modules.patch"