diff options
-rw-r--r-- | NEWS | 10 | ||||
-rw-r--r-- | m4/obsolete-err.m4 | 20 | ||||
-rwxr-xr-x | t/am-config-header.sh (renamed from t/am-config-header-no-more.sh) | 41 | ||||
-rwxr-xr-x | t/am-prog-cc-stdc.sh (renamed from t/am-prog-cc-stdc-no-more.sh) | 35 | ||||
-rwxr-xr-x | t/backcompat6.sh | 2 | ||||
-rw-r--r-- | t/list-of-tests.mk | 4 |
6 files changed, 66 insertions, 46 deletions
@@ -64,6 +64,16 @@ New in 1.13.2: configure runtime (unfortunately, Autoconf does not yet support this scenario, so we cannot delegate the work to it). +* Bugs fixed: + + - The obsolete macros AM_CONFIG_HEADER or AM_PROG_CC_STDC work once + again, as they did in Automake 1.12.x (albeit printing runtime + warnings in the 'obsolete' category). Removing them has turned + out to be a very bad idea, because it complicated distro packing + enormously. Making them issue fatal warnings, as we did in + Automake 1.13, has turned out to be a similarly very bad idea, + for exactly the same reason. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New in 1.13.1: diff --git a/m4/obsolete-err.m4 b/m4/obsolete-err.m4 index d8119a4e4..f7ec1dbcd 100644 --- a/m4/obsolete-err.m4 +++ b/m4/obsolete-err.m4 @@ -8,19 +8,21 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -dnl TODO: Remove in Automake 1.15. AC_DEFUN([AM_CONFIG_HEADER], -[AC_FATAL(['$0': this macro is obsolete. - You should use the 'AC][_CONFIG_HEADERS' macro instead.])]) +[AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl +AC_CONFIG_HEADERS($@)]) -dnl TODO: Remove in Automake 1.15. AC_DEFUN([AM_PROG_CC_STDC], -[AC_FATAL(['$0': this macro is obsolete. - You should simply use the 'AC][_PROG_CC' macro instead. - Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', - but upon 'ac_cv_prog_cc_stdc'.])]) +[AC_PROG_CC +am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc +AC_DIAGNOSE([obsolete], +['$0': this macro is obsolete. +You should simply use the 'AC][_PROG_CC' macro instead. +Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', +but upon 'ac_cv_prog_cc_stdc'.])]) -dnl TODO: Remove in Automake 1.14. AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) diff --git a/t/am-config-header-no-more.sh b/t/am-config-header.sh index 577ce05f4..49410e896 100755 --- a/t/am-config-header-no-more.sh +++ b/t/am-config-header.sh @@ -14,30 +14,37 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Check that any attempt to use the obsolete macro AM_CONFIG_HEADER -# elicits clear and explicit fatal errors. +# Check that the obsolete macro AM_CONFIG_HEADER still works. . test-init.sh -geterr () -{ - "$@" -Wnone 2>stderr && { cat stderr >&2; exit 1; } - cat stderr >&2 - grep "^configure\.ac:4:.*'AM_CONFIG_HEADER'.*obsolete" stderr - grep "'AC_CONFIG_HEADERS'.* instead" stderr -} +cat > Makefile.am <<'END' +check-local: + test -f oldconf.h + test -f $(srcdir)/oldconf.in +END -$ACLOCAL -mv aclocal.m4 aclocal.sav +cat >> configure.ac <<'END' +AM_CONFIG_HEADER([oldconf.h:oldconf.in]) +AC_OUTPUT +END -echo AM_CONFIG_HEADER >> configure.ac +$ACLOCAL -Wno-obsolete -geterr $ACLOCAL -test ! -f aclocal.m4 +$AUTOCONF -Werror -Wall 2>stderr && { cat stderr >&2; exit 1; } +cat stderr >&2 +grep "^configure\.ac:4:.*'AM_CONFIG_HEADER'.*obsolete" stderr +grep "'AC_CONFIG_HEADERS'.* instead" stderr -cat aclocal.sav "$am_automake_acdir"/obsolete-err.m4 > aclocal.m4 +$AUTOCONF -Werror -Wall -Wno-obsolete -geterr $AUTOCONF -geterr $AUTOMAKE +$AUTOHEADER +test -f oldconf.in + +$AUTOMAKE + +./configure +$MAKE check-local +$MAKE distcheck : diff --git a/t/am-prog-cc-stdc-no-more.sh b/t/am-prog-cc-stdc.sh index a43e2d19a..e3e469c73 100755 --- a/t/am-prog-cc-stdc-no-more.sh +++ b/t/am-prog-cc-stdc.sh @@ -14,30 +14,31 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# Check that any attempt to use the obsolete macro AM_CONFIG_HEADER -# elicits clear and explicit fatal errors. +# Check that the obsolete macro the obsolete macro AM_PROG_CC_STDC +# still works. +required=gcc . test-init.sh -geterr () -{ - "$@" -Wnone 2>stderr && { cat stderr >&2; exit 1; } - cat stderr >&2 - grep "^configure\.ac:4:.*'AM_PROG_CC_STDC'.*obsolete" stderr - grep "'AC_PROG_CC'.* instead" stderr -} +cat >> configure.ac <<'END' +AM_PROG_CC_STDC +AC_OUTPUT +END -$ACLOCAL -mv aclocal.m4 aclocal.sav +echo bin_PROGRAMS = foo > Makefile.am -echo AM_PROG_CC_STDC >> configure.ac +$ACLOCAL +$AUTOMAKE -geterr $ACLOCAL -test ! -f aclocal.m4 +$AUTOCONF -Wnone -Wobsolete -Werror 2>stderr && { cat stderr >&2; exit 1; } +cat stderr >&2 +grep "^configure\.ac:4:.*'AM_PROG_CC_STDC'.*obsolete" stderr +grep "'AC_PROG_CC'.* instead" stderr -cat aclocal.sav "$am_automake_acdir"/obsolete-err.m4 > aclocal.m4 +echo 'int main (void) { return 0; }' > foo.c -geterr $AUTOCONF -geterr $AUTOMAKE +./configure +$MAKE +$MAKE distcheck : diff --git a/t/backcompat6.sh b/t/backcompat6.sh index 75e5c4f55..d84ea97e1 100755 --- a/t/backcompat6.sh +++ b/t/backcompat6.sh @@ -38,7 +38,7 @@ AC_SUBST(two, $two) three=3 AC_SUBST(three) AC_PROG_CC -AC_CONFIG_HEADERS(config.h:config.hin) +AM_CONFIG_HEADER(config.h:config.hin) AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = yes) AC_OUTPUT(Makefile foo.got:foo1.in:foo2.in:foo3.in) END diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 2a042efb0..f1e3dca81 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -130,8 +130,8 @@ t/amhello-cross-compile.sh \ t/amhello-binpkg.sh \ t/aminit-moreargs-deprecation.sh \ t/amassign.sh \ -t/am-config-header-no-more.sh \ -t/am-prog-cc-stdc-no-more.sh \ +t/am-config-header.sh \ +t/am-prog-cc-stdc.sh \ t/am-macro-not-found.sh \ t/amopt.sh \ t/amopts-location.sh \ |