blob: 08b1186139035274ef5720f726ade93bdaeddfad [file] [log] [blame]
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.4.
.TH LIBTOOL "1" "October 2011" "libtool 2.4.2" "User Commands"
.SH NAME
libtool \- manual page for libtool 2.4.2
.SH SYNOPSIS
.B libtool
[\fIOPTION\fR]... [\fIMODE-ARG\fR]...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=compile COMPILE-COMMAND\fR... \fISOURCEFILE\fR
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=link LINK-COMMAND\fR...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=execute COMMAND \fR[\fIARGS\fR]...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=install INSTALL-COMMAND\fR...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=finish \fR[\fILIBDIR\fR]...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=uninstall RM \fR[\fIRM-OPTION\fR]... \fIFILE\fR...
.br
.B libtool
[\fIOPTION\fR]... \fI--mode=clean RM \fR[\fIRM-OPTION\fR]... \fIFILE\fR...
.SH DESCRIPTION
Provide generalized library\-building support services.
.TP
\fB\-\-config\fR
show all configuration variables
.TP
\fB\-\-debug\fR
enable verbose shell tracing
.TP
\fB\-n\fR, \fB\-\-dry\-run\fR
display commands without modifying any files
.TP
\fB\-\-features\fR
display basic configuration information and exit
.TP
\fB\-\-mode\fR=\fIMODE\fR
use operation mode MODE
.TP
\fB\-\-preserve\-dup\-deps\fR
don't remove duplicate dependency libraries
.TP
\fB\-\-quiet\fR, \fB\-\-silent\fR
don't print informational messages
.TP
\fB\-\-no\-quiet\fR, \fB\-\-no\-silent\fR
print informational messages (default)
.TP
\fB\-\-no\-warn\fR
don't display warning messages
.TP
\fB\-\-tag\fR=\fITAG\fR
use configuration variables from tag TAG
.TP
\fB\-v\fR, \fB\-\-verbose\fR
print more informational messages than default
.TP
\fB\-\-no\-verbose\fR
don't print the extra informational messages
.TP
\fB\-\-version\fR
print version information
.TP
\fB\-h\fR, \fB\-\-help\fR, \fB\-\-help\-all\fR
print short, long, or detailed help message
.PP
MODE must be one of the following:
.TP
clean
remove files from the build directory
.TP
compile
compile a source file into a libtool object
.TP
execute
automatically set library path, then run a program
.TP
finish
complete the installation of libtool libraries
.TP
install
install libraries or executables
.TP
link
create a library or an executable
.TP
uninstall
remove libraries from an installed directory
.PP
MODE\-ARGS vary depending on the MODE. When passed as first option,
`\-\-mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
.PP
GNU libtool home page: <http://www.gnu.org/software/libtool/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.
.PP
Description of compile mode:
.PP
Compile a source file into a libtool library object.
.PP
This mode accepts the following additional options:
.TP
\fB\-o\fR OUTPUT\-FILE
set the output file name to OUTPUT\-FILE
.TP
\fB\-no\-suppress\fR
do not suppress compiler output for multiple passes
.TP
\fB\-prefer\-pic\fR
try to build PIC objects only
.TP
\fB\-prefer\-non\-pic\fR
try to build non\-PIC objects only
.TP
\fB\-shared\fR
do not build a `.o' file suitable for static linking
.TP
\fB\-static\fR
only build a `.o' file suitable for static linking
.TP
\fB\-Wc\fR,FLAG
pass FLAG directly to the compiler
.PP
COMPILE\-COMMAND is a command to be used in creating a `standard' object file
from the given SOURCEFILE.
.PP
The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix `.c' with the
library object suffix, `.lo'.
.PP
Description of link mode:
.PP
Link object files or libraries together to form another library, or to
create an executable program.
.PP
LINK\-COMMAND is a command using the C compiler that you would use to create
a program from several object files.
.PP
The following components of LINK\-COMMAND are treated specially:
.TP
\fB\-all\-static\fR
do not do any dynamic linking at all
.TP
\fB\-avoid\-version\fR
do not add a version suffix if possible
.TP
\fB\-bindir\fR BINDIR
specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
.TP
\fB\-dlopen\fR FILE
`\-dlpreopen' FILE if it cannot be dlopened at runtime
.TP
\fB\-dlpreopen\fR FILE
link in FILE and add its symbols to lt_preloaded_symbols
.TP
\fB\-export\-dynamic\fR
allow symbols from OUTPUT\-FILE to be resolved with dlsym(3)
.TP
\fB\-export\-symbols\fR SYMFILE
try to export only the symbols listed in SYMFILE
.TP
\fB\-export\-symbols\-regex\fR REGEX
try to export only the symbols matching REGEX
.TP
\fB\-LLIBDIR\fR
search LIBDIR for required installed libraries
.TP
\fB\-lNAME\fR
OUTPUT\-FILE requires the installed library libNAME
.TP
\fB\-module\fR
build a library that can dlopened
.TP
\fB\-no\-fast\-install\fR
disable the fast\-install mode
.TP
\fB\-no\-install\fR
link a not\-installable executable
.TP
\fB\-no\-undefined\fR
declare that a library does not refer to external symbols
.TP
\fB\-o\fR OUTPUT\-FILE
create OUTPUT\-FILE from the specified objects
.TP
\fB\-objectlist\fR FILE
Use a list of object files found in FILE to specify objects
.TP
\fB\-precious\-files\-regex\fR REGEX
don't remove output files matching REGEX
.TP
\fB\-release\fR RELEASE
specify package release information
.TP
\fB\-rpath\fR LIBDIR
the created library will eventually be installed in LIBDIR
.TP
\fB\-R[\fR ]LIBDIR
add LIBDIR to the runtime path of programs and libraries
.TP
\fB\-shared\fR
only do dynamic linking of libtool libraries
.TP
\fB\-shrext\fR SUFFIX
override the standard shared library file extension
.TP
\fB\-static\fR
do not do any dynamic linking of uninstalled libtool libraries
.TP
\fB\-static\-libtool\-libs\fR
do not do any dynamic linking of libtool libraries
.TP
\fB\-version\-info\fR CURRENT[:REVISION[:AGE]]
specify library version info [each variable defaults to 0]
.TP
\fB\-weak\fR LIBNAME
declare that the target provides the LIBNAME interface
.HP
\fB\-Wc\fR,FLAG
.TP
\fB\-Xcompiler\fR FLAG
pass linker\-specific FLAG directly to the compiler
.HP
\fB\-Wl\fR,FLAG
.TP
\fB\-Xlinker\fR FLAG
pass linker\-specific FLAG directly to the linker
.TP
\fB\-XCClinker\fR FLAG
pass link\-specific FLAG to the compiler driver (CC)
.PP
All other options (arguments beginning with `\-') are ignored.
.PP
Every other argument is treated as a filename. Files ending in `.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
.PP
If the OUTPUT\-FILE ends in `.la', then a libtool library is created,
only library objects (`.lo' files) may be specified, and `\-rpath' is
required, except when creating a convenience library.
.PP
If OUTPUT\-FILE ends in `.a' or `.lib', then a standard library is created
using `ar' and `ranlib', or on Windows using `lib'.
.PP
If OUTPUT\-FILE ends in `.lo' or `.o', then a reloadable object file
is created, otherwise an executable program is created.
.PP
Description of execute mode:
.PP
Automatically set library path, then run a program.
.PP
This mode accepts the following additional options:
.TP
\fB\-dlopen\fR FILE
add the directory containing FILE to the library path
.PP
This mode sets the library path environment variable according to `\-dlopen'
flags.
.PP
If any of the ARGS are libtool executable wrappers, then they are translated
into their corresponding uninstalled binary, and any of their required library
directories are added to the library path.
.PP
Then, COMMAND is executed, with ARGS as arguments.
.PP
Description of install mode:
.PP
Install executables or libraries.
.PP
INSTALL\-COMMAND is the installation command. The first component should be
either the `install' or `cp' program.
.PP
The following components of INSTALL\-COMMAND are treated specially:
.TP
\fB\-inst\-prefix\-dir\fR PREFIX\-DIR
Use PREFIX\-DIR as a staging area for installation
.PP
The rest of the components are interpreted as arguments to that command (only
BSD\-compatible install options are recognized).
.PP
Description of finish mode:
.PP
Complete the installation of libtool libraries.
.PP
Each LIBDIR is a directory that contains libtool libraries.
.PP
The commands that this mode executes may require superuser privileges. Use
the `\-\-dry\-run' option if you just want to see what would be executed.
.PP
Description of uninstall mode:
.PP
Remove libraries from an installation directory.
.PP
RM is the name of the program to use to delete files associated with each FILE
(typically `/bin/rm'). RM\-OPTIONS are options (such as `\-f') to be passed
to RM.
.PP
If FILE is a libtool library, all the files associated with it are deleted.
Otherwise, only FILE itself is deleted using RM.
.PP
Description of clean mode:
.PP
Remove files from the build directory.
.PP
RM is the name of the program to use to delete files associated with each FILE
(typically `/bin/rm'). RM\-OPTIONS are options (such as `\-f') to be passed
to RM.
.PP
If FILE is a libtool library, object or program, all the files associated
with it are deleted. Otherwise, only FILE itself is deleted using RM.
.PP
When reporting a bug, please describe a test case to reproduce it and
include the following information:
.TP
host\-triplet:
x86_64\-apple\-darwin11.2.0
.TP
shell:
/bin/sh
.TP
compiler:
gcc
.TP
compiler flags:
\fB\-g\fR \fB\-O2\fR
.TP
linker:
/usr/llvm\-gcc\-4.2/libexec/gcc/i686\-apple\-darwin11/4.2.1/ld (gnu? no)
.TP
libtool:
(GNU libtool) 2.4.2
.TP
automake:
automake (GNU automake) 1.11.1
.TP
autoconf:
autoconf (GNU Autoconf) 2.68
.SH AUTHOR
Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
.SH "REPORTING BUGS"
Report bugs to <bug\-libtool@gnu.org>.
.SH COPYRIGHT
Copyright \(co 2011 Free Software Foundation, Inc.
.br
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
The full documentation for
.B libtool
is maintained as a Texinfo manual. If the
.B info
and
.B libtool
programs are properly installed at your site, the command
.IP
.B info libtool
.PP
should give you access to the complete manual.