|
From: | Stefano Lattarini |
Subject: | Re: [PATCH] docs: more details about make VPATH rewriting woes |
Date: | Wed, 14 Sep 2011 11:35:37 +0200 |
User-agent: | KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) |
Hi Ralf. On Wednesday 14 September 2011, Ralf Wildenhues wrote: > Hi Stefano, > > * Stefano Lattarini wrote on Tue, Sep 13, 2011 at 03:15:04PM CEST: > > * doc/autoconf.texi (Automatic Rule Rewriting): Solaris make > > VPATH rewriting might apply also to shell variables, functions > > and keywords (and automake has already tripped on this once); > > document this, with an example. Since we are at it, do some > > minor reformatting of existing text. > > It applies to any word that is surrounded by whitespace (or beginning or > end of command line), regardless of shell syntax. Please don't > formulate it like Solaris make would understand shell syntax when > rewriting rules, IMHO that's confusing and makes it harder to understand > the issue. > You're right, my previous formulation was somewhat confusing in this regard. What about the squash-in below? Thanks, Stefano diff --git a/ChangeLog b/ChangeLog index 0439db0..01df9ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,9 @@ -2011-09-13 Stefano Lattarini <address@hidden> +2011-09-14 Stefano Lattarini <address@hidden>
docs: more details about make VPATH rewriting woes * doc/autoconf.texi (Automatic Rule Rewriting): Solaris make - VPATH rewriting might apply also to shell variables, functions + VPATH rewriting applies to any whitespace-separated word in a + rule, so it might apply also to shell variables, functions and keywords (and automake has already tripped on this once); document this, with an example. Since we are at it, do some minor reformatting of existing text. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 17b4e01..48c0ed5 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -20256,8 +20256,10 @@ However, this rule leads to real problems in practice. For example, if the source directory contains an ordinary file named @file{test} that is used in a dependency, Solaris @command{make} rewrites commands like @samp{if test -r foo; @dots{}} to @samp{if ../pkg/src/test -r foo; address@hidden, which is typically undesirable. The same might happen also -to shell functions, variables and keywords. address@hidden, which is typically undesirable. In fact, @command{make} is +completely unaware of shell syntax used in the rules, so the VPATH +rewrite can potentially apply to @emph{any} whitespace-separated word +in a rule -- including shell variables, functions, and keywords.
@example $ @kbd{mkdir build} |
[Prev in Thread] | Current Thread | [Next in Thread] |