? .libtool.texi.swp
? <
? cvs.diff
? libtool.html
Index: libtool.texi
===================================================================
RCS file: /cvsroot/libtool/libtool/doc/libtool.texi,v
retrieving revision 1.192
diff -u -p -u -r1.192 libtool.texi
--- libtool.texi 30 Apr 2005 09:30:14 -0000 1.192
+++ libtool.texi 11 Aug 2005 11:09:22 -0000
@@ -497,29 +497,29 @@ position-dependent code.
@cindex @samp{.lo} files
@cindex object files, library
Since this is a library implementation detail, libtool hides the
-complexity of PIC compiler flags by using separate library object files
-(that end in @samp{.lo} instead of @samp{.o}). On systems without shared
-libraries (or without special PIC compiler flags), these library object
-files are identical to ``standard'' object files.
+complexity of PIC compiler flags and uses separate library object files
+(the PIC one lives in the @address@hidden subdirectory and the
+static one lives in the current directory). On systems without shared
+libraries (or without special PIC compiler flags), the PIC library object
+files are not created.
To create library object files for @file{foo.c} and @file{hello.c},
simply invoke libtool with the standard compilation command as
arguments (@pxref{Compile mode}):
@example
-a23$ @kbd{libtool compile gcc -g -O -c foo.c}
+a23$ @kbd{libtool --mode=compile gcc -g -O -c foo.c}
gcc -g -O -c foo.c -o foo.o
-a23$ @kbd{libtool compile gcc -g -O -c hello.c}
+a23$ @kbd{libtool --mode=compile gcc -g -O -c hello.c}
gcc -g -O -c hello.c -o hello.o
a23$
@end example
-Note that libtool silently creates an additional control file for each
+Note that libtool silently creates an additional control file on each
@samp{compile} invocation. The @samp{.lo} file is the libtool object,
which Libtool uses to determine what object file may be built into a
-shared library, and the @samp{.o} file is a standard object file. On
address@hidden, only static libraries are supported so the library objects
-look like this:
+shared library. On @samp{a23}, only static libraries are supported so
+the library objects look like this:
@example
# foo.lo - a libtool object file
@@ -540,13 +540,16 @@ additional PIC object by inserting the a
flags into the compilation command:
@example
-burger$ @kbd{libtool compile gcc -g -O -c foo.c}
+burger$ @kbd{libtool --mode=compile gcc -g -O -c foo.c}
mkdir @value{objdir}
gcc -g -O -c foo.c -fPIC -DPIC -o @value{objdir}/foo.o
gcc -g -O -c foo.c -o foo.o >/dev/null 2>&1
burger$
@end example
+Note that Libtool automatically created @address@hidden directory
+upon its first execution, where PIC library object files will be stored.
+
Since @samp{burger} supports shared libraries, and requires PIC
objects to build them, Libtool has compiled a PIC object this time,
and made a note of it in the libtool object:
@@ -573,7 +576,7 @@ inside @samp{#ifdef PIC} for example), y
the @option{-no-suppress} option to libtool's compile mode:
@example
-burger$ @kbd{libtool compile gcc -no-suppress -g -O -c hello.c}
+burger$ @kbd{libtool --mode=compile gcc -no-suppress -g -O -c hello.c}
gcc -g -O -c hello.c -fPIC -DPIC -o @value{objdir}/hello.o
gcc -g -O -c hello.c -o hello.o
burger$