-New in 1.12.3:
+New in 1.12.4:
* WARNING: Future backward-incompatibilities!
giving more useful warnings than a bare "command not found" from a
make recipe would.
+* Warnings and deprecations:
+
+ - Warnings in the 'obsolete' category are enabled by default both in
+ automake and aclocal.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+New in 1.12.3:
+
* Miscellaneous changes:
- The '.m4' files provided by Automake does not define serial numbers
instance, @option{-Wno-syntax} will hide the warnings about unused
variables.
-The categories output by default are @samp{syntax} and
+The categories output by default are @samp{obsolete}, @samp{syntax} and
@samp{unsupported}. Additionally, @samp{gnu} and @samp{portability}
are enabled in @option{--gnu} and @option{--gnits} strictness.
On the other hand, the @option{silent-rules} options (@pxref{Options})
register_channel 'extra-portability', type => 'warning', silent => 1;
register_channel 'gnu', type => 'warning';
-register_channel 'obsolete', type => 'warning', silent => 1;
+register_channel 'obsolete', type => 'warning';
register_channel 'override', type => 'warning', silent => 1;
register_channel 'portability', type => 'warning', silent => 1;
register_channel 'portability-recursive', type => 'warning', silent => 1;
for ac_init in 'AC_INIT' 'AC_INIT([Makefile.am])'; do
for am_extra_args in '' ', []' ', [:]' ', [false]'; do
rm -rf autom4te*.cache config* Makefile.in Makefile
- unindent > configure.in <<END
+ unindent > configure.ac <<END
$ac_init
AM_INIT_AUTOMAKE([FooBar], [0.7.1]$am_extra_args)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
- cat configure.in # For debugging.
+ cat configure.ac # For debugging.
$ACLOCAL
$AUTOCONF
$AUTOMAKE -Wno-obsolete
# A trick to make the test run muuuch faster, by avoiding repeated
# runs of aclocal (one order of magnitude improvement in speed!).
-echo 'AC_INIT(x,0) AM_INIT_AUTOMAKE' > configure.in
+echo 'AC_INIT(x,0) AM_INIT_AUTOMAKE' > configure.ac
$ACLOCAL
-rm -rf configure.in autom4te.*
+rm -rf configure.ac autom4te.*
touch install-sh missing
END
for am_arg3 in ':' 'false' '#' ' '; do
- unindent > configure.in <<END
+ unindent > configure.ac <<END
AC_INIT
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([pkgname], [pkgversion], [$am_arg3])
AC_OUTPUT
END
- cat configure.in # For debugging.
+ cat configure.ac # For debugging.
$AUTOCONF
./configure
cat config.h # For debugging.
done
for am_extra_args in '' ',' ', []'; do
- unindent > configure.in <<END
+ unindent > configure.ac <<END
AC_INIT
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([pkgname], [pkgversion]$am_extra_args)
AC_OUTPUT
END
- cat configure.in # For debugging.
+ cat configure.ac # For debugging.
$AUTOCONF
./configure
cat config.h # For debugging.
### Run 1 ###
-cat > configure.in <<END
+cat > configure.ac <<END
AC_INIT([ac_name], [ac_version])
AM_INIT_AUTOMAKE([am_name], [am_version])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
-cat configure.in
+cat configure.ac
$ACLOCAL
$AUTOCONF
### Run 2 ###
-cat > configure.in <<'END'
+cat > configure.ac <<'END'
dnl: 'AC_INIT' in Autoconf <= 2.63 doesn't have an URL argument.
dnl: Luckily, 'AC_AUTOCONF_VERSION' and 'm4_version_prereq' are
dnl: both present in autoconf 2.62, which we require; so that we
AC_OUTPUT
END
-cat configure.in
+cat configure.ac
$ACLOCAL
$AUTOCONF
### Run 3 ###
-cat > configure.in <<END
+cat > configure.ac <<END
AC_INIT([ac_name], [ac_version])
AM_INIT_AUTOMAKE([am_name], [am_version], [am_foo_quux])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
END
-cat configure.in
+cat configure.ac
$ACLOCAL
$AUTOCONF
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Backward-compatibility test: try to build and distribute a package
-# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
+# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT,
+# and configure.in as autoconf input file.
# This script can also serve as mild stress-testing for Automake.
# See also the similar test 'backcompat6.sh'.
EXTRA_DIST = $(TESTS)
END
-$ACLOCAL
+$ACLOCAL -Wno-obsolete
$AUTOCONF
$AUTOMAKE -a -Wno-obsolete
test -f install-sh
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Backward-compatibility test: try to build and distribute a package
-# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT.
+# using obsoleted forms of AC_INIT, AM_INIT_AUTOMAKE and AC_OUTPUT,
+# and 'configure.in' as autconf input file.
# This script can also serve as mild stress-testing for Automake.
# See also the similar test 'backcompat5.sh'.
}
END
-$ACLOCAL
+$ACLOCAL -Wno-obsolete
$AUTOMAKE -Wno-obsolete --add-missing
$AUTOCONF
# We want complete control automake flags, while honouring the
# user overrides for $AUTOMAKE.
-AUTOMAKE=$am_original_AUTOMAKE
+AUTOMAKE="$am_original_AUTOMAKE -Wno-obsolete"
# Sanity check: gnu mode must complain about missing files and
# portability problems.
t/vtexi2.sh \
t/vtexi3.sh \
t/vtexi4.sh \
+t/warnings-obsolete-default.sh \
t/warnings-override.sh \
t/warnings-precedence.sh \
t/warnings-strictness-interactions.sh \
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2011-2012 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# 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 automake warnings in the 'obsolete' category are enabled
+# by default.
+
+. ./defs || exit 1
+
+# We want (almost) complete control over automake options.
+AUTOMAKE="$am_original_AUTOMAKE --foreign -Werror"
+
+echo AC_PROG_CC >> configure.ac
+
+cat > Makefile.am <<'END'
+bin_PROGRAMS = foo
+INCLUDES = -Ibar
+END
+
+$ACLOCAL
+AUTOMAKE_fails
+grep '^Makefile\.am:2:.*INCLUDES.*AM_CPPFLAGS' stderr
+
+# Check that we can override warnings about obsolete stuff.
+$AUTOMAKE -Wno-obsolete
+
+: