All:
In tracking down why building parrot with mingw was failing, I discovered
that the culprit was having msys in my PATH even if I wasn't intentionally
trying to use it.

There are 3 interesting things to note:
1.  It does not matter what msys is actually called - renaming the directory
to foo has the same effect
2.  It does not matter where in the PATH it appears - placing it after mingw
has no effect
3.  Changing the PATH has no effect on the configuration cycle - only the
build cycle

Running mingw32-make with the -d (debug) flag on revealed what is going on.
It scans PATH, using an internal routine called find_and_set_shell, looking
for sh.exe which changes path delimiters and shell escapes.

The obvious fix is to do exactly what mingw32-make is doing and warn the
user that the subsequent mingw32-make is going to fail.

This is where the request for comments comes in.

config/init/hints/mswin32.pm is where the mingw specific settings are set
up.  The $make variable obtained at this point is nmake, but it would still
be possible to probe $ENV{PATH}, discover if sh.exe exists, and warn the
user.

Configure.pl ends by telling the user the next step.  Use $make, which has
changed from nmake to mingw32-make along the way, which is bound to fail.
Perhaps this is the spot where it is appropriate to warn the user.

I don't mind writing the patch but as I have been away for 1.5 years I would
really like to hear the opinions of where is the best way to do it.

Cheers,
Joshua Gatcomb
a.k.a. Limbic~Region

Reply via email to