mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-21 01:40:57 +08:00
*** empty log message ***
This commit is contained in:
parent
decd84eb46
commit
5e3813fc28
14
ChangeLog
14
ChangeLog
@ -1,5 +1,19 @@
|
||||
Fri Jul 25 10:13:49 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltmain.sh.in (link): Remove code for `-version-file', since it
|
||||
has been long-deprecated.
|
||||
Disable static linking if hardcode_direct is unsupported.
|
||||
|
||||
* ltconfig.in: Fix typo in test polarity. From Mark Kettenis.
|
||||
|
||||
Thu Jul 24 10:42:30 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
|
||||
|
||||
* ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses
|
||||
a broken collect2. Adapted out of test results from Mark
|
||||
Kettenis.
|
||||
(link_static_flag): Make sure the link_static_flag actually works
|
||||
with a trivial binary.
|
||||
|
||||
* ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed
|
||||
from export_dynamic_flag because we eval it in ltmain.sh.
|
||||
|
||||
|
4
NEWS
4
NEWS
@ -6,8 +6,8 @@ New in 1.0a:
|
||||
platforms, via new `-dlopen' and `-pre-dlopen' link flags.
|
||||
* New tests for a BSD-compatible `nm' program, required for dlopened
|
||||
modules.
|
||||
* FIXME: Deleted `dlname' mode, now that the internal structure of `.la'
|
||||
files is a public interface.
|
||||
* Deleted `dlname' mode. Dlopen applications should only use the
|
||||
runtime search method described in (libtool)Finding the dlname.
|
||||
|
||||
New in 1.0:
|
||||
* Bug fixes.
|
||||
|
@ -60,13 +60,14 @@ helldl: $(helldl_OBJECTS) $(helldl_DEPENDENCIES)
|
||||
hardcode: $(hardcode_tests)
|
||||
hc-direct: $(hell_OBJECTS) $(hell_DEPENDENCIES)
|
||||
@rm -f hc-direct
|
||||
@echo "You may ignore any linking errors from the following command:"
|
||||
@shlib=./.libs/libhello.a; \
|
||||
eval "`egrep '^library_names' libhello.la`"; \
|
||||
for lib in $$library_names; do \
|
||||
shlib="./.libs/$$lib"; \
|
||||
done; \
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS)"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS)"
|
||||
echo "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) || echo unsupported > $@"; \
|
||||
eval "$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) $$shlib $(LIBS) || echo unsupported > $@"
|
||||
|
||||
hc-minusL: $(hell_OBJECTS) $(hell_DEPENDENCIES)
|
||||
@rm -f hc-minusL
|
||||
|
@ -130,7 +130,6 @@ Invoking @code{libtool}
|
||||
|
||||
* Compile mode:: Creating library object files.
|
||||
* Link mode:: Generating executables and libraries.
|
||||
* Dlname mode:: Obtaining a file name to @code{dlopen(3)}.
|
||||
* Install mode:: Making libraries and executables public.
|
||||
* Finish mode:: Completing a library installation.
|
||||
* Uninstall mode:: Removing executables and libraries.
|
||||
@ -183,7 +182,7 @@ The libtool test suite
|
||||
* Test descriptions:: The contents of the test suite.
|
||||
* When tests fail:: What to do when a test fails.
|
||||
|
||||
Maintainance notes for libtool
|
||||
Maintenance notes for libtool
|
||||
|
||||
* New ports:: How to port libtool to new systems.
|
||||
* Tested platforms:: When libtool was last tested.
|
||||
@ -936,7 +935,6 @@ Print libtool version information and exit.
|
||||
@menu
|
||||
* Compile mode:: Creating library object files.
|
||||
* Link mode:: Generating executables and libraries.
|
||||
* Dlname mode:: Obtaining a file name to @code{dlopen(3)}.
|
||||
* Install mode:: Making libraries and executables public.
|
||||
* Finish mode:: Completing a library installation.
|
||||
* Uninstall mode:: Removing executables and libraries.
|
||||
@ -1029,22 +1027,6 @@ This method is often called @dfn{partial linking}.
|
||||
|
||||
Otherwise, an executable program is created.
|
||||
|
||||
@node Dlname mode
|
||||
@section Dlname mode
|
||||
@cindex Dlname mode
|
||||
@cindex Mode, dlname
|
||||
|
||||
The @samp{dlname} mode simply prints the name of a libtool library that
|
||||
can be passed to the @code{dlopen(3)} function call (@pxref{Dlopened
|
||||
modules}).
|
||||
|
||||
Each of the @var{mode-args} specifies a libtool library linked
|
||||
using the @samp{-export-dynamic} option (@pxref{Link mode}). The names
|
||||
of the modules to load are printed to standard output, one per line.
|
||||
|
||||
If one of the @var{mode-args} was not linked with
|
||||
@samp{-export-dynamic}, then an error is displayed.
|
||||
|
||||
@node Install mode
|
||||
@section Install mode
|
||||
@cindex Install mode
|
||||
@ -1963,24 +1945,8 @@ After a library has been linked with @samp{-export-dynamic}, it can be
|
||||
dlopened. Unfortunately, because of the variation in library names,
|
||||
your package needs to determine the correct file to dlopen.
|
||||
|
||||
Dlname mode (@pxref{Dlname mode}) was designed for this purpose. It
|
||||
returns the name that should be given as the first argument to a
|
||||
@code{dlopen(3)} function call.
|
||||
|
||||
For example, on NetBSD 1.2:
|
||||
|
||||
@example
|
||||
burger$ @kbd{libtool --mode=dlname libhello.la}
|
||||
libhello.so.3.12
|
||||
burger$
|
||||
@end example
|
||||
|
||||
The trick is in finding a way to hardcode this name into your program at
|
||||
compilation time, so that it opens the correct library.
|
||||
|
||||
An alternative implementation that avoids hardcoding is to determine the
|
||||
name at runtime, by finding the installed @samp{.la} file, and searching
|
||||
it for the following lines:
|
||||
The basic implementation is to determine the name at runtime, by finding
|
||||
the installed @samp{.la} file, and searching it for the following lines:
|
||||
|
||||
@example
|
||||
# The name that we can @code{dlopen(3)}.
|
||||
@ -2024,8 +1990,8 @@ family of functions. Some platforms do not even use the same function
|
||||
names (notably HP-UX, with its @samp{shl_load(3)} family).
|
||||
|
||||
@item
|
||||
It is the burden of the libtool user to find a way to get the results of
|
||||
dlname mode (@pxref{Dlname mode}) into the call to @code{dlopen(3)}.
|
||||
The application developer must write a custom search function in order
|
||||
to discover the correct module filename to supply to @code{dlopen(3)}.
|
||||
@end itemize
|
||||
|
||||
Each of these limitations will be addressed in GNU DLD
|
||||
@ -2234,7 +2200,7 @@ Please include the generated @code{libtool} script with your bug report,
|
||||
so that I can see what values @code{ltconfig} guessed for your system.
|
||||
|
||||
@node Maintaining
|
||||
@chapter Maintainance notes for libtool
|
||||
@chapter Maintenance notes for libtool
|
||||
|
||||
This chapter contains information that the libtool maintainer finds
|
||||
important. It will be of no use to you unless you are considering
|
||||
|
@ -28,9 +28,9 @@ rs6000-ibm-aix3.2.5 gcc 0.9h ok*
|
||||
sparc-sun-linux2.1.23 gcc 0.9h ok
|
||||
sparc-sun-sunos4.1.4 cc 1.0 ok
|
||||
sparc-sun-sunos4.1.4 gcc 1.0 ok
|
||||
sparc-sun-solaris2.4 cc 0.9 ok
|
||||
sparc-sun-solaris2.4 gcc 0.9 ok
|
||||
sparc-sun-solaris2.5 cc 0.9 ok
|
||||
sparc-sun-solaris2.4 cc 1.0a ok
|
||||
sparc-sun-solaris2.4 gcc 1.0a ok
|
||||
sparc-sun-solaris2.5 cc 1.0a ok
|
||||
sparc-sun-solaris2.5 gcc 1.0a ok
|
||||
--------------------------------------------------------
|
||||
|
||||
|
@ -606,8 +606,9 @@ else
|
||||
# Note: this linker hardcodes the directories in LIBPATH if there
|
||||
# are no directories specified by -L.
|
||||
hardcode_minus_L=yes
|
||||
# Direct hardcoding is not supported with a broken collect2.
|
||||
if test "$with_gcc" = yes && test -n "$link_static_flag"; then
|
||||
if test "$with_gcc" = yes && test -z "$link_static_flag"; then
|
||||
# Neither direct hardcoding nor static linking is supported with a
|
||||
# broken collect2.
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
|
1390
ltmain.sh.in
1390
ltmain.sh.in
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user