]> granicus.if.org Git - curl/commitdiff
Added a check that 'localhost' resolves before the gethostbyname_r() checks,
authorDaniel Stenberg <daniel@haxx.se>
Mon, 11 Jun 2001 12:29:08 +0000 (12:29 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 11 Jun 2001 12:29:08 +0000 (12:29 +0000)
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.

configure.in

index d07158775819447e83eb6be41f2874866568edb4..5f27a4dccae87472137798950136a3445b2f094d 100644 (file)
@@ -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()