blob: bc753de1133e44cc74b6aed75c77a160ea07f412 [file] [log] [blame]
Andrew Geissler595f6302022-01-24 19:11:47 +00001From b4c64b6f07743e3fb63ce52359bc664ab7d60df0 Mon Sep 17 00:00:00 2001
Andrew Geissler82c905d2020-04-13 13:39:40 -05002From: Joshua Watt <JPEWhacker@gmail.com>
3Date: Thu, 20 Feb 2020 15:20:45 -0600
4Subject: [PATCH] build: Fix strndup detection on MinGW
5
6GCC and meson conspire together to incorrectly detect that strndup()
7exists on MinGW as __builtin_strndup, when no such function exists. As a
8work around, meson will skip looking for __builtin functions if an
9'#include' is in the prefix, so add '#include <string.h>' when looking
10for strndup().
11
12See: https://github.com/mesonbuild/meson/issues/3672
13
Andrew Geissler82c905d2020-04-13 13:39:40 -050014Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/wayland/merge_requests/63]
Andrew Geisslerd1e89492021-02-12 15:35:20 -060015
Andrew Geissler595f6302022-01-24 19:11:47 +000016Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
17Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Andrew Geissler82c905d2020-04-13 13:39:40 -050018---
19 meson.build | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
Andrew Geisslerd1e89492021-02-12 15:35:20 -060022diff --git a/meson.build b/meson.build
Andrew Geissler595f6302022-01-24 19:11:47 +000023index 3bc25c9..adde7b9 100644
Andrew Geissler82c905d2020-04-13 13:39:40 -050024--- a/meson.build
25+++ b/meson.build
Andrew Geissler595f6302022-01-24 19:11:47 +000026@@ -38,11 +38,11 @@ have_funcs = [
Andrew Geissler82c905d2020-04-13 13:39:40 -050027 'prctl',
28 'memfd_create',
Andrew Geissler595f6302022-01-24 19:11:47 +000029 'mremap',
Andrew Geissler82c905d2020-04-13 13:39:40 -050030- 'strndup',
31 ]
32 foreach f: have_funcs
33 config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f))
34 endforeach
Andrew Geisslerc182c622020-05-15 14:13:32 -050035+config_h.set('HAVE_STRNDUP', cc.has_function('strndup') and cc.has_header_symbol('string.h', 'strndup'))
Andrew Geissler595f6302022-01-24 19:11:47 +000036 config_h.set10('HAVE_XUCRED_CR_PID', cc.has_member('struct xucred', 'cr_pid', prefix : '#include <sys/ucred.h>'))
37 have_broken_msg_cmsg_cloexec = false
38 if host_machine.system() == 'freebsd'
39--
402.7.4
41