Hiya Erik , In every make recipe that I've ever written, I've yet to use the '... run command ; if test $/; then ...' structure since I always run the shell with '-e' option enabled and if the command returns a non-zero error status, then shell picks it up - which explains why the majority of make(1) recipes that I write utilise a case statement since the case "var in ... does not return a non-zero error status for the shell to pick up on i.e. the shell picks up on and fails the recipe if $VAR is unset in the command '... test "x$$VAR" ...', whereas the same does not hold for the command '... case "x$$VAR" ...' - the command result is left entirely for the recipe to deal with as it sees fit.
Best rgds , -- Dave Pointon FIAP MBCS Now I saw, tho' too late, the folly of beginning a work before we count the cost and before we we judge rightly of our strength to go thro' with it - Robinson Crusoe On 1 December 2014 at 13:27, Erik Joelsson <[email protected]> wrote: > Hello, > > New webrev, which addresses Magnus' concern below, and various fixes in > Hotspot for incompatibilities with errexit. > > Webrev: http://cr.openjdk.java.net/~erikj/8065576/webrev.02/ > Bug: https://bugs.openjdk.java.net/browse/JDK-8065576 > > For the LOG=trace issue Magnus described below, it was enough to just > replace $$(BASH) with $$(SHELL) and things worked as expected for me. > > In Hotspot there were several instances of run command X, followed by "if > test $? = 0" (or something similar). I changed this to "if X; then" as > errexit ignores commands that are part of if-statement tests. > > Since this is now touching Hotspot makefiles, it will need to go in > through a Hotspot group forest. > > /Erik > > <snip> >
