]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
build: enable _GNU_SOURCE on GNU/Hurd
authorPino Toscano <toscano.pino@tiscali.it>
Sun, 20 Jul 2025 07:24:37 +0000 (09:24 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Sun, 20 Jul 2025 21:13:41 +0000 (23:13 +0200)
Unconditionally enable _GNU_SOURCE when building on GNU/Hurd; this way
it is possible to properly use/rely on GNU extensions e.g. accept4(),
memrchr(), and the GNU strerror_r().

Closes #17975

CMakeLists.txt
configure.ac

index 800b4a14d7330273a2cb233a5d08e0f47c59001c..31f6f1b1e425de5a545308dc137d2fdb120a6ebc 100644 (file)
@@ -268,7 +268,7 @@ endif()
 
 include(PickyWarnings)
 
-if(CYGWIN OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
+if(CYGWIN OR CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
   set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS "_GNU_SOURCE")  # Required for accept4(), pipe2(), sendmmsg()
   list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")  # Apply to all feature checks
 endif()
index bce4bf69e7b412c304383cd969687f08a874d533..1d4746c8c4106d85277a739c799039d1c61efd0a 100644 (file)
@@ -574,7 +574,7 @@ AM_CONDITIONAL(BUILD_UNITTESTS, test x$supports_unittests = xyes)
 # In order to detect support of sendmmsg() and accept4(), we need to escape the POSIX
 # jail by defining _GNU_SOURCE or <sys/socket.h> will not expose it.
 case $host_os in
-  *linux*|cygwin*|msys*)
+  *linux*|cygwin*|msys*|gnu*)
     CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
     ;;
 esac