summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS10
-rw-r--r--m4/obsolete-err.m420
-rwxr-xr-xt/am-config-header.sh (renamed from t/am-config-header-no-more.sh)41
-rwxr-xr-xt/am-prog-cc-stdc.sh (renamed from t/am-prog-cc-stdc-no-more.sh)35
-rwxr-xr-xt/backcompat6.sh2
-rw-r--r--t/list-of-tests.mk4
6 files changed, 66 insertions, 46 deletions
diff --git a/NEWS b/NEWS
index 88e5371f5..d49ed7bf9 100644
--- a/NEWS
+++ b/NEWS
@@ -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 \