Quoting Eli Zaretskii <[EMAIL PROTECTED]>:

Date: Sun, 07 May 2006 11:45:26 -0400
From: Earnie Boyd <[EMAIL PROTECTED]>

Quoting Eli Zaretskii <[EMAIL PROTECTED]>:

> looking for sh.exe along the PATH, which is quite close.  What do you
> suggest to do instead? use cmd.exe?
>

If enviroment variable SHELL exists use its value otherwise use the
value of COMSPEC unless the makefile sets SHELL explicitly.

Using SHELL from the environment would be against the practice on
Unix.

But this is Windows and not UNIX.

And using COMSPEC if SHELL is undefined will effectively make
cmd.exe the default shell (because most users don't have SHELL in the
environment).

Using COMSPEC is using the users defined command shell, be it cmd.exe, command.com or some third party replacement.

That is a major change in the behavior; I'm not sure
whether we should make such a change.

You asked and I gave my opinion. Defaulting to cmd.exe and not using batch files is also a "major change". If I execute make from sh.exe then SHELL is set in the environment and I would expect my *shell* to be used, if I execute make from cmd.exe then SHELL is not likely to be set in the environment and I would expect my *shell* to be used. Looking for sh.exe amoung PATH I don't believe to be the correct solution either but that is debatable as is my suggested approach.


I agree that Makefile's should generally set SHELL, but the practice
is that many don't.


That too is debatable, I can see many CONs against such a practice; one of which is a hard coded value that isn't present on all systems.

Earnie Boyd

http://shop.siebunlimited.com



_______________________________________________
Make-w32 mailing list
Make-w32@gnu.org
http://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to