*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1997-09-15 14:12:49 +00:00 committed by Gordon Matzigkeit
parent c50768f04d
commit 43de71de11
8 changed files with 70 additions and 14 deletions

View File

@ -1,3 +1,9 @@
Mon Sep 15 07:08:35 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo/Makefile.am, ltmain.in, tests/hardcode.test (objdir):
Changed objdir variable .libs to _libs. This is another MS-DOS
portability fix. Suggested by Robert Hoehne.
Sat Sep 13 11:41:44 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in, ltmain.in (hardcode_minusL): Fix typo by renaming

2
NEWS
View File

@ -2,6 +2,8 @@ NEWS - list of user-visible changes between releases of GNU libtool.
New in 1.0c:
* Bug fixes.
* Change the libtool temporary directory from `.libs' to `_libs' in
order to cope with MS-DOS filenames. See README-alpha.
* New `-all-static' flag to prevent any dynamic linking. The regular
`-static' flag just prevents dynamic linking of libtool libraries.
* The `-rpath' flag can be used to hardcode absolute directories when

View File

@ -4,6 +4,40 @@ Please do not send any bug reports or questions about it to public
forums (such as GNU newsgroups), send them directly to the libtool
mailing list <bug-libtool@gnu.ai.mit.edu>.
Automake
********
Between beta release 1.0b and 1.0c, libtool changed its private
directory name from `.libs' to `_libs' in order to be compatible with
MS-DOS filenames. This change allows libtool to run under the DJGPP
build environment. Unfortunately, it also introduces a minor bug into
Automake's `clean' rules for releases < 1.2a.
This should not affect anybody else's programs unless you depend on
libtool internals. If you do, and it isn't just for deleting
unnecessary directories, then let me know so libtool can support the
functionality you require.
To fix Automake, edit libtool.am, and change the following lines:
i.e.
clean-libtool:
rm -rf .libs
to:
clean-libtool:
rm -rf _libs
and reinstall Automake. If you've already installed Automake, you can
make the same change in /usr/local/share/automake/libtool.am, to avoid
having to reinstall.
global_symbol_pipe
******************
CALL FOR HELP: In order to implement dlopening even on archictectures
that don't have shared libraries, I am collecting `NM' and
`global_symbol_pipe' values for every known operating system.

View File

@ -32,6 +32,10 @@ hell_debug_LDFLAGS = -static
helldl_SOURCES = dlmain.c
helldl_LDFLAGS = -export-dynamic -dlpreopen libhello.la
# Unfortunately, in order to test libtool thoroughly, we need access
# to its private directory.
objdir = _libs
TESTS = run.test
# The following rules are only for the libtool demo and tests.
@ -61,21 +65,21 @@ 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; \
@shlib=./$(objdir)/libhello.a; \
eval "`egrep '^library_names' libhello.la`"; \
for lib in $$library_names; do \
shlib="./.libs/$$lib"; \
shlib="./$(objdir)/$$lib"; \
done; \
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
$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./.libs -lhello $(LIBS)
$(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -L./$(objdir) -lhello $(LIBS)
hc-libpath: $(hell_OBJECTS) $(hell_DEPENDENCIES)
@rm -f hc-libpath
@echo "You may ignore any linking errors from the following command:"
@eval `egrep -e '^shlibpath_var=' ./libtool`; \
echo "$$shlibpath_var=./.libs $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) || echo unsupported > $@"; \
eval "$$shlibpath_var=./.libs $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) || echo unsupported > $@"
echo "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) || echo unsupported > $@"; \
eval "$$shlibpath_var=./$(objdir) $(CC) $(LDFLAGS) -o $@ $(hell_OBJECTS) -lhello $(LIBS) || echo unsupported > $@"

View File

@ -612,7 +612,9 @@ Now that's significantly cooler@dots{} libtool just ran an obscure
@code{ld} command to create a shared library, as well as the static
library.
@cindex @file{@value{objdir}} subdirectory
@c FIXME: TeX cannot handle @value{objdir} in an index entry
@cindex @file{_libs} subdirectory
@c @cindex @file{@value{objdir}} subdirectory
Note how libtool creates extra files in the @file{@value{objdir}}
subdirectory, rather than the current directory. This feature is to
make it easier to clean up the build directory, and to help ensure that

View File

@ -62,7 +62,7 @@ help="Try \`$progname --help' for more information."
magic="%%%MAGIC variable%%%"
mkdir="mkdir"
mv="mv -f"
objdir=.libs
objdir=_libs
rm="rm -f"
# Sed substitution that helps us do robust quoting. It backslashifies

View File

@ -1,3 +1,8 @@
Mon Sep 15 07:14:37 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* hardcode.test (objdir): New variable to simplify change from
.libs to _libs (MS-DOS portability fix).
Fri Sep 5 13:36:24 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo-exec.test, demo-inst.test: Change references from

View File

@ -20,6 +20,9 @@ fi
# Change to our build directory.
cd ../demo || exit 1
# Unfortunately, we need access to libtool internals for this test.
objdir=_libs
# Check to make sure we have a dynamic library.
library_names=NONE
eval `egrep -e '^library_names=' ./libhello.la 2>/dev/null`
@ -72,13 +75,13 @@ for file in hc-*; do
;;
esac
# Discover whether the .libs directory really was hardcoded.
# Discover whether the objdir really was hardcoded.
hardcoded=no
if fgrep '.libs' $file > /dev/null; then
if fgrep "$objdir" $file > /dev/null; then
hardcoded=yes
elif cat $file | tr '\200-\277' '\100-\177' | tr '\300-\377' '\100-\177' \
| tr '\000-\037' '\040-\077' | tr '\040' '\012' \
| fgrep '.libs' > /dev/null 2>&1; then
| fgrep "$objdir" > /dev/null 2>&1; then
# At least AIX fgrep doesn't work for binary files, and AIX also
# doesn't have strings(1), so we need this strange conversion.
# AIX fgrep also has a limited line length, that's why we finally
@ -92,18 +95,18 @@ for file in hc-*; do
case "$hardcoded" in
yes)
if test $expected = yes; then
echo ".libs was hardcoded in \`$file', as libtool expected"
echo "$objdir was hardcoded in \`$file', as libtool expected"
else
echo ".libs was hardcoded in \`$file', which fooled libtool" 1>&2
echo "$objdir was hardcoded in \`$file', which fooled libtool" 1>&2
status=1
fi
;;
no)
if test $expected = no; then
echo ".libs was not hardcoded in \`$file', as libtool expected"
echo "$objdir was not hardcoded in \`$file', as libtool expected"
else
echo ".libs was not hardcoded in \`$file', which fooled libtool" 1>&2
echo "$objdir was not hardcoded in \`$file', which fooled libtool" 1>&2
status=1
fi
;;