aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in54
1 files changed, 52 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index ae7ca6540..052ed826c 100644
--- a/configure.in
+++ b/configure.in
@@ -26,6 +26,53 @@ dnl The install stuff has already been taken care of by the automake stuff
dnl AC_PROG_INSTALL
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,
[
dnl check for a few thread-safe functions
@@ -251,7 +298,6 @@ AC_ARG_ENABLE(ipv6,
ipv6=no
;;
*) AC_MSG_RESULT(yes)
- AC_DEFINE(ENABLE_IPV6)
ipv6=yes
;;
esac ],
@@ -268,7 +314,6 @@ main()
}
],
AC_MSG_RESULT(yes)
- AC_DEFINE(ENABLE_IPV6)
ipv6=yes,
AC_MSG_RESULT(no)
ipv6=no,
@@ -276,6 +321,11 @@ main()
ipv6=no
))
+if test "$ipv6" = "yes"; then
+ CURL_CHECK_WORKING_GETADDRINFO
+fi
+
+
dnl **********************************************************************
dnl Checks for libraries.
dnl **********************************************************************