I pushed this typo fix into gnulib, and it should eventually appear in coreutils.
getaddrinfo: fix sh typo in gai_strerrorA decl checking * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated shell code: it contained a 'break' that was not in a loop. Apparently the macro assumed that AC_CHECK_DECLS is implemenented via a shell-language loop; this may have been true in old Autoconf versions, but it's not true in Autoconf 2.68. I found this bug when testing coreutils git on Solaris 8, whose shell complains about the syntax error. diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4 index 4fecfb2..fe8d14f 100644 --- a/m4/getaddrinfo.m4 +++ b/m4/getaddrinfo.m4 @@ -1,4 +1,4 @@ -# getaddrinfo.m4 serial 27 +# getaddrinfo.m4 serial 28 dnl Copyright (C) 2004-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, @@ -63,7 +63,7 @@ AC_DEFUN([gl_GETADDRINFO], # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an # inline function declared in ws2tcpip.h, so we need to get that # header included somehow. - AC_CHECK_DECLS([gai_strerror, gai_strerrorA], [], [break], [[ + AC_CHECK_DECLS([gai_strerror], [], [], [[ #include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> @@ -77,6 +77,19 @@ AC_DEFUN([gl_GETADDRINFO], #include <stddef.h> ]]) if test $ac_cv_have_decl_gai_strerror = yes; then + AC_CHECK_DECLS([gai_strerrorA], [], [], [[ +#include <sys/types.h> +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif +#ifdef HAVE_WS2TCPIP_H +#include <ws2tcpip.h> +#endif +#include <stddef.h> +]]) dnl check for correct signature AC_CACHE_CHECK([for gai_strerror with POSIX signature], [gl_cv_func_gai_strerror_posix_signature], [