build: enable thread-safe `getaddrinfo()` for OpenBSD, and other tidy-ups
No binary (build failed)
—
(log yok)
| @@ -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") | |
| @@ -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() | |
| @@ -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) | |
| @@ -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" | |