svn commit: r250699 - in head: share/mk usr.bin/make

Jilles Tjoelker jilles at stack.nl
Fri May 17 23:13:59 UTC 2013


On Fri, May 17, 2013 at 03:28:10PM -0700, Simon J. Gerraty wrote:
> On Fri, 17 May 2013 23:34:08 +0200, Tijl Coosemans writes:
> >When the output of /usr/local/libexec/portconf is empty make
> >warns about it:

> Yes.  This is to avoid accidents.
> If you *know* that no output is a valid result, you can add '; echo' to
> the end of the command to suppress the warning.

> >make: "/etc/make.conf" line 115: warning: Couldn't read shell's output fo=
> >r
> >"/usr/local/libexec/portconf"

Note that adding '; echo' will result in an additional fork() or vfork()
call. If -c /usr/local/libexec/portconf is given, FreeBSD sh execs
portconf. If there is an echo command after it, sh will have to (v)fork.

In NetBSD, this is not a concern because NetBSD sh (v)forks in either
case.

Placing the echo before the external command will let FreeBSD sh avoid
the fork as well, but some common other shells (bash, recent mksh) will
not fork for -c external but will fork for -c builtin;external.

-- 
Jilles Tjoelker


More information about the svn-src-all mailing list