m4/getaddrinfo.m4 tests for getaddrinfo with:
  AC_CHECK_FUNCS(getaddrinfo

This assumes getaddrinfo is available on the system under the name
`getaddrinfo'. Not so on Tru64 UNIX 5.1 where <netdb.h> has:
  #if defined (_SOCKADDR_LEN) || defined (_XOPEN_SOURCE_EXTENDED)
  #define getaddrinfo ngetaddrinfo
  #else
  #define getaddrinfo ogetaddrinfo
  #endif

The correct method to test for getaddrinfo on this system is to
include <netdb.h> and try linking a program using getaddrinfo(). Patch
attached.

-- 
albert chin ([EMAIL PROTECTED])
Index: m4/getaddrinfo.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/getaddrinfo.m4,v
retrieving revision 1.20
diff -u -p -r1.20 getaddrinfo.m4
--- m4/getaddrinfo.m4   12 Sep 2007 15:59:57 -0000      1.20
+++ m4/getaddrinfo.m4   10 Oct 2007 17:02:46 -0000
@@ -10,8 +10,21 @@ AC_DEFUN([gl_GETADDRINFO],
   AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo])
 
   AC_SEARCH_LIBS(getaddrinfo, [nsl socket])
-  AC_CHECK_FUNCS(getaddrinfo,, [
-    AC_CACHE_CHECK(for getaddrinfo in ws2tcpip.h and -lws2_32,
+  AC_MSG_CHECKING([for getaddrinfo])
+  AC_TRY_LINK([
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+], [getaddrinfo(0, 0, 0, 0);],
+    [AC_MSG_RESULT([yes])
+     AC_DEFINE(HAVE_GETADDRINFO, 1,
+      [Define to 1 if you have the `getaddrinfo' function.])],
+    [AC_MSG_RESULT([no])
+     AC_CACHE_CHECK(for getaddrinfo in ws2tcpip.h and -lws2_32,
                   gl_cv_w32_getaddrinfo, [
       gl_cv_w32_getaddrinfo=no
       am_save_LIBS="$LIBS"

Reply via email to