From: Eric Blake Date: Thu, 13 Sep 2007 19:59:18 +0000 (+0000) Subject: Avoid parallel 'make check' issue. X-Git-Tag: v2.62~269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f58a63325c642691f60729bd33022f634bb311a3;p=thirdparty%2Fautoconf.git Avoid parallel 'make check' issue. * tests/Makefile.am (mktests.stamp): New witness. (TESTSUITE_GENERATED_AT): Use it. (CLEANFILES): Clean the witness. * tests/.cvsignore (mktests.stamp): Ignore the witness. --- diff --git a/ChangeLog b/ChangeLog index d0ce0a6e..04e4f51c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2007-09-13 Eric Blake + Avoid parallel 'make check' issue. + * tests/Makefile.am (mktests.stamp): New witness. + (TESTSUITE_GENERATED_AT): Use it. + (CLEANFILES): Clean the witness. + * tests/.cvsignore (mktests.stamp): Ignore the witness. + Document another awk pitfall. * doc/autoconf.texi (Limitations of Usual Tools) : Document limitation of field variables in END. diff --git a/tests/Makefile.am b/tests/Makefile.am index 8952ba30..7e23df88 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,6 +1,6 @@ ## Make Autoconf tests. -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -158,10 +158,21 @@ AUTOCONF_FILES = $(autoconfdir)/general.m4 \ $(autoconfdir)/types.m4 \ $(autoconfdir)/programs.m4 -$(TESTSUITE_GENERATED_AT): mktests.sh $(AUTOCONF_FILES) +$(TESTSUITE_GENERATED_AT): mktests.stamp +## Recover from the removal of $@ + @if test -f $@; then :; else \ + rm -f mktests.stamp; \ + $(MAKE) $(AM_MAKEFLAGS) mktests.stamp; \ + fi + +mktests.stamp : mktests.sh $(AUTOCONF_FILES) + @rm -f mktests.tmp + @touch mktests.tmp cd $(srcdir) && ./mktests.sh \ `echo " "$(AUTOCONF_FILES) | sed 's, [^ ]*/, ../lib/autoconf/,g'` + @mv -f mktests.tmp $@ +CLEANFILES += mktests.stamp mktests.tmp ## maintainer-check ## diff --git a/tests/Makefile.in b/tests/Makefile.in index e658b387..2b694eba 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # This program is free software: you can redistribute it and/or modify @@ -239,7 +239,7 @@ ETAGS_FOR_AUTOCONF = \ wrappers = autoconf autoheader autom4te autoreconf autoscan autoupdate ifnames # The hairy heredoc is more robust than using echo. -CLEANFILES = wrapper.in $(wrappers) expr +CLEANFILES = wrapper.in $(wrappers) mktests.stamp mktests.tmp expr edit = sed \ -e 's|@wrap_program[@]|$@|g' \ -e 's|@abs_top_srcdir[@]|@abs_top_srcdir@|g' \ @@ -540,9 +540,18 @@ check-local: atconfig atlocal $(TESTSUITE) installcheck-local: atconfig atlocal $(TESTSUITE) $(SHELL) $(TESTSUITE) AUTOTEST_PATH="$(bindir)" $(TESTSUITEFLAGS) -$(TESTSUITE_GENERATED_AT): mktests.sh $(AUTOCONF_FILES) +$(TESTSUITE_GENERATED_AT): mktests.stamp + @if test -f $@; then :; else \ + rm -f mktests.stamp; \ + $(MAKE) $(AM_MAKEFLAGS) mktests.stamp; \ + fi + +mktests.stamp : mktests.sh $(AUTOCONF_FILES) + @rm -f mktests.tmp + @touch mktests.tmp cd $(srcdir) && ./mktests.sh \ `echo " "$(AUTOCONF_FILES) | sed 's, [^ ]*/, ../lib/autoconf/,g'` + @mv -f mktests.tmp $@ maintainer-check: maintainer-check-posix maintainer-check-c++ expr: