changeset 14983:9ee1592da97c

inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ. * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here... (gl_PREREQ_INET_PTON): ... from here. * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_INET_PTON here. (Depends-on): Update condition.
author Bruno Haible <bruno@clisp.org>
date Sun, 08 May 2011 21:48:06 +0200
parents 734141d3f8bf
children 2a2292579cf1
files ChangeLog m4/inet_pton.m4 modules/inet_pton
diffstat 3 files changed, 32 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2011-05-08  Bruno Haible  <bruno@clisp.org>
+
+	inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
+	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
+	AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
+	gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
+	(gl_PREREQ_INET_PTON): ... from here.
+	* modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
+	gl_PREREQ_INET_PTON here.
+	(Depends-on): Update condition.
+
 2011-05-08  Bruno Haible  <bruno@clisp.org>
 
 	inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
--- a/m4/inet_pton.m4
+++ b/m4/inet_pton.m4
@@ -1,4 +1,4 @@
-# inet_pton.m4 serial 12
+# inet_pton.m4 serial 13
 dnl Copyright (C) 2006, 2008-2011 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -11,10 +11,16 @@
 
   dnl Most platforms that provide inet_pton define it in libc.
   dnl Solaris 8..10 provide inet_pton in libnsl instead.
+  HAVE_INET_PTON=1
   gl_save_LIBS=$LIBS
   AC_SEARCH_LIBS([inet_pton], [nsl], [],
-    [AC_REPLACE_FUNCS([inet_pton])])
+    [AC_CHECK_FUNCS([inet_pton])
+     if test $ac_cv_func_inet_pton = no; then
+       HAVE_INET_PTON=0
+     fi
+    ])
   LIBS=$gl_save_LIBS
+
   INET_PTON_LIB=
   if test "$ac_cv_search_inet_pton" != "no" &&
      test "$ac_cv_search_inet_pton" != "none required"; then
@@ -22,11 +28,6 @@
   fi
   AC_SUBST([INET_PTON_LIB])
 
-  gl_PREREQ_INET_PTON
-])
-
-# Prerequisites of lib/inet_pton.c.
-AC_DEFUN([gl_PREREQ_INET_PTON], [
   AC_CHECK_HEADERS_ONCE([netdb.h])
   AC_CHECK_DECLS([inet_pton],,,
     [#include <arpa/inet.h>
@@ -36,7 +37,11 @@
     ])
   if test $ac_cv_have_decl_inet_pton = no; then
     HAVE_DECL_INET_PTON=0
+    AC_REQUIRE([AC_C_RESTRICT])
   fi
+])
+
+# Prerequisites of lib/inet_pton.c.
+AC_DEFUN([gl_PREREQ_INET_PTON], [
   AC_REQUIRE([gl_SOCKET_FAMILIES])
-  AC_REQUIRE([AC_C_RESTRICT])
 ])
--- a/modules/inet_pton
+++ b/modules/inet_pton
@@ -8,13 +8,17 @@
 Depends-on:
 arpa_inet
 extensions
-c-ctype         [test "$ac_cv_search_inet_pton" = no && test $ac_cv_func_inet_pton = no]
-sys_socket      [test "$ac_cv_search_inet_pton" = no && test $ac_cv_func_inet_pton = no]
-errno           [test "$ac_cv_search_inet_pton" = no && test $ac_cv_func_inet_pton = no]
-netinet_in      [test "$ac_cv_search_inet_pton" = no && test $ac_cv_func_inet_pton = no]
+c-ctype         [test $HAVE_INET_PTON = 0]
+sys_socket      [test $HAVE_INET_PTON = 0]
+errno           [test $HAVE_INET_PTON = 0]
+netinet_in      [test $HAVE_INET_PTON = 0]
 
 configure.ac:
 gl_FUNC_INET_PTON
+if test $HAVE_INET_PTON = 0; then
+  AC_LIBOBJ([inet_pton])
+  gl_PREREQ_INET_PTON
+fi
 gl_ARPA_INET_MODULE_INDICATOR([inet_pton])
 
 Makefile.am: