From: Eric Blake Date: Wed, 17 Jun 2009 12:26:48 +0000 (-0600) Subject: Fix AC_CHECK_HEADER infloop for gcc. X-Git-Tag: v2.64~40 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=01660aaecc22ce7ca6b5ee88851916bf2f36e74c;p=thirdparty%2Fautoconf.git 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. Signed-off-by: Eric Blake --- diff --git a/ChangeLog b/ChangeLog index 4acbea59..e568c7fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-06-17 Eric Blake + + 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 Add m4_copy_force, m4_rename_force. diff --git a/lib/autoconf/headers.m4 b/lib/autoconf/headers.m4 index 6ba0b91b..21b512c8 100644 --- a/lib/autoconf/headers.m4 +++ b/lib/autoconf/headers.m4 @@ -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)