This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Your change to ada/cats/run_acats in February
> Not at all. On the one hand, see the discussion in the patch submission
>
> PATCH: Fix several Ada testing problems on IRIX (PR ada/32547)
> http://gcc.gnu.org/ml/gcc-patches/2010-01/msg00594.html
>
> on the other hand, running shell scripts with $(SHELL) (which stems from
> configure and $CONFIG_SHELL) instead of hardcoding /bin/sh, which may be
> limited/buggy on several platforms, is common practice throughout the
> tree.
>
> SHELL is explicitly set in the Makefiles, and unless you run make -e to
> override that from the environment, there's no problem. Otherwise, you
> wouldn't be able to build GCC with some csh-family login shell at all.
Well, it doesn't seem to be in the case in this specific file! I have
SHELL set to /bin/csh and if I just do "make check", it fails unless I
change that line from $SHELL to /bin/sh. And indeed if I add the line
"echo $SHELL" to the front of that file and say "make check-acats", it
echos "/bin/csh".
And I understand why: what's set properly is the *make* variable $(SHELL)
and that is indeed fine. But this is the *shell* variable $SHELL, which
nobody touches!
So how about adding a arg to run_acats where make passes in its $(SHELL)
and that's used in the last line?