Subject: Re: make -j and failure modes
To: Ben Harris <bjh21@NetBSD.org>
From: Greywolf <greywolf@starwolf.com>
List: tech-userlevel
Date: 12/10/2003 15:37:31
Thus spake Ben Harris ("BH> ") sometime Today...
BH> Well, in this regard Bash seems to follow the standard, and is shipped as
BH> "sh" in some commercial systems. There are areas (command searching, for
BH> instance) where I think _everyone_ diverges from the standard, but this
BH> isn't one.
Bash/BSD-sh seem to be the _exceptions_ to this area, actually, but
I'd need some more up-to-date verification: Can anyone provide output
from
sh -ec '(false && echo bad); echo ok'
for current versions of:
- HP-UX /bin/sh
- AIX /bin/sh
- IRIX /bin/sh [okay, so IRIX is dead. Humour me.]
- OSX /bin/sh [or is that BSD-sh?]
BH> I suspect that most people will assume Make's default (and
BH> POSIX-standardised) behaviour (one shell environment per command line) as
BH> well, so they'll be likely to be confused by "make -j" anyway. It's more
BH> the authors of shell scripts that I'd worry about.
[make -j is a noble concept that apparently has not been nailed down
quite yet. It seems doable...]
BH> > Shrug and ignore, if you must. I'm not looking for a war, I'm just
BH> > making some observations.
BH>
BH> Sorry. I hadn't intented to be rude (well, no more than I usually am). I
BH> just couldn't remember whether saying "POSIX" in your direction would be
BH> likely to be productive.
Heh. It depends on context. There are a lot of places where I think
POSIX made some mistakes (it would have helped if they could have remained
more platform-neutral and not allowed themselved to be bought, for example),
and yeah, I've bashed POSIX...
But I didn't see this as purely a POSIX issue; in fact, I look at this as
more of an issue of a POLS violation (anyone for creating a sane OS
Standards Base and calling it "POLSIX"? :-).
I should probably read the spec closely, but I thought that () was
simply a subshell, and it doesn't seem to me that it should contain
any special meaning beyond that.
--*greywolf;
--
Greywolf