From: Alexandre Oliva Date: Sun, 14 Mar 1999 03:00:21 +0000 (+0000) Subject: * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes X-Git-Tag: release-1-2f~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4a6d36ef0569e31323462309c34a43ba086c3df;p=thirdparty%2Flibtool.git * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes --- diff --git a/ChangeLog b/ChangeLog index cafe99e92..7687d185b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 1999-03-13 Alexandre Oliva + * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes + * doc/libtool.texi: complete dlopening/libltdl documentation * ltconfig.in (osf3*, osf4*, deplibs_check_method): pass_all does diff --git a/doc/libtool.texi b/doc/libtool.texi index 87f4f14b2..51fa511e2 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -709,7 +709,8 @@ Thing (TM) for you: @example burger$ @kbd{libtool gcc -g -O -o test test.o /usr/local/lib/libhello.la} -gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath -Wl,/usr/local/lib /usr/local/lib/libhello.la -lm +gcc -g -O -o @value{objdir}/test test.o -Wl,--rpath +-Wl,/usr/local/lib /usr/local/lib/libhello.la -lm creating test burger$ @end example @@ -1390,7 +1391,7 @@ automake, up to release 1.4, doesn't accept these flags in a @itemize @bullet @item -add them to @var{program_LDFLAGS}, and optionally list the libraries in +add them to @var{program_LDFLAGS}, and list the libraries in @var{program_DEPENDENCIES}, then wait for a release of GNU automake that accepts these flags where they belong; @@ -1406,11 +1407,11 @@ program_DEPENDENCIES = libfoo.la @item set and @samp{AC_SUBST} variables @var{DLOPEN} and @var{DLPREOPEN} in @file{configure.in} and use @samp{@@DLOPEN@@} and @samp{@@DLPREOPEN@@} -instead of @samp{-dlopen} and @samp{-dlpreopen} in -@samp{program_LDADD}. Automake will discard @samp{AC_SUBST}ed variables -from dependencies, so it will behave exactly as we expect it to behave -when it accepts these flags in @samp{program_LDADD}. But hey!, this is -ugly! +as replacements for the explicit flags @samp{-dlopen} and +@samp{-dlpreopen} in @samp{program_LDADD}. Automake will discard +@samp{AC_SUBST}ed variables from dependencies, so it will behave exactly +as we expect it to behave when it accepts these flags in +@samp{program_LDADD}. But hey!, this is ugly! @end itemize You may use the @samp{program_LDFLAGS} variable to stuff in any flags @@ -1627,22 +1628,22 @@ AM_DISABLE_SHARED AM_PROG_LIBTOOL @end example -The user may specify modified forms of both the @samp{--enable-shared} -and @samp{--enable-static} flags to choose whether shared or static -libraries are built based on the name of the package. For example, to -have shared @samp{bfd} and @samp{gdb} libraries built, but not shared -@samp{libg++}, you can run all three @code{configure} scripts as -follows: +The user may specify modified forms of the configure flags +@samp{--enable-shared} and @samp{--enable-static} to choose whether +shared or static libraries are built based on the name of the package. +For example, to have shared @samp{bfd} and @samp{gdb} libraries built, +but not shared @samp{libg++}, you can run all three @code{configure} +scripts as follows: @example trick$ ./configure --enable-shared=bfd,gdb @end example In general, specifying @samp{--enable-shared=@var{pkgs}} is the same as -specifying @samp{--enable-shared} to every package named in the -comma-separated @var{pkgs} list, and @samp{--disable-shared} to every -other package. The @samp{--enable-static=@var{pkgs}} flag behaves -similarly, but it uses @samp{--enable-static} and +configuring with @samp{--enable-shared} every package named in the +comma-separated @var{pkgs} list, and every other package with +@samp{--disable-shared}. The @samp{--enable-static=@var{pkgs}} flag +behaves similarly, but it uses @samp{--enable-static} and @samp{--disable-static}. The package name @samp{default} matches any packages which have not set @@ -2354,10 +2355,11 @@ language interpreters to provide an efficient way to extend the language. As of version @value{VERSION}, libtool provides support for dlopened -modules, as long as @file{configure.in} requests for such support, with -the macro @samp{AC_LIBTOOL_DLOPEN}. If this macro is not used (or it is -used @emph{after} @samp{AM_PROG_LIBTOOL}), libtool will assume no -dlopening mechanism is available, and will try to simulate it. +modules. However, you should indicate that your package is willing to +use such support, by using the macro @samp{AC_LIBTOOL_DLOPEN} in +@file{configure.in}. If this macro is not used (or it is used +@emph{after} @samp{AM_PROG_LIBTOOL}), libtool will assume no dlopening +mechanism is available, and will try to simulate it. This chapter discusses how you as a dlopen application developer might use libtool to generate dlopen-accessible modules. @@ -2656,7 +2658,7 @@ The system dependent library search path @end enumerate Each search path must be a colon-separated list of absolute directories, -e.g. "/usr/lib/mypkg:/lib/foo". +for example, @code{"/usr/lib/mypkg:/lib/foo"}. If the same module is loaded several times, the same handle is returned. If @code{lt_dlopen} fails for any reason, it returns NULL. @@ -2749,18 +2751,11 @@ Return the current user-defined library search path. @end deftypefun @defvar lt_ptr_t (*lt_dlmalloc) (size_t size) -This variable is set to @code{malloc} by default, but you can replace it -with any other function that provides equivalent functionality. You -must not modify the value of this variable after calling any libltdl -function other than @code{lt_dlpreopen_default} or the macro -@code{LTDL_SET_PRELOADED_SYMBOLS}. -@end defvar - -@defvar void (*lt_dlfree) (lt_ptr_t ptr) -This variable is set to @code{free} by default, but you can replace it -with any other function that complements @var{lt_dlmalloc}. You must -not modify the value of this variable after calling any libltdl function -other than @code{lt_dlpreopen_default} or the macro +@defvarx void (*lt_dlfree) (lt_ptr_t ptr) +These variables are set to @code{malloc} and @code{free}, by default, +but you can set them to any other functions that provides equivalent +functionality. However, you must not modify their values after calling +any libltdl function other than @code{lt_dlpreopen_default} or the macro @code{LTDL_SET_PRELOADED_SYMBOLS}. @end defvar @@ -2791,18 +2786,18 @@ errors or run-time crashes. Another problem is that you cannot link the convenience library into more than one libtool library, then link a single program with these libraries, because you may get duplicate symbols. In order to enable this flavor of libltdl, you should add the -line @samp{AC_LIBLTDL_CONVENIENCE} to your @file{configure.in}, after -@samp{AM_PROG_LIBTOOL}. - -In order to select the installable version of libltdl, you should add -@samp{AC_LIBLTDL_INSTALLABLE} to your @file{configure.in}, also after -@samp{AM_PROG_LIBTOOL}. This macro will check whether libltdl is -already installed and, if not, request the libltdl embedded in your -package to be built and installed. Note, however, that no version -checking is performed. The user may override the test and determine -that the libltdl embedded must be installed, regardless of the existence -of another version, using the configure switch -@samp{--enable-ltdl-install}. +line @samp{AC_LIBLTDL_CONVENIENCE} to your @file{configure.in}, +@emph{after} @samp{AM_PROG_LIBTOOL}. + +In order to select the installable version of libltdl, you should add a +call of the macro @samp{AC_LIBLTDL_INSTALLABLE} to your +@file{configure.in} @emph{after} @samp{AM_PROG_LIBTOOL}. This macro +will check whether libltdl is already installed and, if not, request the +libltdl embedded in your package to be built and installed. Note, +however, that no version checking is performed. The user may override +the test and determine that the libltdl embedded must be installed, +regardless of the existence of another version, using the configure +switch @samp{--enable-ltdl-install}. Whatever macro you use, it is up to you to ensure that your @file{configure.in} will configure libltdl, using @@ -3030,9 +3025,10 @@ linked into programs or other libraries, even shared ones. The tests @file{cdemo-make.test} and @file{cdemo-exec.test} are executed three times, under three different libtool configurations: @file{cdemo-conf.test} configures @file{cdemo/libtool} to build both -static and shared libraries, @file{cdemo-static.test} builds only static -libraries (@samp{--disable-shared}), and @file{cdemo-shared.test} builds -only shared libraries (@samp{--disable-static}). +static and shared libraries (the default for platforms that support +both), @file{cdemo-static.test} builds only static libraries +(@samp{--disable-shared}), and @file{cdemo-shared.test} builds only +shared libraries (@samp{--disable-static}). @item build-relink.test @pindex build-relink.test @@ -3241,15 +3237,20 @@ are included in @samp{$archive_cmds} somewhere and also sets the @item file_magic [@var{regex}] @vindex file_magic @vindex file_magic_cmd +@vindex file_magic_test_file looks in the library link path for libraries that have the right -libname. Then it runs @samp{$file_magic_cmd} on the library and -checks for a match against @samp{regex} using @code{egrep}. +libname. Then it runs @samp{$file_magic_cmd} on the library and checks +for a match against @samp{regex} using @code{egrep}. When +@var{file_magic_test_file} is set in @file{ltconfig}, it is used as an +argument to @samp{$file_magic_cmd} in order to verify whether the +regular expression matches its output, and warn the user otherwise. @item test_compile @vindex test_compile -handles @samp{-L} correctly, I hope. It also takes the names of its -libraries from @samp{libname_spec} instead of a hardcoded @code{lib`expr -$a_deplib : '-l/(.*/)'`.so} line. +just checks whether it is possible to link a program out of a list of +libraries, and checks which of those are listed in the output of +@code{ldd}. It is currently unused, and will probably be dropped in the +future. @item pass_all @vindex pass_all @@ -3488,8 +3489,8 @@ Set to @samp{yes} or @samp{no}. Default is @samp{no} @defvar archive_cmds @defvarx archive_expsym_cmds @defvarx old_archive_cmds -Commands used to create shared and static libraries, respectively. -@samp{archive_expsym_cmds} is used when -export-symbols was defined. +Commands used to create shared libraries, shared libraries with +@samp{-export-symbols} and static libraries, respectively. @end defvar @defvar old_archive_from_new_cmds