mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-03-19 15:50:25 +08:00
*** empty log message ***
This commit is contained in:
parent
8c0eb23b8b
commit
1c3b55c703
@ -1,3 +1,11 @@
|
||||
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
|
||||
|
@ -1163,6 +1163,12 @@ installed.
|
||||
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
|
||||
@ -2376,7 +2382,7 @@ in @var{dld_preloaded_symbols}.
|
||||
@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.
|
||||
|
||||
@ -2562,6 +2568,44 @@ uninstalled correctly.
|
||||
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
|
||||
|
19
ltmain.in
19
ltmain.in
@ -734,8 +734,14 @@ compiler."
|
||||
-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)
|
||||
@ -870,8 +876,9 @@ compiler."
|
||||
# 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
|
||||
@ -1565,8 +1572,8 @@ EOF
|
||||
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
|
||||
|
@ -24,5 +24,4 @@ hell_DEPENDENCIES = modules/libfoo1.la modules/libfoo2.la
|
||||
hell_debug_SOURCES = main.c
|
||||
hell_debug_LDADD = ../libltdl/libltdl.la
|
||||
hell_debug_LDFLAGS = -static -export-dynamic \
|
||||
-dlpreopen modules/libfoo1.la -dlpreopen modules/libfoo2.la
|
||||
# Shouldn't this be the same as -dlopen, since we're linking statically?
|
||||
-dlopen modules/libfoo1.la -dlopen modules/libfoo2.la
|
||||
|
@ -10,9 +10,9 @@ INCLUDES = -I$(srcdir)/../../libltdl
|
||||
lib_LTLIBRARIES = libfoo1.la libfoo2.la
|
||||
|
||||
libfoo1_la_SOURCES = foo1.c
|
||||
libfoo1_la_LDFLAGS = -export-dynamic -lm -module
|
||||
libfoo1_la_LDFLAGS = -lm -module
|
||||
|
||||
libfoo2_la_SOURCES = foo2.c
|
||||
libfoo2_la_LDFLAGS = -export-dynamic -lm -module
|
||||
libfoo2_la_LDFLAGS = -lm -module
|
||||
|
||||
include_HEADERS = foo.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user