DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(libtool14.info.gz) Link mode

Info Catalog (libtool14.info.gz) Compile mode (libtool14.info.gz) Invoking libtool (libtool14.info.gz) Execute mode
 
 4.2 Link mode
 =============
 
 "Link" mode links together object files (including library objects) to
 form another library or to create an executable program.
 
    MODE-ARGS consist of a command using the C compiler to create an
 output file (with the `-o' flag) from several object files.
 
    The following components of MODE-ARGS are treated specially:
 
 `-all-static'
      If OUTPUT-FILE is a program, then do not link it against any
      shared libraries at all.  If OUTPUT-FILE is a library, then only
      create a static library.
 
 `-avoid-version'
      Tries to avoid versioning ( Versioning) for libraries and
      modules, i.e. no version information is stored and no symbolic
      links are created.  If the platform requires versioning, this
      option has no effect.
 
 `-dlopen FILE'
      Same as `-dlpreopen FILE', if native dlopening is not supported on
      the host platform ( Dlopened modules) or if the program is
      linked with `-static' or `-all-static'.  Otherwise, no effect.  If
      FILE is `self' libtool will make sure that the program can
      `dlopen' itself, either by enabling `-export-dynamic' or by
      falling back to `-dlpreopen self'.
 
 `-dlpreopen FILE'
      Link FILE into the output program, and add its symbols to
      LT_PRELOADED_SYMBOLS ( Dlpreopening).  If FILE is `self',
      the symbols of the program itself will be added to
      LT_PRELOADED_SYMBOLS.  If FILE is `force' libtool will make sure
      that LT_PRELOADED_SYMBOLS is always _defined_, regardless of
      whether it's empty or not.
 
 `-export-dynamic'
      Allow symbols from OUTPUT-FILE to be resolved with `dlsym' (
      Dlopened modules).
 
 `-export-symbols SYMFILE'
      Tells the linker to export only the symbols listed in SYMFILE.
      The symbol file should end in `.sym' and must contain the name of
      one symbol per line. This option has no effect on some platforms.
      By default all symbols are exported.
 
 `-export-symbols-regex REGEX'
      Same as `-export-symbols', except that only symbols matching the
      regular expression REGEX are exported.  By default all symbols are
      exported.
 
 `-LLIBDIR'
      Search LIBDIR for required libraries that have already been
      installed.
 
 `-lNAME'
      OUTPUT-FILE requires the installed library `libNAME'.  This option
      is required even when OUTPUT-FILE is not an executable.
 
 `-module'
      Creates a library that can be dlopened ( Dlopened modules).
      This option doesn't work for programs.  Module names don't need to
      be prefixed with 'lib'.  In order to prevent name clashes,
      however, 'libname' and 'name' must not be used at the same time in
      your package.
 
 `-no-fast-install'
      Disable fast-install mode for the executable OUTPUT-FILE.  Useful
      if the program won't be necessarily installed.
 
 `-no-install'
      Link an executable OUTPUT-FILE that can't be installed and
      therefore doesn't need a wrapper script.  Useful if the program is
      only used in the build tree, e.g., for testing or generating other
      files.
 
 `-no-undefined'
      Declare that OUTPUT-FILE does not depend on any other libraries.
      Some platforms cannot create shared libraries that depend on other
      libraries ( Inter-library dependencies).
 
 `-o OUTPUT-FILE'
      Create OUTPUT-FILE from the specified objects and libraries.
 
 `-release RELEASE'
      Specify that the library was generated by release RELEASE of your
      package, so that users can easily tell which versions are newer
      than others.  Be warned that no two releases of your package will
      be binary compatible if you use this flag.  If you want binary
      compatibility, use the `-version-info' flag instead (
      Versioning).
 
 `-rpath LIBDIR'
      If OUTPUT-FILE is a library, it will eventually be installed in
      LIBDIR.  If OUTPUT-FILE is a program, add LIBDIR to the run-time
      path of the program.
 
 `-R LIBDIR'
      If OUTPUT-FILE is a program, add LIBDIR to its run-time path.  If
      OUTPUT-FILE is a library, add -RLIBDIR to its DEPENDENCY_LIBS, so
      that, whenever the library is linked into a program, LIBDIR will
      be added to its run-time path.
 
 `-static'
      If OUTPUT-FILE is a program, then do not link it against any
      uninstalled shared libtool libraries.  If OUTPUT-FILE is a
      library, then only create a static library.
 
 `-version-info CURRENT[:REVISION[:AGE[:OVERRIDE]]]'
      If OUTPUT-FILE is a libtool library, use interface version
      information CURRENT, REVISION, and AGE to build it (
      Versioning).  Do *not* use this flag to specify package release
      information, rather see the `-release' flag.  For those very rare
      cases where you absolutely _must_ provide an explict library name,
      you can specify an OVERRIDE name.
 
 `-Wl,FLAG'
 `-Xlinker FLAG'
      Pass a linker specific flag directly to the linker.
 
    If the OUTPUT-FILE ends in `.la', then a libtool library is created,
 which must be built only from library objects (`.lo' files).  The
 `-rpath' option is required.  In the current implementation, libtool
 libraries may not depend on other uninstalled libtool libraries (
 Inter-library dependencies).
 
    If the OUTPUT-FILE ends in `.a', then a standard library is created
 using `ar' and possibly `ranlib'.
 
    If OUTPUT-FILE ends in `.o' or `.lo', then a reloadable object file
 is created from the input files (generally using `ld -r').  This method
 is often called "partial linking".
 
    Otherwise, an executable program is created.
 
Info Catalog (libtool14.info.gz) Compile mode (libtool14.info.gz) Invoking libtool (libtool14.info.gz) Execute mode
automatically generated byinfo2html