diff --git a/CMake/OtherTests.cmake b/CMake/OtherTests.cmake index 6619f3ab3e..b0727d32e4 100644 --- a/CMake/OtherTests.cmake +++ b/CMake/OtherTests.cmake @@ -77,12 +77,14 @@ if(WIN32) set(HAVE_GETADDRINFO_THREADSAFE ${HAVE_GETADDRINFO}) elseif(NOT HAVE_GETADDRINFO) set(HAVE_GETADDRINFO_THREADSAFE FALSE) -elseif(APPLE OR - AIX OR CMAKE_SYSTEM_NAME STREQUAL "AIX" OR - CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "HP-UX" OR - CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR +elseif(APPLE OR # Darwin 9+ / macOS 10.5+ + AIX OR CMAKE_SYSTEM_NAME STREQUAL "AIX" OR # 5.2+ + CMAKE_SYSTEM_NAME STREQUAL "DragonFlyBSD" OR # 2.2.0+ + CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR # 5.5+ + CMAKE_SYSTEM_NAME STREQUAL "HP-UX" OR # 11.11+ + CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR # all versions + CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR # 4+ + CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR # 5.4+ CMAKE_SYSTEM_NAME STREQUAL "SunOS") set(HAVE_GETADDRINFO_THREADSAFE TRUE) elseif(BSD OR CMAKE_SYSTEM_NAME MATCHES "BSD") diff --git a/CMake/unix-cache.cmake b/CMake/unix-cache.cmake index 78816499ca..44dc6472b2 100644 --- a/CMake/unix-cache.cmake +++ b/CMake/unix-cache.cmake @@ -106,14 +106,7 @@ elseif(CYGWIN OR set(HAVE_FSETXATTR_6 0) endif() set(HAVE_GETADDRINFO 1) -if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") - set(HAVE_GETADDRINFO_THREADSAFE 0) -elseif(CYGWIN OR - CMAKE_SYSTEM_NAME STREQUAL "Linux" OR - CMAKE_SYSTEM_NAME STREQUAL "DragonFlyBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "NetBSD") +if(CYGWIN) set(HAVE_GETADDRINFO_THREADSAFE 1) endif() set(HAVE_GETEUID 1) @@ -219,12 +212,7 @@ if(APPLE OR CYGWIN) set(HAVE_PIPE2 0) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" OR - BSD OR - CMAKE_SYSTEM_NAME STREQUAL "DragonFlyBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR - CMAKE_SYSTEM_NAME STREQUAL "OpenBSD" OR + BSD OR CMAKE_SYSTEM_NAME MATCHES "BSD" OR CMAKE_SYSTEM_NAME STREQUAL "SunOS") set(HAVE_PIPE2 1) endif() diff --git a/CMakeLists.txt b/CMakeLists.txt index e459b3d076..c956dc4115 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,7 +89,7 @@ endif() if(UNIX) string(APPEND _target_flags " UNIX") endif() -if(BSD) +if(BSD OR CMAKE_SYSTEM_NAME MATCHES "BSD") string(APPEND _target_flags " BSD") endif() if(ANDROID) diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4 index debd76d1d5..8b81d736cb 100644 --- a/m4/curl-functions.m4 +++ b/m4/curl-functions.m4 @@ -1330,7 +1330,7 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [ if test "$curl_cv_func_getaddrinfo" = "yes"; then AC_MSG_CHECKING([if getaddrinfo is thread-safe]) if test "$curl_cv_apple" = "yes"; then - dnl Darwin 6.0 and macOS 10.2.X and newer + dnl Darwin 9+ and macOS 10.5+ tst_tsafe_getaddrinfo="yes" fi case $host_os in @@ -1342,10 +1342,18 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [ dnl AIX 5.2 and newer tst_tsafe_getaddrinfo="yes" ;; - darwin[[12345]].*) - dnl Darwin 5.0 and macOS 10.1.X and older + darwin[[12345678]].*) + dnl Darwin <=8.0 and macOS <=10.4 tst_tsafe_getaddrinfo="no" ;; + dragonfly1.* | dragonfly2.[[01]]) + dnl DragonFly BSD <=2.1.0 + tst_tsafe_getaddrinfo="no" + ;; + dragonfly*) + dnl DragonFly BSD 2.2.0+ + tst_tsafe_getaddrinfo="yes" + ;; freebsd[[1234]].* | freebsd5.[[1234]]*) dnl FreeBSD 5.4 and older tst_tsafe_getaddrinfo="no" @@ -1374,6 +1382,14 @@ AC_DEFUN([CURL_CHECK_FUNC_GETADDRINFO], [ dnl NetBSD 4.X and newer tst_tsafe_getaddrinfo="yes" ;; + openbsd[[1234]].* | openbsd5.[[0123]]) + dnl OpenBSD <=5.3 + tst_tsafe_getaddrinfo="no" + ;; + openbsd*) + dnl OpenBSD 5.4+ + tst_tsafe_getaddrinfo="yes" + ;; *bsd*) dnl All other BSD's tst_tsafe_getaddrinfo="no"