[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
doc make "set -e" execution
From: |
Kevin Ryde |
Subject: |
doc make "set -e" execution |
Date: |
Mon, 17 May 2004 07:56:31 +1000 |
User-agent: |
Gnus/5.110002 (No Gnus v0.2) Emacs/21.3 (gnu/linux) |
* doc/autoconf.texi (Limitations of Make): Add notes on "set -e"
execution by old makes.
This raised its ugly head in automake and in some stuff I was doing
recently. I imagine it's a rather classic portability matter, though
I don't think I've had the pleasure before.
New words below, I'm not sure where to put them in the section, just
chucked at the end I suppose.
What's the procedure for checkins these days? Is anyone giving
approvals, or for uncontroversial stuff can I just wait a polite
interval then go ahead?
`set -e'
POSIX says that `make' runs commands as per the `system' function,
which normally means `sh -c ...'. Some old `make's (eg. NetBSD
1.4) however run `sh -ec ...', which means a rule with a list of
commands like `foo; bar; quux' will fail if any of the parts
fails, not just the last. (For more on `-e', *note The Set
Builtin: (bash)The Set Builtin.)
Rules can be written with something like `foo || true; ...' to
ensure the result from each intermediate part is true.
- doc make "set -e" execution,
Kevin Ryde <=