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?