In certain situations, libtool must convert file names and paths between formats appropriate to different platforms. Usually this occurs when cross-compiling, and affects only the ability to launch host platform executables on the build platform using an emulation or API-enhancement environment such as Wine. Failure to convert paths (see File Name Conversion Failure) will cause a warning to be issued, but rarely causes the build to fail—and should have no affect on the compiled products, once installed properly on the host platform. For more information, see Cross compiling.
However, file name conversion may also occur in another scenario: when using a Unix emulation system on Windows (such as Cygwin or MSYS), combined with a native Windows compiler such as MinGW or MSVC. Only a limited set of such scenarios are currently supported; in other cases file name conversion is skipped. The lack of file name conversion usually means that uninstalled executables can't be launched, but only rarely causes the build to fail (see File Name Conversion Failure).
libtool supports file name conversion in the following scenarios:
|build platform||host platform||Notes
|MinGW (MSYS)||MinGW (Windows)||see Native MinGW File Name Conversion
|Cygwin||MinGW (Windows)||see Cygwin/Windows File Name Conversion
|Unix + Wine||MinGW (Windows)||Requires Wine. see Unix/Windows File Name Conversion
|MinGW (MSYS)||Cygwin||Requires LT_CYGPATH. see LT_CYGPATH. Provided for testing
|Unix + Wine||Cygwin||Requires both Wine and LT_CYGPATH, but does not yet work with
Cygwin 1.7.7 and Wine-1.2.
See see Unix/Windows File Name Conversion and see LT_CYGPATH.