I paged through the PDF version of the manual looking for long lines,
and went through the index looking for markup errors and wrong entries
like '(void)' stemming from wrong number of arguments to @deftypefun
and the like: there must be a space after } in
@deftypefun {const char *}lt_dlgetsearchpath (void)
so that lt_dlgetsearchpath gets indexed.
OK to push?
Thanks,
Ralf
doc: wrapping, categorizing, and indexing improvements.
* doc/libtool.texi (Creating object files, Linking libraries)
(Link mode, Inter-library dependencies)
(Linking with dlopened modules, Libltdl interface)
(User defined module data, Module loaders for libltdl)
(Cheap tricks): Some texinfo markup and indexing fixes, wrapping
of long lines in input and output.
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 9314612..2f30b0c 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -510,7 +510,7 @@ to the compiler to tell it to generate PIC rather than the
standard
position-dependent code.
@cindex library object file
-...@cindex @samp{.lo} files
+...@cindex @file{.lo} files
@cindex object files, library
Since this is a library implementation detail, libtool hides the
complexity of PIC compiler flags and uses separate library object files
@@ -585,7 +585,7 @@ pic_object='@value{objdir}/foo.o'
non_pic_object='foo.o'
@end example
-...@cindex -no-suppress, libtool compile mode option
+...@cindex @option{-no-suppress}, libtool compile mode option
Notice that the second run of GCC has its output discarded. This is
done so that compiler warnings aren't annoyingly duplicated. If you
need to see both sets of warnings (you might have conditional code
@@ -628,7 +628,7 @@ shared libraries, libtool simply acts as a wrapper for the
system
@command{ar} (and possibly @code{ranlib}) commands.
@cindex libtool libraries
-...@cindex @samp{.la} files
+...@cindex @file{.la} files
Again, the libtool control file name (@samp{.la} suffix) differs from
the standard library name (@samp{.a} suffix). The arguments to
libtool are the same ones you would use to produce an executable named
@@ -636,8 +636,8 @@ libtool are the same ones you would use to produce an
executable named
@example
a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o}
-*** Warning: Linking the shared library libhello.la against the non-libtool
-*** objects foo.o hello.o is not portable!
+*** Warning: Linking the shared library libhello.la against the
+*** non-libtool objects foo.o hello.o is not portable!
ar cru .libs/libhello.a
ranlib .libs/libhello.a
creating libhello.la
@@ -1617,7 +1617,7 @@ Pass a link-specific flag to the compiler driver
(@code{CC}) during linking.
@end table
If the @var{output-file} ends in @samp{.la}, then a libtool library is
-created, which must be built only from library objects (@samp{.lo} files).
+created, which must be built only from library objects (@file{.lo} files).
The @option{-rpath} option is required. In the current implementation,
libtool libraries may not depend on other uninstalled libtool libraries
(@pxref{Inter-library dependencies}).
@@ -3264,7 +3264,7 @@ library systems and simple dynamic library systems.
Some platforms, such as AIX, do not even allow you this
flexibility. In order to build a shared library, it must be entirely
self-contained (that is, have references only to symbols that are found
-in the @samp{.lo} files or the specified @samp{-l} libraries), and you
+in the @file{.lo} files or the specified @samp{-l} libraries), and you
need to specify the @option{-no-undefined} flag. By default, libtool
builds only static libraries on these kinds of platforms.
@@ -3609,7 +3609,7 @@ intrinsics_la_LIBADD = ../libloader/libinterface.la
cd ../libloader && $(MAKE) $(AM_MAKEFLAGS) libinterface.la
@end example
-...@cindex -weak option
+...@cindex @option{-weak} option
For a more complex example, see the sources of @file{libltdl} in the
Libtool distribution, which is built with the help of the @option{-weak}
option.
@@ -4039,7 +4039,7 @@ Replace the current user-defined library search path with
by @code{LT_PATHSEP_CHAR}. Return 0 on success.
@end deftypefun
-...@deftypefun {const char *}lt_dlgetsearchpath (void)
+...@deftypefun {const char *} lt_dlgetsearchpath (void)
Return the current user-defined library search path.
@end deftypefun
@@ -4175,7 +4175,10 @@ Some of the internal information about each loaded
module that is
maintained by libltdl is available to the user, in the form of this
structure:
-...@deftypefn {Type} {struct} lt_dlinfo @{ @w{char *...@var{filename};}
@w{char *...@var{name};} @w{int @var{ref_count};} @w{int @var{is_resident};}
@w{int @var{is_symglobal};} @w{int @var{is_symlocal};}...@}
+...@deftypefn {Type} {struct} lt_dlinfo @{ @w{char *...@var{filename};} @
+ @w{char *...@var{name};} @w{int @var{ref_count};} @
+ @w{int @var{is_resident};} @w{int @var{is_symglobal};} @
+ @w{int @var{is_symlocal};}...@}
@code{lt_dlinfo} is used to store information about a module.
The @var{filename} attribute is a null-terminated character string of
the real module file name. If the module is a libtool module then
@@ -4205,7 +4208,8 @@ The opaque type used to hold the module interface details
for each
registered libltdl client.
@end deftp
-...@deftp {Type} int lt_dlhandle_interface (@w{lt_dlhandle @var{handle},}
@w{const char *...@var{id_string}})
+...@deftypefn {Type} int lt_dlhandle_interface (@w{lt_dlhandle @var{handle},} @
+ @w{const char *...@var{id_string}})
Functions of this type are called to check that a handle conforms to a
library's expected module interface when iterating over the global
handle list. You should be careful to write a callback function of
@@ -4238,9 +4242,10 @@ my_interface_cb (lt_dlhandle handle, const char
*id_string)
return 0;
@}
@end example
-...@end deftp
+...@end deftypefn
-...@deftypefun lt_dlinterface_id lt_dlinterface_register (@w{const char
*...@var{id_string}}, @w{lt_dlhandle_interface *...@var{iface}})
+...@deftypefun lt_dlinterface_id lt_dlinterface_register @
+ (@w{const char *...@var{id_string}}, @w{lt_dlhandle_interface
*...@var{iface}})
Use this function to register your interface validator with libltdl,
and in return obtain a unique key to store and retrieve per-module data.
You supply an @var{id_string} and @var{iface} so that the resulting
@@ -4253,7 +4258,9 @@ all modules will be matched.
Release the data associated with @var{iface}.
@end deftypefun
-...@deftypefun int lt_dlhandle_map (@w{lt_dlinterface_id @var{iface}}, @w{int
(*...@var{func}) (lt_dlhandle @var{handle}, void * @var{data})}, @w{void *
@var{data}})
+...@deftypefun int lt_dlhandle_map (@w{lt_dlinterface_id @var{iface}}, @
+ @w{int (*...@var{func}) (lt_dlhandle @var{handle}, void * @var{data})}, @
+ @w{void * @var{data}})
For each module that matches @var{iface}, call the function
@var{func}. When writing the @var{func} callback function, the
argument @var{handle} is the handle of a loaded module, and
@@ -4264,7 +4271,8 @@ return that non-zero value. Otherwise 0 is eventually
returned when
@var{func} has been successfully called for all matching modules.
@end deftypefun
-...@deftypefun lt_dlhandle lt_dlhandle_iterate (@w{lt_dlinterface_id
@var{iface}}, @w{lt_dlhandle @var{place}})
+...@deftypefun lt_dlhandle lt_dlhandle_iterate (@w{lt_dlinterface_id @
+ @var{iface}}, @w{lt_dlhandle @var{place}})
Iterate over the module handles loaded by @var{iface}, returning the
first matching handle in the list if @var{place} is @code{NULL}, and
the next one on subsequent calls. If @var{place} is the last element
@@ -4455,7 +4463,8 @@ register_myloader (void)
dlloader.dlloader_data = (lt_user_data)myloader_function;
/* Add my loader as the default module loader. */
- if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader, "myloader") != 0)
+ if (lt_dlloader_add (lt_dlloader_next (NULL), &dlloader,
+ "myloader") != 0)
return ERROR;
return OK;
@@ -4475,7 +4484,8 @@ during the initialisation phase.
libltdl provides the following functions for writing your own module
loaders:
-...@deftypefun int lt_dlloader_add (@w{lt_dlloader *...@var{place},}
@w{lt_user_dlloader *...@var{dlloader},} @w{const char *...@var{loader_name}})
+...@deftypefun int lt_dlloader_add (@w{lt_dlloader *...@var{place},} @
+ @w{lt_user_dlloader *...@var{dlloader},} @w{const char
*...@var{loader_name}})
Add a new module loader to the list of all loaders, either as the
last loader (if @var{place} is @code{NULL}), else immediately before the
loader passed as @var{place}. @var{loader_name} will be returned by
@@ -4504,7 +4514,7 @@ if (lt_dlloader_remove ("myloader") != 0)
@end example
@end deftypefun
-...@deftypefun {lt_dlloader *}lt_dlloader_next (@w{lt_dlloader
*...@var{place}})
+...@deftypefun {lt_dlloader *} lt_dlloader_next (@w{lt_dlloader
*...@var{place}})
Iterate over the module loaders, returning the first loader if @var{place} is
@code{NULL}, and the next one on subsequent calls. The handle is for use with
@code{lt_dlloader_add}.
@@ -4516,7 +4526,7 @@ if (lt_dlloader_add (lt_dlloader_next (NULL), myloader)
!= 0)
@end example
@end deftypefun
-...@deftypefun {lt_dlloader *}lt_dlloader_find (@w{const char
*...@var{loader_name}})
+...@deftypefun {lt_dlloader *} lt_dlloader_find (@w{const char
*...@var{loader_name}})
Return the first loader with a matching @var{loader_name} identifier, or else
@code{NULL}, if the identifier is not found.
@@ -4533,14 +4543,14 @@ if (lt_dlloader_add (lt_dlloader_find ("dlopen"),
myloader) != 0)
@end example
@end deftypefun
-...@deftypefun {const char *}lt_dlloader_name (@w{lt_dlloader *...@var{place}})
+...@deftypefun {const char *} lt_dlloader_name (@w{lt_dlloader
*...@var{place}})
Return the identifying name of @var{place}, as obtained from
@code{lt_dlloader_next} or @code{lt_dlloader_find}. If this function fails,
it will return @code{NULL} and set an error for retrieval with
@code{lt_dlerror}.
@end deftypefun
-...@deftypefun {lt_user_data *}lt_dlloader_data (@w{lt_dlloader
*...@var{place}})
+...@deftypefun {lt_user_data *} lt_dlloader_data (@w{lt_dlloader
*...@var{place}})
Return the address of the @code{dlloader_data} of @var{place}, as
obtained from @code{lt_dlloader_next} or @code{lt_dlloader_find}. If
this function fails, it will return @code{NULL} and set an error for
@@ -6875,7 +6885,7 @@ tree, @code{/home/src/libtool/libtool} is a libtool
script that has been
configured for your platform, and @code{~/bin} is a directory in your
@env{PATH}:
-...@example
+...@smallexample
trick$ cd ~/bin
trick$ sed 's%^\(macro_version=\).*$%\1@@VERSION@@%;
s%^\(macro_revision=\).*$%\1@@package_revision@@%;
@@ -6889,7 +6899,7 @@ Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
trick$
-...@end example
+...@end smallexample
@end itemize
The output of the final @samp{libtool --version} command shows that the