[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: trailing whitespace in make macros (was: bug#7868: splitting up test
Re: trailing whitespace in make macros (was: bug#7868: splitting up test suites)
Sat, 22 Jan 2011 12:02:24 +0100
KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )
Hi Ralf, and thanks for the patch. More comments about non-obvious
code are always welcome!
Just a nit below ...
On Saturday 22 January 2011, Ralf Wildenhues wrote:
> [ moving from automake bug#7868 ]
> * Ralf Wildenhues wrote on Sat, Jan 22, 2011 at 11:06:48AM CET:
> > * Stefano Lattarini wrote on Thu, Jan 20, 2011 at 10:19:24PM CET:
> > > On Thursday 20 January 2011, Ralf Wildenhues wrote:
> > > > That is the reason the check-TESTS rule is so ugly (and recursive) in
> > > > the first place. I really would like to avoid more instances of this
> > > > wart; so specifying files without extension is Not Good(TM).
> > > >
> > > OK, noted (and these considerations could IMHO end up somewhere in the
> > > manual).
> > Good suggestion. They should be mentioned in the portability section of
> > autoconf.texi if they aren't already, and as ## comments in check.am.
> Proposed patches for Automake maint and Autoconf below.
> Add comment to check-TESTS rule working around make 3.80 bug.
> * lib/am/check.am (check-TESTS): Update comment.
> Suggestion by Stefano Lattarini.
> diff --git a/lib/am/check.am b/lib/am/check.am
> index 5728081..d792372 100644
> --- a/lib/am/check.am
> +++ b/lib/am/check.am
> @@ -235,6 +235,9 @@ check-TESTS:
> ## OTOH, this means that, in the rule for `$(TEST_SUITE_LOG)', we
> ## cannot use `$?' to compute the set of lazily rerun tests, lest
> ## we rely on .PHONY to work portably.
> +## Work around a GNU make 3.80 bug expanding trailing whitespace in
> +## `TESTS = foo.test $(empty)' to `foo.log .log' in $(TESTS_LOGS).
Hmm... I tend to read this as "we work around a GNU make 3.80 bug here;
we do so by expanding trailing whitespace ...". What about this
## Trailing whitespace in `TESTS = foo.test $(empty)' causes GNU make
## 3.80 to erronously expand $(TESTS_LOGS) to `foo.log .log'.
## Work around this.
> @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
> @list='$(TEST_LOGS)'; \
> list=`for f in $$list; do \