diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-10-31 00:45:17 +0100 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2016-11-06 15:16:52 +0100 |
commit | 6aa9cfa2b90a818e06c8c414733145ad94ca461f (patch) | |
tree | 396dd171a8e96fe317702e66f18d5158141c3ec7 | |
parent | 4564636781cbb1f8735bc636ff8ba1719ad10ace (diff) |
cmake: disable poll for macOS
Mirrors the autotools behavior introduced with curl-7_50_3-83-ga34c7ce.
Fixes #1089
-rw-r--r-- | CMake/OtherTests.cmake | 25 | ||||
-rw-r--r-- | CMakeLists.txt | 6 |
2 files changed, 19 insertions, 12 deletions
diff --git a/CMake/OtherTests.cmake b/CMake/OtherTests.cmake index d59949871..3b203c538 100644 --- a/CMake/OtherTests.cmake +++ b/CMake/OtherTests.cmake @@ -179,17 +179,20 @@ int main(void) { include(CheckCSourceRuns) -set(CMAKE_REQUIRED_FLAGS) -if(HAVE_SYS_POLL_H) - set(CMAKE_REQUIRED_FLAGS "-DHAVE_SYS_POLL_H") -endif(HAVE_SYS_POLL_H) -check_c_source_runs(" - #ifdef HAVE_SYS_POLL_H - # include <sys/poll.h> - #endif - int main(void) { - return poll((void *)0, 0, 10 /*ms*/); - }" HAVE_POLL_FINE) +# See HAVE_POLL in CMakeLists.txt for why poll is disabled on macOS +if(NOT APPLE) + set(CMAKE_REQUIRED_FLAGS) + if(HAVE_SYS_POLL_H) + set(CMAKE_REQUIRED_FLAGS "-DHAVE_SYS_POLL_H") + endif(HAVE_SYS_POLL_H) + check_c_source_runs(" + #ifdef HAVE_SYS_POLL_H + # include <sys/poll.h> + #endif + int main(void) { + return poll((void *)0, 0, 10 /*ms*/); + }" HAVE_POLL_FINE) +endif() set(HAVE_SIG_ATOMIC_T 1) set(CMAKE_REQUIRED_FLAGS) diff --git a/CMakeLists.txt b/CMakeLists.txt index ed3f38a75..a6a73689d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -742,7 +742,11 @@ endif() check_symbol_exists(basename "${CURL_INCLUDES}" HAVE_BASENAME) check_symbol_exists(socket "${CURL_INCLUDES}" HAVE_SOCKET) -check_symbol_exists(poll "${CURL_INCLUDES}" HAVE_POLL) +# poll on macOS is unreliable, it first did not exist, then was broken until +# fixed in 10.9 only to break again in 10.12. +if(NOT APPLE) + check_symbol_exists(poll "${CURL_INCLUDES}" HAVE_POLL) +endif() check_symbol_exists(select "${CURL_INCLUDES}" HAVE_SELECT) check_symbol_exists(strdup "${CURL_INCLUDES}" HAVE_STRDUP) check_symbol_exists(strstr "${CURL_INCLUDES}" HAVE_STRSTR) |