From e71d5ac3ae8f18cf0cf394cf16d9745c2f46f468 Mon Sep 17 00:00:00 2001 From: Brad House Date: Sun, 3 Dec 2023 18:28:17 -0500 Subject: [PATCH] Enable system extensions Certain defines are needed on some systems to enable functionality like pthread recursive mutexes. Fixes #644 Fix By: Brad House (@bradh352) --- CMakeLists.txt | 6 +++--- configure.ac | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a885c81d..f8f419f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -251,11 +251,11 @@ ENDIF () IF (CMAKE_SYSTEM_NAME STREQUAL "Darwin") LIST (APPEND SYSFLAGS -D_DARWIN_C_SOURCE) ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Linux") - LIST (APPEND SYSFLAGS -D_GNU_SOURCE -D_POSIX_C_SOURCE=199309L -D_XOPEN_SOURCE=600) + LIST (APPEND SYSFLAGS -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700) ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "SunOS") - LIST (APPEND SYSFLAGS -D__EXTENSIONS__ -D_REENTRANT -D_XOPEN_SOURCE=600) + LIST (APPEND SYSFLAGS -D__EXTENSIONS__ -D_REENTRANT -D_XOPEN_SOURCE=700) ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "AIX") - LIST (APPEND SYSFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=600 -D_USE_IRS) + LIST (APPEND SYSFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=700 -D_USE_IRS) ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # Don't define _XOPEN_SOURCE on FreeBSD, it actually reduces visibility instead of increasing it ELSEIF (WIN32) diff --git a/configure.ac b/configure.ac index c69886ff..d61ffc0d 100644 --- a/configure.ac +++ b/configure.ac @@ -138,6 +138,9 @@ dnl Our configure and build reentrant settings CARES_CONFIGURE_THREAD_SAFE CARES_CONFIGURE_REENTRANT +dnl make sure we use system extensions like _GNU_SOURCE or _XOPEN_SOURCE +AC_USE_SYSTEM_EXTENSIONS + dnl check for how to do large files AC_SYS_LARGEFILE