errors.
* tests/werror2.test: New file.
* tests/Makefile.am (TESTS): Add werror2.test.
* tests/substtarg.test, tests/cond36.test, tests/backsl4.test:
Adjust to run automake with -Wno-error when the output is expected
in spite of the error.
Report from Harlan Stenn.
2004-05-13 Alexandre Duret-Lutz <adl@gnu.org>
+ * automake.in (generate_makefile): Do not output Makefile.in on
+ errors.
+ * tests/werror2.test: New file.
+ * tests/Makefile.am (TESTS): Add werror2.test.
+ * tests/substtarg.test, tests/cond36.test, tests/backsl4.test:
+ Adjust to run automake with -Wno-error when the output is expected
+ in spite of the error.
+ Report from Harlan Stenn.
+
* doc/automake.texi (Program and Library Variables): Remove
doubled word in footnote.
Non-augmented variables are still output as they are defined in
the Makefile.am.
+
+* Automake stops writing Makefile.ins as soons as it encounters an error.
+ (Warnings will not prevent output, but remember they can be turned into
+ errors with -Werror.)
+
\f
New in 1.8:
check_typos;
+ my ($out_file) = $output_directory . '/' . $makefile_in;
+
+ if ($exit_code != 0)
+ {
+ verb "not writing $out_file because of earlier errors";
+ return;
+ }
+
if (! -d ($output_directory . '/' . $am_relative_dir))
{
mkdir ($output_directory . '/' . $am_relative_dir, 0755);
}
- my ($out_file) = $output_directory . '/' . $makefile_in;
-
# We make sure that `all:' is the first target.
my $output =
"$output_vars$output_all$output_header$output_rules$output_trailer";
&& $configure_deps_greatest_timestamp < $timestamp
&& $output_deps_greatest_timestamp < $timestamp
&& $output eq contents ($out_file))
- {
+ {
verb "$out_file unchanged";
# No need to update.
return;
vtexi2.test \
warnopts.test \
werror.test \
+werror2.test \
whoami.test \
xsource.test \
yacc.test \
vtexi2.test \
warnopts.test \
werror.test \
+werror2.test \
whoami.test \
xsource.test \
yacc.test \
#! /bin/sh
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
AUTOMAKE_fails
grep ':1:.*whitespace' stderr
grep ':5:.*whitespace' stderr
+$AUTOMAKE -Wno-error
./configure
# Older versions of Automake used to produce invalid Makefiles such input.
$MAKE ok
# and should complain.
AUTOMAKE_fails --add-missing
grep 'tparse.h.*already defined' stderr
+$AUTOMAKE -Wno-error
# Still and all, it should generate two rules.
test `grep tparse.h: Makefile.in | wc -l` = 2
#! /bin/sh
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
#
# This file is part of GNU Automake.
#
$ACLOCAL
AUTOMAKE_fails
grep 'overrid.*libfake@SUBST@.a' stderr
+$AUTOMAKE -Wno-override
num=`grep '^libfake@SUBST@.a:' Makefile.in | wc -l`
test $num -eq 1
-$AUTOMAKE -Wno-override
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2004 Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake 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.
+#
+# GNU Automake 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 Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Make sure that Makefile.in is not overwritten on error. Otherwise
+# although the rebuilding rules would fail on error, they would
+# succeed if make is run a second time immediately afterwards.
+# Report from Harlan Stenn.
+
+required=GNUmake
+. ./defs || exit 1
+
+set -e
+
+echo AC_OUTPUT>>configure.in
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = -Werror
+INCLUDES = -Ifoo
+foo_SOURCES = unused
+END
+
+$MAKE && exit 1
+
+$MAKE && exit 1
+
+: