configure: fix recv/send/select detection on Android

... since they now provide several functions as
__attribute__((overloadable)), the argument detection logic need
updates.

Patched-by: destman at github

Fixes #1738
This commit is contained in:
Daniel Stenberg 2017-08-08 17:36:49 +02:00
parent 18eac3df1b
commit d4f25201fb
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -1082,7 +1082,11 @@ AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
#endif #endif
#define GNICALLCONV #define GNICALLCONV
#endif #endif
extern int GNICALLCONV getnameinfo($gni_arg1, $gni_arg2, extern int GNICALLCONV
#ifdef __ANDROID__
__attribute__((overloadable))
#endif
getnameinfo($gni_arg1, $gni_arg2,
char *, $gni_arg46, char *, $gni_arg46,
char *, $gni_arg46, char *, $gni_arg46,
$gni_arg7); $gni_arg7);
@ -1386,6 +1390,9 @@ AC_DEFUN([CURL_CHECK_FUNC_RECV], [
#define RECVCALLCONV #define RECVCALLCONV
#endif #endif
extern $recv_retv RECVCALLCONV extern $recv_retv RECVCALLCONV
#ifdef __ANDROID__
__attribute__((overloadable))
#endif
recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4); recv($recv_arg1, $recv_arg2, $recv_arg3, $recv_arg4);
]],[[ ]],[[
$recv_arg1 s=0; $recv_arg1 s=0;
@ -1520,6 +1527,9 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
#define SENDCALLCONV #define SENDCALLCONV
#endif #endif
extern $send_retv SENDCALLCONV extern $send_retv SENDCALLCONV
#ifdef __ANDROID__
__attribute__((overloadable))
#endif
send($send_arg1, $send_arg2, $send_arg3, $send_arg4); send($send_arg1, $send_arg2, $send_arg3, $send_arg4);
]],[[ ]],[[
$send_arg1 s=0; $send_arg1 s=0;
@ -2365,7 +2375,11 @@ AC_DEFUN([CURL_CHECK_FUNC_SELECT], [
long tv_usec; long tv_usec;
}; };
#endif #endif
extern $sel_retv SELECTCALLCONV select($sel_arg1, extern $sel_retv SELECTCALLCONV
#ifdef __ANDROID__
__attribute__((overloadable))
#endif
select($sel_arg1,
$sel_arg234, $sel_arg234,
$sel_arg234, $sel_arg234,
$sel_arg234, $sel_arg234,