configure: remove CURL_CHECK_FUNC_RECVFROM
1 - We don't use the results from the test and we never did. recvfrom() is only used by the TFTP code and it has not caused any problems. 2 - the CURL_CHECK_FUNC_RECVFROM function is extremely slow
This commit is contained in:
parent
4990f46856
commit
32144ca241
209
acinclude.m4
209
acinclude.m4
@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@ -1597,213 +1597,6 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
|
|||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
dnl CURL_CHECK_FUNC_RECVFROM
|
|
||||||
dnl -------------------------------------------------
|
|
||||||
dnl Test if the socket recvfrom() function is available,
|
|
||||||
dnl and check its return type and the types of its
|
|
||||||
dnl arguments. If the function succeeds HAVE_RECVFROM
|
|
||||||
dnl will be defined, defining the types of the arguments
|
|
||||||
dnl in RECVFROM_TYPE_ARG1, RECVFROM_TYPE_ARG2, and so on
|
|
||||||
dnl to RECVFROM_TYPE_ARG6, defining also the type of the
|
|
||||||
dnl function return value in RECVFROM_TYPE_RETV.
|
|
||||||
dnl Notice that the types returned for pointer arguments
|
|
||||||
dnl will actually be the type pointed by the pointer.
|
|
||||||
|
|
||||||
AC_DEFUN([CURL_CHECK_FUNC_RECVFROM], [
|
|
||||||
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK])dnl
|
|
||||||
AC_REQUIRE([CURL_CHECK_HEADER_WINSOCK2])dnl
|
|
||||||
AC_CHECK_HEADERS(sys/types.h sys/socket.h)
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([for recvfrom])
|
|
||||||
AC_LINK_IFELSE([
|
|
||||||
AC_LANG_PROGRAM([[
|
|
||||||
#undef inline
|
|
||||||
#ifdef HAVE_WINDOWS_H
|
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
#endif
|
|
||||||
#include <windows.h>
|
|
||||||
#ifdef HAVE_WINSOCK2_H
|
|
||||||
#include <winsock2.h>
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_WINSOCK_H
|
|
||||||
#include <winsock.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_SOCKET_H
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
]],[[
|
|
||||||
recvfrom(0, 0, 0, 0, 0, 0);
|
|
||||||
]])
|
|
||||||
],[
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
curl_cv_recvfrom="yes"
|
|
||||||
],[
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
curl_cv_recvfrom="no"
|
|
||||||
])
|
|
||||||
#
|
|
||||||
if test "$curl_cv_recvfrom" = "yes"; then
|
|
||||||
AC_CACHE_CHECK([types of args and return type for recvfrom],
|
|
||||||
[curl_cv_func_recvfrom_args], [
|
|
||||||
curl_cv_func_recvfrom_args="unknown"
|
|
||||||
for recvfrom_retv in 'int' 'ssize_t'; do
|
|
||||||
for recvfrom_arg1 in 'int' 'ssize_t' 'SOCKET'; do
|
|
||||||
for recvfrom_arg2 in 'char *' 'void *'; do
|
|
||||||
for recvfrom_arg3 in 'size_t' 'int' 'socklen_t' 'unsigned int'; do
|
|
||||||
for recvfrom_arg4 in 'int' 'unsigned int'; do
|
|
||||||
for recvfrom_arg5 in 'struct sockaddr *' 'void *' 'const struct sockaddr *'; do
|
|
||||||
for recvfrom_arg6 in 'socklen_t *' 'int *' 'unsigned int *' 'size_t *' 'void *'; do
|
|
||||||
if test "$curl_cv_func_recvfrom_args" = "unknown"; then
|
|
||||||
AC_COMPILE_IFELSE([
|
|
||||||
AC_LANG_PROGRAM([[
|
|
||||||
#undef inline
|
|
||||||
#ifdef HAVE_WINDOWS_H
|
|
||||||
#ifndef WIN32_LEAN_AND_MEAN
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
#endif
|
|
||||||
#include <windows.h>
|
|
||||||
#ifdef HAVE_WINSOCK2_H
|
|
||||||
#include <winsock2.h>
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_WINSOCK_H
|
|
||||||
#include <winsock.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#define RECVFROMCALLCONV PASCAL
|
|
||||||
#else
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_SOCKET_H
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#endif
|
|
||||||
#define RECVFROMCALLCONV
|
|
||||||
#endif
|
|
||||||
extern $recvfrom_retv RECVFROMCALLCONV
|
|
||||||
recvfrom($recvfrom_arg1, $recvfrom_arg2,
|
|
||||||
$recvfrom_arg3, $recvfrom_arg4,
|
|
||||||
$recvfrom_arg5, $recvfrom_arg6);
|
|
||||||
]],[[
|
|
||||||
$recvfrom_arg1 s=0;
|
|
||||||
$recvfrom_arg2 buf=0;
|
|
||||||
$recvfrom_arg3 len=0;
|
|
||||||
$recvfrom_arg4 flags=0;
|
|
||||||
$recvfrom_arg5 addr=0;
|
|
||||||
$recvfrom_arg6 addrlen=0;
|
|
||||||
$recvfrom_retv res=0;
|
|
||||||
res = recvfrom(s, buf, len, flags, addr, addrlen);
|
|
||||||
]])
|
|
||||||
],[
|
|
||||||
curl_cv_func_recvfrom_args="$recvfrom_arg1,$recvfrom_arg2,$recvfrom_arg3,$recvfrom_arg4,$recvfrom_arg5,$recvfrom_arg6,$recvfrom_retv"
|
|
||||||
])
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
done
|
|
||||||
]) # AC-CACHE-CHECK
|
|
||||||
# Nearly last minute change for this release starts here
|
|
||||||
AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
|
|
||||||
[Define to 1 if you have the recvfrom function.])
|
|
||||||
ac_cv_func_recvfrom="yes"
|
|
||||||
# Nearly last minute change for this release ends here
|
|
||||||
if test "$curl_cv_func_recvfrom_args" = "unknown"; then
|
|
||||||
AC_MSG_WARN([Cannot find proper types to use for recvfrom args])
|
|
||||||
else
|
|
||||||
recvfrom_prev_IFS=$IFS; IFS=','
|
|
||||||
set dummy `echo "$curl_cv_func_recvfrom_args" | sed 's/\*/\*/g'`
|
|
||||||
IFS=$recvfrom_prev_IFS
|
|
||||||
shift
|
|
||||||
#
|
|
||||||
recvfrom_ptrt_arg2=$[2]
|
|
||||||
recvfrom_qual_ptrt_arg5=$[5]
|
|
||||||
recvfrom_ptrt_arg6=$[6]
|
|
||||||
#
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG1, $[1],
|
|
||||||
[Define to the type of arg 1 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG3, $[3],
|
|
||||||
[Define to the type of arg 3 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG4, $[4],
|
|
||||||
[Define to the type of arg 4 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_RETV, $[7],
|
|
||||||
[Define to the function return type for recvfrom.])
|
|
||||||
#
|
|
||||||
prev_sh_opts=$-
|
|
||||||
#
|
|
||||||
case $prev_sh_opts in
|
|
||||||
*f*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set -f
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
case "$recvfrom_qual_ptrt_arg5" in
|
|
||||||
const*)
|
|
||||||
recvfrom_qual_arg5=const
|
|
||||||
recvfrom_ptrt_arg5=`echo $recvfrom_qual_ptrt_arg5 | sed 's/^const //'`
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
recvfrom_qual_arg5=
|
|
||||||
recvfrom_ptrt_arg5=$recvfrom_qual_ptrt_arg5
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
recvfrom_type_arg2=`echo $recvfrom_ptrt_arg2 | sed 's/ \*//'`
|
|
||||||
recvfrom_type_arg5=`echo $recvfrom_ptrt_arg5 | sed 's/ \*//'`
|
|
||||||
recvfrom_type_arg6=`echo $recvfrom_ptrt_arg6 | sed 's/ \*//'`
|
|
||||||
#
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2, $recvfrom_type_arg2,
|
|
||||||
[Define to the type pointed by arg 2 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_QUAL_ARG5, $recvfrom_qual_arg5,
|
|
||||||
[Define to the type qualifier pointed by arg 5 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5, $recvfrom_type_arg5,
|
|
||||||
[Define to the type pointed by arg 5 for recvfrom.])
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6, $recvfrom_type_arg6,
|
|
||||||
[Define to the type pointed by arg 6 for recvfrom.])
|
|
||||||
#
|
|
||||||
if test "$recvfrom_type_arg2" = "void"; then
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG2_IS_VOID, 1,
|
|
||||||
[Define to 1 if the type pointed by arg 2 for recvfrom is void.])
|
|
||||||
fi
|
|
||||||
if test "$recvfrom_type_arg5" = "void"; then
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG5_IS_VOID, 1,
|
|
||||||
[Define to 1 if the type pointed by arg 5 for recvfrom is void.])
|
|
||||||
fi
|
|
||||||
if test "$recvfrom_type_arg6" = "void"; then
|
|
||||||
AC_DEFINE_UNQUOTED(RECVFROM_TYPE_ARG6_IS_VOID, 1,
|
|
||||||
[Define to 1 if the type pointed by arg 6 for recvfrom is void.])
|
|
||||||
fi
|
|
||||||
#
|
|
||||||
case $prev_sh_opts in
|
|
||||||
*f*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
set +f
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
#
|
|
||||||
AC_DEFINE_UNQUOTED(HAVE_RECVFROM, 1,
|
|
||||||
[Define to 1 if you have the recvfrom function.])
|
|
||||||
ac_cv_func_recvfrom="yes"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([Unable to link function recvfrom])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl CURL_CHECK_MSG_NOSIGNAL
|
dnl CURL_CHECK_MSG_NOSIGNAL
|
||||||
dnl -------------------------------------------------
|
dnl -------------------------------------------------
|
||||||
dnl Check for MSG_NOSIGNAL
|
dnl Check for MSG_NOSIGNAL
|
||||||
|
@ -2968,7 +2968,6 @@ AC_TYPE_SIGNAL
|
|||||||
CURL_CHECK_FUNC_SELECT
|
CURL_CHECK_FUNC_SELECT
|
||||||
|
|
||||||
CURL_CHECK_FUNC_RECV
|
CURL_CHECK_FUNC_RECV
|
||||||
CURL_CHECK_FUNC_RECVFROM
|
|
||||||
CURL_CHECK_FUNC_SEND
|
CURL_CHECK_FUNC_SEND
|
||||||
CURL_CHECK_MSG_NOSIGNAL
|
CURL_CHECK_MSG_NOSIGNAL
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user