From 26093e5ea20132e407377679e1521c36a72873c0 Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Thu, 28 Jun 2007 09:25:21 +0000 Subject: [PATCH] 2007-06-27 Simon Josefsson Bruno Haible * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using HAVE_WS2TCPIP_H. Check for gai_strerror through an explicit link test, rather than AC_REPLACE_FUNCS - for mingw. (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H. --- ChangeLog | 9 +++++++++ m4/getaddrinfo.m4 | 31 ++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3445ccf75b..4be24be598 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-06-27 Simon Josefsson + Bruno Haible + + * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET + before using HAVE_WS2TCPIP_H. Check for gai_strerror through an + explicit link test, rather than AC_REPLACE_FUNCS - for mingw. + (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using + HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H. + 2007-06-27 Bruno Haible * build-aux/config.rpath: Upgrade to libtool-1.5.24. diff --git a/m4/getaddrinfo.m4 b/m4/getaddrinfo.m4 index db285d9423..4a1e09f775 100644 --- a/m4/getaddrinfo.m4 +++ b/m4/getaddrinfo.m4 @@ -1,11 +1,12 @@ -# getaddrinfo.m4 serial 11 -dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. +# getaddrinfo.m4 serial 12 +dnl Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETADDRINFO], [ + AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo]) AC_SEARCH_LIBS(getaddrinfo, [nsl socket]) @@ -28,12 +29,36 @@ AC_DEFUN([gl_GETADDRINFO], fi ]) - AC_REPLACE_FUNCS(gai_strerror) + # 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_HEADERS_ONCE(netdb.h) + AC_CACHE_CHECK([for gai_strerror (possibly via ws2tcpip.h)], + gl_cv_func_gai_strerror, [ + AC_TRY_LINK([ +#include +#ifdef HAVE_SYS_SOCKET_H +#include +#endif +#ifdef HAVE_NETDB_H +#include +#endif +#ifdef HAVE_WS2TCPIP_H +#include +#endif +], [gai_strerror (0);], + [gl_cv_func_gai_strerror=yes], + [gl_cv_func_gai_strerror=no])]) + if test $gl_cv_func_gai_strerror = no; then + AC_LIBOBJ(gai_strerror) + fi + gl_PREREQ_GETADDRINFO ]) # Prerequisites of lib/getaddrinfo.h and lib/getaddrinfo.c. AC_DEFUN([gl_PREREQ_GETADDRINFO], [ + AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H AC_SEARCH_LIBS(gethostbyname, [inet nsl]) AC_SEARCH_LIBS(getservbyname, [inet nsl socket xnet]) AC_CHECK_FUNCS(gethostbyname,, [ -- 2.30.2