diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-05-12 16:20:12 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-05-14 14:15:11 +0100 |
commit | 38543222aa908ee0f197900627c0569201a073b7 (patch) | |
tree | e1d1a56bcaf24f4508554f5fe988c2a2b28dfdff /meta/recipes-core/glib-2.0 | |
parent | d708afc6dfc2f1ada34871c0790cccff2c45814d (diff) | |
download | poky-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.patch | 53 | ||||
-rw-r--r-- | meta/recipes-core/glib-2.0/glib-2.0_2.64.2.bb | 1 |
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 @@ | |||
1 | From d4b1fd9cdb7ae07fa6be941ac95f97ece175fe55 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st> | ||
3 | Date: Tue, 31 Mar 2020 23:54:17 +0300 | ||
4 | Subject: [PATCH] meson: Don't misdetect stpcpy on windows platforms on clang | ||
5 | |||
6 | See https://github.com/mesonbuild/meson/issues/3672 and | ||
7 | https://github.com/mesonbuild/meson/issues/5628 for explanations | ||
8 | of cases where meson misdetects functions due to clang builtins (that | ||
9 | always are available, regardless of whether the platform actually | ||
10 | provides them). | ||
11 | |||
12 | The same also happens on GCC 10, which added support for __has_builtin. | ||
13 | |||
14 | Upstream-Status: Backport [https://github.com/GNOME/glib/commit/1b94bfbd72dbbfb696fa68f3742f40998096b438] | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | meson.build | 16 +++++++++++++--- | ||
18 | 1 file changed, 13 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/meson.build b/meson.build | ||
21 | index 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 | -- | ||
52 | 2.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 | ||
21 | SRC_URI_append_class-native = " file://relocate-modules.patch" | 22 | SRC_URI_append_class-native = " file://relocate-modules.patch" |