summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2022-11-11 16:00:48 +0100
committerPeter Eisentraut <peter@eisentraut.org>2022-11-11 16:01:16 +0100
commit373679c4a82f04e6c16198cdffab1a6c56852956 (patch)
treef8297e31eca7c024207e54768d6959c19b4c6880
parentb9424d014e195386a83b0f1fe9f5a8e5727e46ea (diff)
meson: Define HAVE_LOCALE_T for msvc
Meson doesn't see the redefinition of locale_t done in src/include/port/win32_port.h, so it is not defining HAVE_LOCALE_T, HAVE_WCSTOMBS_L nor HAVE_MBSTOWCS_L as the current src/tools/msvc/build.pl script does. Add manual overrides to fix. Author: Author: Juan Jose Santamaria Flecha <juanjo.santamaria@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/CAC%2BAXB1wJEqfKCuVcNpoH%3Dgxd61N%3D7c2fR3Ew6YRPpSfEUA%3DyQ%40mail.gmail.com
-rw-r--r--meson.build12
1 files changed, 11 insertions, 1 deletions
diff --git a/meson.build b/meson.build
index ce2f223a409..058382046e1 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 <locale.h>')
cdata.set('HAVE_LOCALE_T', 1)
elif cc.has_type('locale_t', prefix: '#include <xlocale.h>')
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 \