From d0944ee2e8705734c47371f3ec881ce9dae83411 Mon Sep 17 00:00:00 2001 From: Paul Smith Date: Sun, 29 Sep 2013 13:31:32 -0400 Subject: Solaris /bin/sh can't handle multiple options ("-e -c"). --- tests/scripts/variables/SHELL | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'tests/scripts/variables/SHELL') diff --git a/tests/scripts/variables/SHELL b/tests/scripts/variables/SHELL index 4c73890..1d01ba3 100644 --- a/tests/scripts/variables/SHELL +++ b/tests/scripts/variables/SHELL @@ -71,12 +71,20 @@ all: ; \@$script '', $out); # Do it again but add spaces to SHELLFLAGS -$flags = '-x -c'; -run_make_test(qq! + +# Some shells (*shakes fist at Solaris*) cannot handle multiple flags in +# separate arguments. +my $t = `/bin/sh -e -c true 2>/dev/null`; +my $multi_ok = $? == 0; + +if ($multi_ok) { + $flags = '-x -c'; + run_make_test(qq! .SHELLFLAGS = $flags all: ; \@$script !, '', $out); +} # We can't just use "false" because on different systems it provides a # different exit code--once again Solaris: false exits with 255 not 1 -- cgit v1.2.3