]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Fix AC_CHECK_HEADER infloop for gcc.
authorEric Blake <ebb9@byu.net>
Wed, 17 Jun 2009 12:26:48 +0000 (06:26 -0600)
committerEric Blake <ebb9@byu.net>
Wed, 17 Jun 2009 12:27:45 +0000 (06:27 -0600)
* lib/autoconf/headers.m4 (_AC_CHECK_HEADER_NEW)
(_AC_CHECK_HEADER_OLD): Give up on AU_DEFUN, and manually warn
about obsoletion, to avoid infinite loop in gcc.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/autoconf/headers.m4

index 4acbea59db9bba9800c0cbed9a09a5b859ea37b5..e568c7fe154ec1ef0f8ec51ec9e83b0f283f9ae6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2009-06-17  Eric Blake  <ebb9@byu.net>
+
+       Fix AC_CHECK_HEADER infloop for gcc.
+       * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_NEW)
+       (_AC_CHECK_HEADER_OLD): Give up on AU_DEFUN, and manually warn
+       about obsoletion, to avoid infinite loop in gcc.
+       Reported by Ralf Wildenhues.
+
 2009-06-15  Eric Blake  <ebb9@byu.net>
 
        Add m4_copy_force, m4_rename_force.
index 6ba0b91b7ee22f5e25b3314867984be11b3267ee..21b512c8fa7a1f54c5338a70d0f101861fd0d691 100644 (file)
@@ -194,14 +194,6 @@ AC_DEFUN([_AC_CHECK_HEADER_COMPILE],
 AS_VAR_IF([ac_Header], [yes], [$2], [$3])
 AS_VAR_POPDEF([ac_Header])])# _AC_CHECK_HEADER_COMPILE
 
-# _AC_CHECK_HEADER_NEW(HEADER-FILE, [ACTION-IF-FOUND],
-#                      [ACTION-IF-NOT-FOUND])
-# ----------------------------------------------------
-# Some packages used this macro, even though it is undocumented.
-AU_DEFUN([_AC_CHECK_HEADER_NEW],
-[AC_CHECK_HEADER([$1], [$2], [$3], [AC_INCLUDES_DEFAULT])])
-
-
 # _AC_CHECK_HEADER_PREPROC_BODY
 # -----------------------------
 # Shell function body for _AC_CHECK_HEADER_PREPROC.
@@ -234,10 +226,23 @@ AS_VAR_POPDEF([ac_Header])dnl
 
 # _AC_CHECK_HEADER_OLD(HEADER-FILE, [ACTION-IF-FOUND],
 #                      [ACTION-IF-NOT-FOUND])
+# _AC_CHECK_HEADER_NEW(HEADER-FILE, [ACTION-IF-FOUND],
+#                      [ACTION-IF-NOT-FOUND])
 # ----------------------------------------------------
-# Some packages used this macro, even though it is undocumented.
-AU_DEFUN([_AC_CHECK_HEADER_OLD],
-[AC_CHECK_HEADER([$1], [$2], [$3], [-])])
+# Some packages used these undocumented macros.  Even worse, gcc
+# redefined AC_CHECK_HEADER in terms of _AC_CHECK_HEADER_OLD, so we
+# can't do the simpler:
+#   AU_DEFUN([_AC_CHECK_HEADER_OLD],
+#     [AC_CHECK_HEADER([$1], [$2], [$3], [-])])
+AC_DEFUN([_AC_CHECK_HEADER_OLD],
+[AC_DIAGNOSE([obsolete], [The macro `$0' is obsolete.
+You should use AC_CHECK_HEADER with a fourth argument.])]dnl
+[_AC_CHECK_HEADER_PREPROC($@)])
+
+AC_DEFUN([_AC_CHECK_HEADER_NEW],
+[AC_DIAGNOSE([obsolete], [The macro `$0' is obsolete.
+You should use AC_CHECK_HEADER with a fourth argument.])]dnl
+[_AC_CHECK_HEADER_COMPILE($@)])
 
 
 # _AH_CHECK_HEADER(HEADER-FILE)