Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 May 2005 00:10:44 +1000
From:      Sam Lawrance <boris@brooknet.com.au>
To:        Harti Brandt <harti@freebsd.org>
Cc:        arch@freebsd.org
Subject:   Re: Handling of shell builtins in make(1)
Message-ID:  <1116857445.1537.4.camel@dirk.no.domain>
In-Reply-To: <20050523153118.C28521@beagle.kn.op.dlr.de>
References:  <20050523153118.C28521@beagle.kn.op.dlr.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2005-05-23 at 15:51 +0200, Harti Brandt wrote:
> Hi all,
> 
> I think I found a problem in the shell code in make(1), but I'm not sure 
> whether to fix it or not and how. The problem is as follows: in compat 
> mode (this is the default mode when make(1) is not called with -j) the 
> command lines of a target are executed by one shell per line (this is also 
> how Posix wants it). To reduce the number of shells make does an 
> optimisation: when the command line does not contain one of a pre-defined 
> set of meta characters and does not start with one of a predefined set of 
> shell builtins, make directly exec's the command instead of using an 
> intermediate shell. The problem is that the current list of builtins is 
> limited to:
> 
>    alias cd eval exec exit read set ulimit unalias umask unset wait
> 

That explains some of ports/66342 for me.. in particular why setting
"ECHO_CMD=echo -e" didn't perform entirely as I expected.






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1116857445.1537.4.camel>