File: libtool.info, Node: Wrapper executables, Up: Linking executables 3.3.1 Wrapper executables for uninstalled programs -------------------------------------------------- Some platforms, notably those hosted on Windows such as Cygwin and MinGW, use a wrapper executable rather than a wrapper script to ensure proper operation of uninstalled programs linked by libtool against uninstalled shared libraries. The wrapper executable thus performs the same function as the wrapper script used on other platforms, but allows to satisfy the ‘make’ rules for the program, whose name ends in ‘$(EXEEXT)’. The actual program executable is created below ‘.libs’, and its name will end in ‘$(EXEEXT)’ and may or may not contain an ‘lt-’ prefix. This wrapper executable sets various environment values so that the program executable may locate its (uninstalled) shared libraries, and then launches the program executable. The wrapper executable provides a debug mode, enabled by passing the command-line option ‘--lt-debug’ (see below). When executing in debug mode, diagnostic information will be printed to ‘stderr’ before the program executable is launched. Finally, the wrapper executable supports a number of command line options that may be useful when debugging the operation of the wrapper system. All of these options begin with ‘--lt-’, and if present they and their arguments will be removed from the argument list passed on to the program executable. Therefore, the program executable may not employ command line options that begin with ‘--lt-’. (In fact, the wrapper executable will detect any command line options that begin with ‘--lt-’ and abort with an error message if the option is not recognized.) If this presents a problem, please contact the Libtool team at the Libtool bug reporting address. These command line options include: ‘--lt-dump-script’ Causes the wrapper to print a copy of the wrapper _script_ to ‘stdout’, and exit. ‘--lt-debug’ Causes the wrapper to print diagnostic information to ‘stdout’, before launching the program executable. For consistency, both the wrapper _script_ and the wrapper _executable_ support these options.