2004-10-27 Stepan Kasal Add a specialized check for resolv.h. Thanks to Gerrit P. Haase and Reini Urban for reporting the dependencies. * lib/autoconf/headers.m4 (AC_HEADER_RESOLV): New macro. * doc/autoconf.texi (AC_HEADER_RESOLV): Document it. (AC_HEADER_STAT): @cvindex{STAT_MACROS_BROKEN}, not @acindex. Index: doc/autoconf.texi =================================================================== RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v retrieving revision 1.845 diff -u -r1.845 autoconf.texi --- doc/autoconf.texi 29 Nov 2004 04:29:08 -0000 1.845 +++ doc/autoconf.texi 29 Nov 2004 08:58:07 -0000 @@ -4750,10 +4750,34 @@ @code{MAJOR_IN_SYSMACROS}. @end defmac address@hidden AC_HEADER_RESOLV address@hidden address@hidden HAVE_RESOLV_H address@hidden +Checks for header @file{resolv.h}, checking for prerequisities first. +To properly use @file{resolv.h}, your code should contain something like +the following: + address@hidden +#if HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_SYS_SOCKET_H +# include /* DNS HEADER struct */ +#endif +#include address@hidden verbatim address@hidden defmac @defmac AC_HEADER_STAT @acindex{HEADER_STAT} address@hidden address@hidden @hdrindex{sys/stat.h} If the macros @code{S_ISDIR}, @code{S_ISREG}, etc.@: defined in @file{sys/stat.h} do not work properly (returning false positives), Index: lib/autoconf/headers.m4 =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/headers.m4,v retrieving revision 1.41 diff -u -r1.41 headers.m4 --- lib/autoconf/headers.m4 1 Jun 2004 05:33:28 -0000 1.41 +++ lib/autoconf/headers.m4 29 Nov 2004 08:58:07 -0000 @@ -440,6 +440,27 @@ ])# AC_HEADER_MAJOR +# AC_HEADER_RESOLV +# ---------------- +AN_HEADER(resolv.h, [AC_HEADER_RESOLV]) +AC_DEFUN([AC_HEADER_RESOLV], +[AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h sys/socket.h resolv.h, + [], [], +[[#if HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include /* DNS HEADER struct */ +#endif +#ifdef HAVE_SYS_SOCKET_H +# include /* DNS HEADER struct */ +#endif]]) +])# AC_HEADER_RESOLV + + # AC_HEADER_STAT # -------------- # FIXME: Shouldn't this be named AC_HEADER_SYS_STAT?