From owner-freebsd-arch@FreeBSD.ORG Mon May 23 14:10:08 2005 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A6A816A41C; Mon, 23 May 2005 14:10:08 +0000 (GMT) (envelope-from boris@brooknet.com.au) Received: from bloodwood.hunterlink.net.au (smtp-local.hunterlink.net.au [203.12.144.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 932A443D1F; Mon, 23 May 2005 14:10:06 +0000 (GMT) (envelope-from boris@brooknet.com.au) Received: from ppp231D.dyn.pacific.net.au (ppp231D.dyn.pacific.net.au [61.8.35.29]) by bloodwood.hunterlink.net.au (8.12.8/8.12.8) with ESMTP id j4NEA0SK002030; Tue, 24 May 2005 00:10:04 +1000 From: Sam Lawrance To: Harti Brandt In-Reply-To: <20050523153118.C28521@beagle.kn.op.dlr.de> References: <20050523153118.C28521@beagle.kn.op.dlr.de> Content-Type: text/plain Date: Tue, 24 May 2005 00:10:44 +1000 Message-Id: <1116857445.1537.4.camel@dirk.no.domain> Mime-Version: 1.0 X-Mailer: Evolution 2.2.2 FreeBSD GNOME Team Port Content-Transfer-Encoding: 7bit Cc: arch@freebsd.org Subject: Re: Handling of shell builtins in make(1) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 May 2005 14:10:08 -0000 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.