aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2001-06-11 12:29:08 +0000
committerDaniel Stenberg <daniel@haxx.se>2001-06-11 12:29:08 +0000
commit116462a5123949e3782660c965e2fb7c58e79662 (patch)
treefd579057ff553430c4e4390f97d3fbd20d8c9cd7
parent217e0331203945673b8773d6a81fec56d74b7aa5 (diff)
Added a check that 'localhost' resolves before the gethostbyname_r() checks,
as they depend on the resolving of that name. It seems this mistake is happening from time to time and people have a hard time finding out why configure can't detect their gethostbyname_r()-setup.
-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()