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 |
|Unix + Wine||Cygwin||Requires both Wine and |
|• File Name Conversion Failure||What happens when file name conversion fails|
|• Native MinGW File Name Conversion||MSYS file name conversion idiosyncrasies|
|• Cygwin/Windows File Name Conversion||Using |
|• Unix/Windows File Name Conversion||Using Wine to convert Unix paths|
|• LT_CYGPATH||Invoking |
|• Cygwin to MinGW Cross||Other notes concerning MinGW cross|