On Tue, May 21, 2013 at 10:45 PM, Eli Zaretskii <[email protected]> wrote:
> Which Bash-like shell exists on Windows, except Cygwin?
>
I've seen ports of zsh and tcsh for Windows. Not exactly bash syntax, but
useful shells. There's a bash like shell with the win32 busybox port.
There's an older bash-nt project at Sourceforge. The MirOS project has a
developer working on porting mksh to Windows. The project I'm working with
is in the process of developing a bash-like shell with added
internationalization support based on msh. I even noticed support for the
MKS shell mentioned in the make code. So, there are other options besides
msys and/or Cygwin based bash shells.
You can always use := if you bump into this very problem in your
> target environment with the native MinGW Make.
>
If that's true, then a simple work-around would be to add code like the
following at the beginning of do_variable_definition in variable.c:
#ifdef WINDOWS32
if (strcmp (varname, "PATH") == 0)
{
if (flavor == f_recursive)
flavor = f_simple;
}
#endif
It should only be executed by the native Windows port and it would prevent
ever running into a recursive case if one is setting the PATH variable.
If you find a fix that doesn't remove the call to
> sync_Path_environment, I will review it and see if it can be
> accepted.
>
Rhetorical question, but why would someone want to remove
sync_Path_environment? It's obviously been added for a purpose and if one
removes it, one changes the state of the program.
_______________________________________________
Make-w32 mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/make-w32