mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-25 05:26:14 +01:00
meson: fix str[n]casecmp detection on clang-cl
Meson incorrectly detects strcasecmp, strncasecmp on clang-cl if 'prefix:' is not specified for cc.has_function(). See https://github.com/mesonbuild/meson/issues/5628 Fixes https://gitlab.gnome.org/GNOME/glib/-/issues/2337 Before this change: msvc was using _stricmp() gcc on mingw was using strcasecmp() gcc on linux was using strcasecmp() clang-cl was trying to use strcasecmp() After this change: msvc is using _stricmp() gcc on mingw is using strcasecmp() gcc on linux is using strcasecmp() clang-cl is using _stricmp() Tests are still failing to build with clang-cl, but that's a separate issue.
This commit is contained in:
parent
47a949d74f
commit
1eac0c39f9
@ -662,7 +662,7 @@ elif cc.has_function('_snprintf') or cc.has_header_symbol('stdio.h', '_snprintf'
|
||||
glib_conf_prefix = glib_conf_prefix + '#define HAVE_SNPRINTF ' + hack_define
|
||||
endif
|
||||
|
||||
if cc.has_function('strcasecmp')
|
||||
if cc.has_function('strcasecmp', prefix: '#include <strings.h>')
|
||||
glib_conf.set('HAVE_STRCASECMP', 1)
|
||||
glib_conf_prefix = glib_conf_prefix + '#define HAVE_STRCASECMP 1\n'
|
||||
elif cc.has_function('_stricmp')
|
||||
@ -671,7 +671,7 @@ elif cc.has_function('_stricmp')
|
||||
glib_conf_prefix = glib_conf_prefix + '#define HAVE_STRCASECMP ' + hack_define
|
||||
endif
|
||||
|
||||
if cc.has_function('strncasecmp')
|
||||
if cc.has_function('strncasecmp', prefix: '#include <strings.h>')
|
||||
glib_conf.set('HAVE_STRNCASECMP', 1)
|
||||
glib_conf_prefix = glib_conf_prefix + '#define HAVE_STRNCASECMP 1\n'
|
||||
elif cc.has_function('_strnicmp')
|
||||
|
Loading…
Reference in New Issue
Block a user