On Tue, May 21, 2013 at 10:45 PM, Eli Zaretskii <e...@gnu.org> 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
Make-w32@gnu.org
https://lists.gnu.org/mailman/listinfo/make-w32

Reply via email to