aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in29
1 files changed, 28 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index d07158775..5f27a4dcc 100644
--- a/configure.in
+++ b/configure.in
@@ -64,8 +64,32 @@ AC_ARG_ENABLE(debug,
AC_MSG_RESULT(no)
)
+dnl ************************************************************
+dnl check for "localhost", if it doesn't exist, we can't do the
+dnl gethostbyname_r tests!
+dnl
-dnl
+AC_DEFUN(CURL_CHECK_WORKING_RESOLVER,[
+AC_MSG_CHECKING([if "localhost" resolves])
+AC_TRY_RUN([
+#include <string.h>
+#include <sys/types.h>
+#include <netdb.h>
+
+int
+main () {
+struct hostent *h;
+h = gethostbyname("localhost");
+exit (h == NULL ? 1 : 0); }],[
+ AC_MSG_RESULT(yes)],[
+ AC_MSG_RESULT(no)
+ AC_MSG_ERROR([can't figure out gethostbyname_r() since localhost doesn't resolve])
+
+ ]
+)
+])
+
+dnl ************************************************************
dnl check for working getaddrinfo()
dnl
AC_DEFUN(CURL_CHECK_WORKING_GETADDRINFO,[
@@ -681,6 +705,9 @@ then
Set to explicitly specify we don't want to use thread-safe functions)
else
+ dnl check that 'localhost' resolves first
+ CURL_CHECK_WORKING_RESOLVER
+
dnl dig around for gethostbyname_r()
CURL_CHECK_GETHOSTBYNAME_R()