diff --git a/meson.build b/meson.build index ce2f223a40..058382046e 100644 --- a/meson.build +++ b/meson.build @@ -2193,12 +2193,15 @@ endif # Check for the locale_t type and find the right header file. macOS # needs xlocale.h; standard is locale.h, but glibc also has an -# xlocale.h file that we should not use. +# xlocale.h file that we should not use. MSVC has a replacement +# defined in src/include/port/win32_port.h. if cc.has_type('locale_t', prefix: '#include ') cdata.set('HAVE_LOCALE_T', 1) elif cc.has_type('locale_t', prefix: '#include ') cdata.set('HAVE_LOCALE_T', 1) cdata.set('LOCALE_T_IN_XLOCALE', 1) +elif cc.get_id() == 'msvc' + cdata.set('HAVE_LOCALE_T', 1) endif # Check if the C compiler understands typeof or a variant. Define @@ -2411,6 +2414,13 @@ if cc.has_function('syslog', args: test_c_args) and \ endif +# MSVC has replacements defined in src/include/port/win32_port.h. +if cc.get_id() == 'msvc' + cdata.set('HAVE_WCSTOMBS_L', 1) + cdata.set('HAVE_MBSTOWCS_L', 1) +endif + + # if prerequisites for unnamed posix semas aren't fulfilled, fall back to sysv # semaphores if sema_kind == 'unnamed_posix' and \