libtool: Native MinGW File Name Conversion

1 
1 15.3.7.2 Native MinGW File Name Conversion
1 ..........................................
1 
1 MSYS is a Unix emulation environment for Windows, and is specifically
1 designed such that in normal usage it _pretends_ to be MinGW or native
1 Windows, but understands Unix-style file names and paths, and supports
1 standard Unix tools and shells.  Thus, "native" MinGW builds are
1 actually an odd sort of cross-compile, from an MSYS Unix emulation
1 environment "pretending" to be MinGW, to actual native Windows.
1 
1    When an MSYS shell launches a native Windows executable (as opposed
1 to other _MSYS_ executables), it uses a system of heuristics to detect
1 any command-line arguments that contain file names or paths.  It
1 automatically converts these file names from the MSYS (Unix-like)
1 format, to the corresponding Windows file name, before launching the
1 executable.  However, this auto-conversion facility is only available
1 when using the MSYS runtime library.  The wrapper executable itself is a
1 MinGW application (that is, it does not use the MSYS runtime library).
1 The wrapper executable must set 'PATH' to, and call '_spawnv' with,
1 values that have already been converted from MSYS format to Windows.
1 Thus, when libtool writes the source code for the wrapper executable, it
1 must manually convert MSYS paths to Windows format, so that the Windows
1 values can be hard-coded into the wrapper executable.
1