Hello all, I have prepared another version of the AC_HEADER_RESOLV autoconf macro. Attached is a patch against CVS; I have verified that it can be used with autoconf-2.59b, too.
I have removed sys/socket.h; I wasn't able to find a reference to a platform where it was required to include it before resolv.h. I have added netdb.h, since Paul Eggert reports that it is needed on Solaris 9. Gerrit, Reini, could you please test the macro again? (Of course, the easiest way is to put the macro to aclocal.m4 and call AC_HEADER_RESOLV in your configure.ac.) Thank you in advance for your help, Stepan Kasal AC_DEFUN([AC_HEADER_RESOLV], [AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h, [], [], [[#if HAVE_SYS_TYPES_H # include <sys/types.h> #endif #ifdef HAVE_NETINET_IN_H # include <netinet/in.h> /* inet_ functions / structs */ #endif #ifdef HAVE_ARPA_NAMESER_H # include <arpa/nameser.h> /* DNS HEADER struct */ #endif #ifdef HAVE_NETDB_H # include <netdb.h> #endif]]) ])# AC_HEADER_RESOLV
2004-12-03 Stepan Kasal <[EMAIL PROTECTED]> Add a specialized check for resolv.h. Thanks to Gerrit P. Haase, Reini Urban and Paul Eggert 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.846 diff -u -r1.846 autoconf.texi --- doc/autoconf.texi 29 Nov 2004 21:43:11 -0000 1.846 +++ doc/autoconf.texi 3 Dec 2004 09:43:08 -0000 @@ -4750,10 +4750,34 @@ @code{MAJOR_IN_SYSMACROS}. @end defmac [EMAIL PROTECTED] AC_HEADER_RESOLV [EMAIL PROTECTED] [EMAIL PROTECTED] HAVE_RESOLV_H [EMAIL PROTECTED] +Checks for header @file{resolv.h}, checking for prerequisities first. +To properly use @file{resolv.h}, your code should contain something like +the following: + [EMAIL PROTECTED] +#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_NETINET_IN_H +# include <netinet/in.h> /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include <arpa/nameser.h> /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include <netdb.h> +#endif +#include <resolv.h> [EMAIL PROTECTED] verbatim [EMAIL PROTECTED] defmac @defmac AC_HEADER_STAT @acindex{HEADER_STAT} [EMAIL PROTECTED] [EMAIL PROTECTED] STAT_MACROS_BROKEN @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 3 Dec 2004 09:43:08 -0000 @@ -440,6 +440,32 @@ ])# AC_HEADER_MAJOR +# AC_HEADER_RESOLV +# ---------------- +# According to http://www.mcsr.olemiss.edu/cgi-bin/man-cgi?resolver+3, +# sys/types.h, netinet/in.h and arpa/nameser.h are required on IRIX. +# netinet/in.h is needed on Cygwin, too. +# With Solaris 9, netdb.h is required, to get symbols like HOST_NOT_FOUND. +# +AN_HEADER(resolv.h, [AC_HEADER_RESOLV]) +AC_DEFUN([AC_HEADER_RESOLV], +[AC_CHECK_HEADERS(sys/types.h netinet/in.h arpa/nameser.h netdb.h resolv.h, + [], [], +[[#if HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_NETINET_IN_H +# include <netinet/in.h> /* inet_ functions / structs */ +#endif +#ifdef HAVE_ARPA_NAMESER_H +# include <arpa/nameser.h> /* DNS HEADER struct */ +#endif +#ifdef HAVE_NETDB_H +# include <netdb.h> +#endif]]) +])# AC_HEADER_RESOLV + + # AC_HEADER_STAT # -------------- # FIXME: Shouldn't this be named AC_HEADER_SYS_STAT?
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/