Next: , Previous: Cross compiling, Up: Platform quirks


15.3.7 File name conversion

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 purposes only.


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.