diff options
author | Tom Lane | 2024-12-03 17:44:43 +0000 |
---|---|---|
committer | Tom Lane | 2024-12-03 17:44:43 +0000 |
commit | 32a7deb2a02bc3c81d61eeb943b03ed2010eaac9 (patch) | |
tree | 663f6fef43bf49bc03084e576f0b355cef25540f | |
parent | 3c5f9f12c807760f6d512957a863113b07a79dcb (diff) |
Define _POSIX_C_SOURCE as 200112L on Solaris.
This is an attempt to suppress some compiler warnings that appeared in
the wake of commit 7f798aca1: it seems that by default Solaris/illumos
declares shmdt() to take "char *" not "void *". We'd like the system
headers to provide modern POSIX APIs, and POSIX 2001 seems to be as
modern as is available there.
illumos' standards(7) man page suggests that we might also need to
define __EXTENSIONS__, but let's see what happens with just this.
Discussion: https://postgr.es/m/[email protected]
-rwxr-xr-x | configure | 6 | ||||
-rw-r--r-- | configure.ac | 6 | ||||
-rw-r--r-- | meson.build | 4 |
3 files changed, 9 insertions, 7 deletions
@@ -7590,10 +7590,10 @@ $as_echo "#define PROFILE_PID_DIR 1" >>confdefs.h fi fi -# On Solaris, we need this #define to get POSIX-conforming versions -# of many interfaces (sigwait, getpwuid_r, ...). +# On Solaris, we need these #defines to get POSIX-conforming versions +# of many interfaces (sigwait, getpwuid_r, shmdt, ...). if test "$PORTNAME" = "solaris"; then - CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" + CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L -D_POSIX_PTHREAD_SEMANTICS" fi # We already have this in Makefile.win32, but configure needs it too diff --git a/configure.ac b/configure.ac index 2181700964..afc229e729 100644 --- a/configure.ac +++ b/configure.ac @@ -693,10 +693,10 @@ if test "$enable_profiling" = yes && test "$ac_cv_prog_cc_g" = yes; then fi fi -# On Solaris, we need this #define to get POSIX-conforming versions -# of many interfaces (sigwait, getpwuid_r, ...). +# On Solaris, we need these #defines to get POSIX-conforming versions +# of many interfaces (sigwait, getpwuid_r, shmdt, ...). if test "$PORTNAME" = "solaris"; then - CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" + CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L -D_POSIX_PTHREAD_SEMANTICS" fi # We already have this in Makefile.win32, but configure needs it too diff --git a/meson.build b/meson.build index 451c3f6d85..ec5cd9259d 100644 --- a/meson.build +++ b/meson.build @@ -261,7 +261,9 @@ elif host_system == 'openbsd' elif host_system == 'sunos' portname = 'solaris' export_fmt = '-Wl,-M@0@' - cppflags += '-D_POSIX_PTHREAD_SEMANTICS' + # We need these #defines to get POSIX-conforming versions + # of many interfaces (sigwait, getpwuid_r, shmdt, ...). + cppflags += [ '-D_POSIX_C_SOURCE=200112L', '-D_POSIX_PTHREAD_SEMANTICS' ] elif host_system == 'windows' portname = 'win32' |