+1999-06-29 Thomas Tanner <tanner@ffii.org>
+
+ * NEWS: rename dummy to force
+ * doc/libtool.texi: better documentation of uninstall mode,
+ rename dummy to force, AC_LIBLTDL_* must be called before
+ AC_PROG_LIBTOOL
+ * ltmain.in: dlname is always soname or in library_names so
+ we don't need to handle different file names
+
1999-06-29 Alexandre Oliva <oliva@dcc.unicamp.br>
* ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes
NEWS - list of user-visible changes between releases of GNU Libtool
New in 1.3.3: 1999-06-2?, CVS version 1.3.2a, Libtool team:
-* New `-dlpreopen dummy' flag to ensure that
+* New `-dlpreopen force' flag to ensure that
lt_preloaded_symbols is always defined.
* Work around self-dlclose bug in FreeBSD 3.1.
* Expand convenience libraries when creating reloadable objects.
@var{lt_preloaded_symbols} (@pxref{Dlpreopening}). If @var{file} is
@code{self}, the symbols of the program itself will be added to
@var{lt_preloaded_symbols}.
-If @var{file} is @code{dummy} libtool will make sure that
+If @var{file} is @code{force} libtool will make sure that
@var{lt_preloaded_symbols} is always @emph{defined}, regardless of whether
it's empty or not.
@cindex uninstall mode
@cindex mode, uninstall
-@dfn{Uninstall} mode deletes installed libraries (and other files).
+@dfn{Uninstall} mode deletes installed libraries, executables and objects.
The first @var{mode-arg} is the name of the program to use to delete
files (typically @file{/bin/rm}).
which don't depend on other libraries that might use libltdl too.
In order to enable this flavor of libltdl, you should add the
line @samp{AC_LIBLTDL_CONVENIENCE} to your @file{configure.in},
-@emph{after} @samp{AM_PROG_LIBTOOL}.
+@emph{before} @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
+@file{configure.in} @emph{before} @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
default, such as @var{LIBS} and @var{CPPFLAGS}.
If you're using the convenience libltdl, @var{LIBLTDL} will be the
-pathname for the convenience version of libltdland @var{INCLTDL} will be
+pathname for the convenience version of libltdl and @var{INCLTDL} will be
@samp{-I} followed by the directory that contains libltdl, both starting
with @samp{$@{top_builddir@}/}.
configure.in:
@example
...
-dnl Check for dlopen support
-AC_LIBTOOL_DLOPEN
-dnl Configure libtool
-AM_PROG_LIBTOOL
dnl Enable building of the convenience library
dnl and set LIBLTDL accordingly
AC_LIBLTDL_CONVENIENCE
-dnl Substitute LIBLTDL in the Makefiles
+dnl Substitute INCLTDL and LIBLTDL in the Makefiles
+AC_SUBST(INCLTDL)
AC_SUBST(LIBLTDL)
-dnl Add INCLTDL to the include path
-CPPFLAGS="$CPPFLAGS $INCLTDL"
+dnl Check for dlopen support
+AC_LIBTOOL_DLOPEN
+dnl Configure libtool
+AM_PROG_LIBTOOL
dnl Configure libltdl
AC_CONFIG_SUBDIRS(libltdl)
...
...
SUBDIRS = libltdl
+INCLUDES = $(INCLTDL)
+
myprog_LDFLAGS = -export-dynamic
# The quotes around -dlopen below fool automake into accepting it
myprog_LDADD = $(LIBLTDL) "-dlopen" self "-dlopen" libfoo.la
fi
case "$arg" in
*.la | *.lo) ;; # We handle these cases below.
- dummy)
+ force)
if test "$dlself" = no; then
dlself=needless
export_dynamic=yes
# Install the shared library and build the symlinks.
$show "$install_prog $dir/$realname $destdir/$realname"
$run eval "$install_prog $dir/$realname $destdir/$realname" || exit $?
- test "X$dlname" = "X$realname" && dlname=
if test $# -gt 0; then
# Delete the old symlinks, and create new ones.
for linkname
do
- test "X$dlname" = "X$linkname" && dlname=
if test "$linkname" != "$realname"; then
$show "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
$run eval "(cd $destdir && $rm $linkname && $LN_S $realname $linkname)"
done
fi
- if test -n "$dlname"; then
- # Install the dynamically-loadable library.
- $show "$install_prog $dir/$dlname $destdir/$dlname"
- $run eval "$install_prog $dir/$dlname $destdir/$dlname" || exit $?
- fi
-
# Do each command in the postinstall commands.
lib="$destdir/$realname"
eval cmds=\"$postinstall_cmds\"
# Delete the libtool libraries and symlinks.
for n in $library_names; do
rmfiles="$rmfiles $dir/$n"
- test "X$n" = "X$dlname" && dlname=
done
- test -n "$dlname" && rmfiles="$rmfiles $dir/$dlname"
test -n "$old_library" && rmfiles="$rmfiles $dir/$old_library"
$show "$rm $rmfiles"