1LIBTOOL(1) User Commands LIBTOOL(1)
2
3
4
6 libtool - manual page for libtool 2.2.10
7
9 libtool [OPTION]... [MODE-ARG]...
10 libtool [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
11 libtool [OPTION]... --mode=link LINK-COMMAND...
12 libtool [OPTION]... --mode=execute COMMAND [ARGS]...
13 libtool [OPTION]... --mode=install INSTALL-COMMAND...
14 libtool [OPTION]... --mode=finish [LIBDIR]...
15 libtool [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
16 libtool [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
17
19 Provide generalized library-building support services.
20
21 --config
22 show all configuration variables
23
24 --debug
25 enable verbose shell tracing
26
27 -n, --dry-run
28 display commands without modifying any files
29
30 --features
31 display basic configuration information and exit
32
33 --mode=MODE
34 use operation mode MODE
35
36 --preserve-dup-deps
37 don't remove duplicate dependency libraries
38
39 --quiet, --silent
40 don't print informational messages
41
42 --no-quiet, --no-silent
43 print informational messages (default)
44
45 --tag=TAG
46 use configuration variables from tag TAG
47
48 -v, --verbose
49 print more informational messages than default
50
51 --no-verbose
52 don't print the extra informational messages
53
54 --version
55 print version information
56
57 -h, --help, --help-all
58 print short, long, or detailed help message
59
60 MODE must be one of the following:
61
62 clean remove files from the build directory
63
64 compile
65 compile a source file into a libtool object
66
67 execute
68 automatically set library path, then run a program
69
70 finish complete the installation of libtool libraries
71
72 install
73 install libraries or executables
74
75 link create a library or an executable
76
77 uninstall
78 remove libraries from an installed directory
79
80 MODE-ARGS vary depending on the MODE. When passed as first option,
81 `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of
82 that.
83
84 Description of compile mode:
85
86 Compile a source file into a libtool library object.
87
88 This mode accepts the following additional options:
89
90 -o OUTPUT-FILE
91 set the output file name to OUTPUT-FILE
92
93 -no-suppress
94 do not suppress compiler output for multiple passes
95
96 -prefer-pic
97 try to build PIC objects only
98
99 -prefer-non-pic
100 try to build non-PIC objects only
101
102 -shared
103 do not build a `.o' file suitable for static linking
104
105 -static
106 only build a `.o' file suitable for static linking
107
108 -Wc,FLAG
109 pass FLAG directly to the compiler
110
111 COMPILE-COMMAND is a command to be used in creating a `standard' object
112 file from the given SOURCEFILE.
113
114 The output file name is determined by removing the directory component
115 from SOURCEFILE, then substituting the C source code suffix `.c' with
116 the library object suffix, `.lo'.
117
118 Description of link mode:
119
120 Link object files or libraries together to form another library, or to
121 create an executable program.
122
123 LINK-COMMAND is a command using the C compiler that you would use to
124 create a program from several object files.
125
126 The following components of LINK-COMMAND are treated specially:
127
128 -all-static
129 do not do any dynamic linking at all
130
131 -avoid-version
132 do not add a version suffix if possible
133
134 -bindir BINDIR
135 specify path to binaries directory (for systems where libraries
136 must be found in the PATH setting at runtime)
137
138 -dlopen FILE
139 `-dlpreopen' FILE if it cannot be dlopened at runtime
140
141 -dlpreopen FILE
142 link in FILE and add its symbols to lt_preloaded_symbols
143
144 -export-dynamic
145 allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
146
147 -export-symbols SYMFILE
148 try to export only the symbols listed in SYMFILE
149
150 -export-symbols-regex REGEX
151 try to export only the symbols matching REGEX
152
153 -LLIBDIR
154 search LIBDIR for required installed libraries
155
156 -lNAME OUTPUT-FILE requires the installed library libNAME
157
158 -module
159 build a library that can dlopened
160
161 -no-fast-install
162 disable the fast-install mode
163
164 -no-install
165 link a not-installable executable
166
167 -no-undefined
168 declare that a library does not refer to external symbols
169
170 -o OUTPUT-FILE
171 create OUTPUT-FILE from the specified objects
172
173 -objectlist FILE
174 Use a list of object files found in FILE to specify objects
175
176 -precious-files-regex REGEX
177 don't remove output files matching REGEX
178
179 -release RELEASE
180 specify package release information
181
182 -rpath LIBDIR
183 the created library will eventually be installed in LIBDIR
184
185 -R[ ]LIBDIR
186 add LIBDIR to the runtime path of programs and libraries
187
188 -shared
189 only do dynamic linking of libtool libraries
190
191 -shrext SUFFIX
192 override the standard shared library file extension
193
194 -static
195 do not do any dynamic linking of uninstalled libtool libraries
196
197 -static-libtool-libs
198 do not do any dynamic linking of libtool libraries
199
200 -version-info CURRENT[:REVISION[:AGE]]
201 specify library version info [each variable defaults to 0]
202
203 -weak LIBNAME
204 declare that the target provides the LIBNAME interface
205
206 -Wc,FLAG
207
208 -Xcompiler FLAG
209 pass linker-specific FLAG directly to the compiler
210
211 -Wl,FLAG
212
213 -Xlinker FLAG
214 pass linker-specific FLAG directly to the linker
215
216 -XCClinker FLAG
217 pass link-specific FLAG to the compiler driver (CC)
218
219 All other options (arguments beginning with `-') are ignored.
220
221 Every other argument is treated as a filename. Files ending in `.la'
222 are treated as uninstalled libtool libraries, other files are standard
223 or library object files.
224
225 If the OUTPUT-FILE ends in `.la', then a libtool library is created,
226 only library objects (`.lo' files) may be specified, and `-rpath' is
227 required, except when creating a convenience library.
228
229 If OUTPUT-FILE ends in `.a' or `.lib', then a standard library is cre‐
230 ated using `ar' and `ranlib', or on Windows using `lib'.
231
232 If OUTPUT-FILE ends in `.lo' or `.o', then a reloadable object file is
233 created, otherwise an executable program is created.
234
235 Description of execute mode:
236
237 Automatically set library path, then run a program.
238
239 This mode accepts the following additional options:
240
241 -dlopen FILE
242 add the directory containing FILE to the library path
243
244 This mode sets the library path environment variable according to
245 `-dlopen' flags.
246
247 If any of the ARGS are libtool executable wrappers, then they are
248 translated into their corresponding uninstalled binary, and any of
249 their required library directories are added to the library path.
250
251 Then, COMMAND is executed, with ARGS as arguments.
252
253 Description of install mode:
254
255 Install executables or libraries.
256
257 INSTALL-COMMAND is the installation command. The first component
258 should be either the `install' or `cp' program.
259
260 The following components of INSTALL-COMMAND are treated specially:
261
262 -inst-prefix-dir PREFIX-DIR
263 Use PREFIX-DIR as a staging area for installation
264
265 The rest of the components are interpreted as arguments to that command
266 (only BSD-compatible install options are recognized).
267
268 Description of finish mode:
269
270 Complete the installation of libtool libraries.
271
272 Each LIBDIR is a directory that contains libtool libraries.
273
274 The commands that this mode executes may require superuser privileges.
275 Use the `--dry-run' option if you just want to see what would be exe‐
276 cuted.
277
278 Description of uninstall mode:
279
280 Remove libraries from an installation directory.
281
282 RM is the name of the program to use to delete files associated with
283 each FILE (typically `/bin/rm'). RM-OPTIONS are options (such as `-f')
284 to be passed to RM.
285
286 If FILE is a libtool library, all the files associated with it are
287 deleted. Otherwise, only FILE itself is deleted using RM.
288
289 Description of clean mode:
290
291 Remove files from the build directory.
292
293 RM is the name of the program to use to delete files associated with
294 each FILE (typically `/bin/rm'). RM-OPTIONS are options (such as `-f')
295 to be passed to RM.
296
297 If FILE is a libtool library, object or program, all the files associ‐
298 ated with it are deleted. Otherwise, only FILE itself is deleted using
299 RM.
300
301 When reporting a bug, please describe a test case to reproduce it and
302 include the following information:
303
304 host-triplet:
305 x86_64-apple-darwin10.3.0
306
307 shell: /bin/sh
308
309 compiler:
310 gcc
311
312 compiler flags:
313 -g -O2
314
315 linker:
316 /usr/libexec/gcc/i686-apple-darwin10/4.2.1/ld (gnu? no)
317
318 libtool:
319 (GNU libtool) 2.2.10
320
321 automake:
322 automake (GNU automake) 1.11.1
323
324 autoconf:
325 autoconf (GNU Autoconf) 2.65
326
328 Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
329
331 Report bugs to <bug-libtool@gnu.org>.
332
334 Copyright © 2010 Free Software Foundation, Inc.
335 This is free software; see the source for copying conditions. There is
336 NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
337 PURPOSE.
338
340 The full documentation for libtool is maintained as a Texinfo manual.
341 If the info and libtool programs are properly installed at your site,
342 the command
343
344 info libtool
345
346 should give you access to the complete manual.
347
348
349
350libtool 2.2.10 June 2010 LIBTOOL(1)