From: Jim Meyering Date: Sat, 10 Nov 2007 21:22:44 +0000 (+0100) Subject: Avoid a race condition that would make parallel "distclean" fail. X-Git-Tag: v2.62~154 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8c6b4481bd68efbcc1947b0cf6b434091f2fd78a;p=thirdparty%2Fautoconf.git Avoid a race condition that would make parallel "distclean" fail. * tests/Makefile.am (distclean-generic): Replace the default, automake-provided rule with an identical one, but with an additional dependency on distclean-local. Simply adding the dependency would cause automake not to emit the rule at all. * BUGS: Building with -jN works, now. --- diff --git a/BUGS b/BUGS index 747de331..1978dd19 100644 --- a/BUGS +++ b/BUGS @@ -3,7 +3,7 @@ This file lists the bugs you must be aware of. Be sure to check this file before using Autoconf, and especially CVS versions of Autoconf. - Copyright (C) 2000, 2001, 2002, 2006 Free Software Foundation, Inc. + Copyright (C) 2000-2002, 2006-2007 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 @@ -29,7 +29,3 @@ and use with caution an Autoconf with ``Important bugs''. `--------------------------*/ * No known serious or important bugs. - -* Minor Problems - -Parallel builds via `make -jN' do not work. diff --git a/ChangeLog b/ChangeLog index f77a97d0..8988e8d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2007-11-10 Jim Meyering + Avoid a race condition that would make parallel "distclean" fail. + * tests/Makefile.am (distclean-generic): Replace the default, + automake-provided rule with an identical one, but with an additional + dependency on distclean-local. Simply adding the dependency would + cause automake not to emit the rule at all. + * BUGS: Building with -jN works, now. + Distribute git-version-gen. * Makefile.am (EXTRA_DIST): Add build-aux/git-version-gen, since GNUmakefile is distributed, and requires it for dist* rules. diff --git a/tests/Makefile.am b/tests/Makefile.am index ed129fd8..e069a0a4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -120,6 +120,15 @@ $(TESTSUITE): $(srcdir)/package.m4 \ atconfig: $(top_builddir)/config.status cd $(top_builddir) && ./config.status tests/$@ +# Avoid a race condition that would make parallel "distclean" fail. +# The rule in clean-local tests for existence of $(TESTSUITE), and +# if found, attempts to run it. But the distclean-generic rule may +# be running in parallel, and it removes $(DISTCLEANFILES) which +# includes $(TESTSUITE). +distclean-generic: clean-local + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + clean-local: test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean rm -f *.tmp