mirror of
https://github.com/reactos/CMake.git
synced 2024-12-04 01:22:28 +00:00
curl: Avoid checking 'send' and 'recv' signatures
cURL detects the `send` and `recv` signatures using a large loop of `try_compile` checks. The results are used for the following: * Casting argument types in calls to `send` and `recv`, perhaps to avoid conversion warnings. We compile with `-w` anyway. * Providing debug variants for `CURLDEBUG`, which we do not use. Replace the detection loops with hard-coded results that should work well enough everywhere. This significantly reduces the number of configure-time checks for building CMake on some platforms.
This commit is contained in:
parent
2f3a356ea8
commit
0a46eb11af
@ -26,6 +26,13 @@ endif()
|
|||||||
|
|
||||||
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
|
||||||
|
|
||||||
|
if(1) # CMake hard-codes these
|
||||||
|
set(RECV_TYPE_ARG1 "curl_socket_t")
|
||||||
|
set(RECV_TYPE_ARG2 "char *")
|
||||||
|
set(RECV_TYPE_ARG3 "size_t")
|
||||||
|
set(RECV_TYPE_ARG4 "int")
|
||||||
|
set(RECV_TYPE_RETV "ssize_t")
|
||||||
|
else()
|
||||||
check_c_source_compiles("${_source_epilogue}
|
check_c_source_compiles("${_source_epilogue}
|
||||||
int main(void) {
|
int main(void) {
|
||||||
recv(0, 0, 0, 0);
|
recv(0, 0, 0, 0);
|
||||||
@ -88,8 +95,17 @@ else()
|
|||||||
message(FATAL_ERROR "Unable to link function recv")
|
message(FATAL_ERROR "Unable to link function recv")
|
||||||
endif()
|
endif()
|
||||||
set(curl_cv_func_recv_args "${curl_cv_func_recv_args}" CACHE INTERNAL "Arguments for recv")
|
set(curl_cv_func_recv_args "${curl_cv_func_recv_args}" CACHE INTERNAL "Arguments for recv")
|
||||||
|
endif()
|
||||||
set(HAVE_RECV 1)
|
set(HAVE_RECV 1)
|
||||||
|
|
||||||
|
if(1) # CMake hard-codes these
|
||||||
|
set(SEND_QUAL_ARG2 " ")
|
||||||
|
set(SEND_TYPE_ARG1 "curl_socket_t")
|
||||||
|
set(SEND_TYPE_ARG2 "char *")
|
||||||
|
set(SEND_TYPE_ARG3 "size_t")
|
||||||
|
set(SEND_TYPE_ARG4 "int")
|
||||||
|
set(SEND_TYPE_RETV "ssize_t")
|
||||||
|
else()
|
||||||
check_c_source_compiles("${_source_epilogue}
|
check_c_source_compiles("${_source_epilogue}
|
||||||
int main(void) {
|
int main(void) {
|
||||||
send(0, 0, 0, 0);
|
send(0, 0, 0, 0);
|
||||||
@ -156,6 +172,7 @@ else()
|
|||||||
message(FATAL_ERROR "Unable to link function send")
|
message(FATAL_ERROR "Unable to link function send")
|
||||||
endif()
|
endif()
|
||||||
set(curl_cv_func_send_args "${curl_cv_func_send_args}" CACHE INTERNAL "Arguments for send")
|
set(curl_cv_func_send_args "${curl_cv_func_send_args}" CACHE INTERNAL "Arguments for send")
|
||||||
|
endif()
|
||||||
set(HAVE_SEND 1)
|
set(HAVE_SEND 1)
|
||||||
|
|
||||||
check_c_source_compiles("${_source_epilogue}
|
check_c_source_compiles("${_source_epilogue}
|
||||||
|
Loading…
Reference in New Issue
Block a user