+1998-12-11 Thomas Tanner <tanner@gmx.de>
+
+ * ltmain.in: -module implies now -export-dynamic,
+ dlpreopen files if we're linking statically
+ * doc/libtool.texi (link flags): added documentation for -module
+ and the tests for mdemo and libltdl
+ * mdemo/Makefile.am: replaced -dlpreopen with -dlopen
+
1998-12-09 Alexandre Oliva <oliva@dcc.unicamp.br>
* PORTING: removed the text Akim Demaille converted to .texi
This option is required even when @var{output-file} is not an
executable.
+@item -module
+Creates a library that can be dlopenend (@pxref{Dlopened modules}).
+This option doesn't work for programs and must not be used
+together with @samp{-export-symbols}.
+It implies the option @samp{-export-dynamic}.
+
@item -no-undefined
Declare that @var{output-file} does not depend on any other libraries.
Some platforms cannot create shared libraries that depend on other
@cindex names of dynamic modules
@cindex dynamic modules, names
-After a library has been linked with @samp{-export-dynamic}, it can be dlopened.
+After a library has been linked with @samp{-module}, it can be dlopened.
Unfortunately, because of the variation in library names,
your package needs to determine the correct file to dlopen.
The @file{demo} subdirectory contains a demonstration of a trivial
package that uses libtool.
+@item libltdl-conf.test
+@itemx libltdl-inst.test
+@itemx libltdl-make.test
+@itemx libltdl-unst.test
+@pindex libltdl-conf.test
+@pindex libltdl-inst.test
+@pindex libltdl-make.test
+@pindex libltdl-unst.test
+These programs check to see that the @file{libltdl} subdirectory of the
+libtool distribution can be configured, built, installed, and
+uninstalled correctly.
+
+The @file{libltdl} subdirectory contains the library 'libltdl',
+which provides a dlopen wrapper for various platforms
+(Linux, Solaris, HP/UX, Win32 etc.) including support for dlpreopened modules
+(@pxref{Dlpreopening}).
+
+@item mdemo-conf.test
+@itemx mdemo-exec.test
+@itemx mdemo-inst.test
+@itemx mdemo-make.test
+@itemx mdemo-unst.test
+@pindex mdemo-conf.test
+@pindex mdemo-exec.test
+@pindex mdemo-inst.test
+@pindex mdemo-make.test
+@pindex mdemo-unst.test
+These programs check to see that the @file{mdemo} subdirectory of the
+libtool distribution can be configured, built, installed, and
+uninstalled correctly.
+
+The @file{mdemo} subdirectory contains a demonstration of a package that
+uses libtool and the system independent dlopen wrapper 'libltdl' to load
+modules.
+
+NOTE: The tests @file{mdemo-exec.test} and @file{mdemo-inst.test} are known
+to fail on platforms that do not support inter-library dependencies.
+
@item hardcode.test
@pindex hardcode.test
On all systems with shared libraries, the location of the library can be
-l*) deplibs="$deplibs $arg" ;;
-module)
- module=yes
- continue
+ if test "$module" != yes; then
+ module=yes
+ if test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ else
+ arg=
+ fi
+ fi
;;
-no-undefined)
# This library was specified with -dlopen.
if test "$prev" = dlfiles; then
dlfiles="$dlfiles $arg"
- if test -z "$dlname"; then
- # If there is no dlname, we need to preload.
+ if test -z "$dlname" || test "$build_libtool_libs" = no; then
+ # If there is no dlname or we're linking statically,
+ # we need to preload.
prev=dlprefiles
else
# We should not create a dependency on this library, but we
fi
done
- # If -export-dynamic was specified, set the dlname.
- if test "$export_dynamic" = yes; then
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test "$module" = yes || test "$export_dynamic" = yes; then
# On all known operating systems, these are identical.
dlname="$soname"
fi