Added a check for a working getaddrinfo() that is required for the IPv6

to be considered enabled
This commit is contained in:
Daniel Stenberg 2001-01-31 13:53:31 +00:00
parent 1bcd3e601a
commit c0c0283356

View File

@ -26,6 +26,53 @@ dnl The install stuff has already been taken care of by the automake stuff
dnl AC_PROG_INSTALL dnl AC_PROG_INSTALL
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
dnl
dnl check for working getaddrinfo()
dnl
AC_DEFUN(CURL_CHECK_WORKING_GETADDRINFO,[
AC_CACHE_CHECK(for working getaddrinfo, ac_cv_working_getaddrinfo,[
AC_TRY_RUN( [
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
void main(void) {
struct addrinfo hints, *ai;
int error;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo("127.0.0.1", "8080", &hints, &ai);
if (error) {
exit(1);
}
else {
exit(0);
}
}
],[
ac_cv_working_getaddrinfo="yes"
],[
ac_cv_working_getaddrinfo="no"
],[
ac_cv_working_getaddrinfo="yes"
])])
if test "$ac_cv_working_getaddrinfo" = "yes"; then
AC_DEFINE(HAVE_GETADDRINFO, 1, [Define if getaddrinfo exists and works])
AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
fi
])
AC_DEFUN(CURL_CHECK_LOCALTIME_R, AC_DEFUN(CURL_CHECK_LOCALTIME_R,
[ [
dnl check for a few thread-safe functions dnl check for a few thread-safe functions
@ -251,7 +298,6 @@ AC_ARG_ENABLE(ipv6,
ipv6=no ipv6=no
;; ;;
*) AC_MSG_RESULT(yes) *) AC_MSG_RESULT(yes)
AC_DEFINE(ENABLE_IPV6)
ipv6=yes ipv6=yes
;; ;;
esac ], esac ],
@ -268,7 +314,6 @@ main()
} }
], ],
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
AC_DEFINE(ENABLE_IPV6)
ipv6=yes, ipv6=yes,
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
ipv6=no, ipv6=no,
@ -276,6 +321,11 @@ main()
ipv6=no ipv6=no
)) ))
if test "$ipv6" = "yes"; then
CURL_CHECK_WORKING_GETADDRINFO
fi
dnl ********************************************************************** dnl **********************************************************************
dnl Checks for libraries. dnl Checks for libraries.
dnl ********************************************************************** dnl **********************************************************************