*** empty log message ***

This commit is contained in:
Gordon Matzigkeit 1997-04-01 19:02:08 +00:00 committed by Gordon Matzigkeit
parent ae2ee26b65
commit 60369e2786
12 changed files with 197 additions and 76 deletions

View File

@ -1,3 +1,39 @@
Sun Jan 26 15:50:07 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Release 0.8.
Fri Jan 24 23:32:03 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the
distribution.
Wed Jan 22 17:22:17 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.m4: For IRIX 6, ld needs -n32 if cc uses it. Reported
by Bruno Haible.
* ltconfig.in: IRIX ld does not hardcode direct libraries.
Reported by Bruno Haible.
Sat Jan 18 15:15:12 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in, ltmain.sh.in (hardcode_shlibpath_var): Allow new
value, `unsupported', since most linkers do not allow you to use
shlibpath_var for initial linking.
* ltconfig.in: Lots of bug fixes from Bruno Haible. Set wl on
OSF/1, fix definitions of hardcode_* variables.
(archive_cmds): Fix not to use +h on HP-UX 9.x. Reported by Bruno
Haible.
Fri Jan 17 09:58:22 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtoolize.in: Handle explicit AC_CONFIG_AUX_DIR settings.
Suggested by Akim Demaille.
* libtool.m4: Change ltconfig line to use $CONFIG_SHELL when it is
specified. Reported by Bruno Haible.
Thu Jan 16 17:57:38 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo/Makefile.am (hc-direct): Do better searching for the proper

View File

@ -10,7 +10,7 @@ CLEANFILES = libtool libtoolize
MAINTAINERCLEANFILES = ltconfig ltmain.sh
# Files in the demo subdirectory that go in the distribution.
demo_distfiles = Makefile.in Makefile.am README aclocal.m4 \
demo_distfiles = Makefile.in Makefile.am README acinclude.m4 aclocal.m4 \
configure configure.in foo.c foo.h hello.c main.c \
run.test

9
NEWS
View File

@ -1,8 +1,13 @@
New in 0.7a:
New in 0.7b:
* Bug fixes, and more documentation.
* Basic support for other language compilers (C++, Fortran, and
preprocessed assembler).
* Support for *-*-irix5 and *-*-irix6*.
* Libtool is now more persistent when linking with the `-static'
flag fails.
* New test for hardcoding system linkers, to verify that libtool
neither creates incorrect binaries, nor takes unnecessary
precautions while linking against uninstalled shared libraries.
* Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*.
New in 0.7:
* Total rewrite of libtool, along with a new model for library building.

2
README
View File

@ -14,7 +14,7 @@ Shared library support has been implemented for these platforms:
NetBSD 1.x (*-*-netbsd*)
Solaris 2.x (*-*-solaris2*)
Linux ELF targets (*-*-linux*, except *-*-linuxaout* and *-*-linuxoldld*)
All ELF targets that use both GCC and GNU ld
All ELF targets that use both the GNU C compiler (gcc) and GNU ld
Shared library support is implemented, but untested on:
AIX 3.x (*-*-aix3*)

26
TODO
View File

@ -1,30 +1,32 @@
For 1.0:
* Have people test libtool on AIX 3, OSF/1, HP-UX, and SunOS 4.
* Give some hints for languages other than C, such as C++, Fortran,
and preprocessed assembler. There are beginnings of this in the
manual (Other Languages).
* Don't forget to find link_static_flag for native cc's on HP-UX and
OSF/1.
* Finish documenting shared library systems. Ugh. I'll need more
primary documentation in order to do this well.
* Implement shared libraries and `-static' linking on platforms that
support them. Ones that stand out, which libtool doesn't support:
IRIX.
For 1.1:
Sometime in the future (maybe):
* Implement full support for other basic library types (libhello_g,
libhello_p). Make these types configurable. Some thinking will have
to be done about the defaults, and what libhello (standard type)
should be.
Sometime in the future (maybe):
Unfortunately, if we do this, we're back to the pre-0.6
one-directory-per-object type. Maybe we should just add an autoconf
macro and get creative with program_transform_name, or something.
* Add support for windoze DLL's, and maybe old Linux jumptable
libraries. Check out Lesstif and Tcl configuration again.
* What should be done about the difference between -fpic and -fPIC?
Probably nothing.
* GCC docs imply that all rs6000 code is PIC. See if it is true of
any other processors (like maybe powerpc).
* GCC docs imply that all rs6000 code is PIC. See if it is really
true of any other processors: at least powerpc, powerpcle.
* Maybe choosing between ln -s and cp -p should be done in ltconfig,
not ltmain.sh?
not ltmain.sh? Maybe we should avoid it entirely, and just create
timestamp .lo files, with the PIC objects in .libs/*.o.

View File

@ -1,5 +1,5 @@
AC_INIT(ltmain.sh.in)
AM_INIT_AUTOMAKE(libtool, 0.7b)
AM_INIT_AUTOMAKE(libtool, 0.7c)
pkgdatadir='${datadir}/libtool'
AC_SUBST(pkgdatadir)

View File

@ -23,7 +23,7 @@ hell_static_LDFLAGS = -static
TESTS = run.test
# Regenerate our acinclude.m4 only if it doesn't exist.
# Only for libtool demo: Regenerate our acinclude.m4 only if it doesn't exist.
$(srcdir)/acinclude.m4:
rm -f $(srcdir)/acinclude.m4
ln -s ../libtool.m4 $(srcdir)/acinclude.m4

View File

@ -93,7 +93,6 @@ version @value{VERSION}.
* Integrating Libtool:: Using libtool in your own packages.
* Versioning:: Using library interface versions.
* Library Tips:: Tips for library interface design.
* Modifying:: Changing the libtool script.
* Index:: Index of concepts, variables, and programs.
--- The Detailed Node Listing ---
@ -175,10 +174,10 @@ package build shared libraries. They just run your package
work.
There are several examples throughout this document. All assume the
same environment: we want to build a library, @file{libfoo}, in a
same environment: we want to build a library, @file{libhello}, in a
generic way.
@file{libfoo} could be a shared library, a static library, or
@file{libhello} could be a shared library, a static library, or
both@dots{} whatever is available on the host system, as long as libtool
has been ported to it.
@ -210,9 +209,8 @@ The problem is compounded by the absence of a standard procedure for
creating shared libraries on different platforms.
The following sections outline the major issues facing shared library
support in GNU, how some developers have overcome these issues, and how
I propose that shared library support should be standardized with
libtool.
support in GNU, and how I propose that shared library support could be
standardized with libtool.
@cindex Specifications for libtool
@cindex Libtool specifications
@ -334,6 +332,8 @@ object types. After porting libtool to more platforms, the author
discovered a new (at least for him) paradigm of what libraries and
programs are.
@cindex Definition of libraries
@cindex Libraries, definition of
In summary: ``libraries are programs with multiple entry points, and
more formally defined interfaces.''
@ -350,6 +350,8 @@ when you understand it the world gets simpler.
@comment node-name, next, previous, up
@chapter Using Libtool
@cindex Examples of using libtool
@cindex Libtool examples
It makes little sense to talk about using libtool in your own packages
until you have seen how it makes your life simpler. The examples in
this chapter introduce the main features of libtool by comparing the
@ -389,6 +391,8 @@ After we have built that library, we want to create a program by linking
@comment node-name, next, previous, up
@section Creating Object Files
@cindex Compiling object files
@cindex Object files, compiling
To create an object file from a source file, the compiler is invoked
with the `-c' flag (and any other desired flags):
@ -410,11 +414,16 @@ burger$ @kbd{gcc -g -O -c hello.c}
burger$
@end example
@cindex Position-independant code
@cindex PIC (position-independant code)
Shared libraries, however, may only be built from
@dfn{position-independant code} (PIC). So, special flags must be passed
to the compiler to tell it to generate PIC rather than the standard
position-dependant code.
@cindex Library object file
@cindex `.lo' files
@cindex Object files, library
Since this is a library implementation detail, libtool hides the
complexity of PIC compiler flags by using separate library object files
(which end in `.lo' instead of `.o'). On systems without shared
@ -460,6 +469,7 @@ burger$
@comment node-name, next, previous, up
@section Linking Libraries
@pindex ar
Without libtool, the programmer would invoke the @file{ar} command to
create a static library:
@ -468,6 +478,7 @@ burger$ @kbd{ar cru libhello.a hello.o foo.o}
burger$
@end example
@pindex ranlib
But of course, that would be too simple, so many systems require that
you run the @file{ranlib} command on the resulting library (to give it
better karma, or something):
@ -482,6 +493,8 @@ libtool's ``libraries are programs'' approach. So, on platforms without
shared libraries, libtool simply acts as a wrapper for the system
@file{ar} (and possibly @file{ranlib}) commands.
@cindex Libtool libraries
@cindex `.la' files
Again, the libtool library name differs from the standard name (it has a
`.la' suffix instead of a `.a' suffix). The arguments to libtool are
the same ones you would use to produce an executable named
@ -540,6 +553,7 @@ Now that's significantly cooler@dots{} libtool just ran an obscure
@file{ld} command to create a shared library, as well as the static
library.
@cindex @file{.libs} subdirectory
Note how libtool creates extra files in the @file{.libs} subdirectory,
rather than the current directory. This feature is to make it easier to
clean up the build directory, and to help ensure that other programs
@ -549,15 +563,20 @@ fail horribly if you accidentally forget to use libtool when you should.
@comment node-name, next, previous, up
@section Linking Executables
@cindex Linking against installed libraries
If you choose at this point to @dfn{install} the library (put it in a
permanent location) before linking executables against it, then you
don't need to use libtool to do the linking.
don't need to use libtool to do the linking. Simply use the appropriate
@samp{-L} and @samp{-l} flags to specify the library's location.
@cindex Buggy system linkers
Some system linkers insist on encoding the full directory name of each
shared library in the resulting executable. Libtool has to work around
this misfeature by special magic to ensure that only permanent directory
names are put into installed executables.
@cindex Security problems with buggy linkers
@cindex Bugs, subtle ones caused by buggy linkers
The importance of this bug must not be overlooked: it won't cause
programs to crash in obvious ways. It creates a security hole,
and possibly even worse, if you are modifying the library source code
@ -567,6 +586,7 @@ the installed programs!
So, if you want to link programs against the library before you install
it, you must use libtool to do the linking.
@cindex Linking against uninstalled libraries
Here's the old way of linking against an uninstalled library:
@example
@ -598,6 +618,8 @@ creating hell
burger$
@end example
@cindex Wrapper scripts for programs
@cindex Program wrapper scripts
Notice that the executable, @file{hell} was actually created in the
@file{.libs} subdirectory. Then, a wrapper script was created in the
current directory.
@ -653,10 +675,12 @@ until we link it against at least a few more programs.
@comment node-name, next, previous, up
@section Installing Libraries
@pindex strip
Installing libraries on a non-libtool system is quite
straightforward@dots{} just copy them into place:@footnote{Don't
accidentally strip the libraries, though, or they will be unusable.}
@pindex su
@example
burger$ @kbd{su}
Password: ********
@ -671,6 +695,7 @@ burger# @kbd{ranlib /usr/local/lib/libhello.a}
burger#
@end example
@pindex install
Libtool installation is quite simple, as well. Just use the
@file{install} or @file{cp} command that you normally would:
@ -683,7 +708,8 @@ a23#
@end example
Note that the libtool library @file{libhello.la} is also installed, for
informational purposes.
informational purposes, and to help libtool with uninstallation
(@pxref{Uninstall Mode}).
Here is the shared library example:
@ -696,6 +722,8 @@ ranlib /usr/local/lib/libhello.a
burger#
@end example
@cindex Stripping libraries
@cindex Libraries, stripping
It is safe to specify the @samp{-s} (strip symbols) flag to the install
program (if you use a BSD-compatible install) when installing libraries.
Libtool will either ignore the @samp{-s} flag, or will run a program
@ -706,6 +734,9 @@ configuration that you need to do before using them. First, you must
make sure that where the library is installed actually agrees with the
@samp{-rpath} flag you used to build it.
@cindex Postinstallation
@cindex Installation, finishing
@cindex Libraries, finishing installation
Then, running @samp{libtool -n --finish @var{libdir}} can give you
further hints on what to do:
@ -752,6 +783,8 @@ burger#
@comment node-name, next, previous, up
@section Linking Static Libraries
@cindex Static linking
@cindex Convenience libraries
Sometimes it is desirable to create a static archive that can never be
shared. The most frequent case is when you have a ``convenience
library'' that is a collection of unrelated object files without a
@ -773,10 +806,10 @@ Link the files in the same way you would a libtool library, but use a
`.a' suffix (instead of `.la'):
@example
burger$ @kbd{libtool gcc -o libfoo.a main.o foo.lo hello.lo}
rm -f libfoo.a
ar cru libfoo.a main.o foo.o hello.o
ranlib libfoo.a
burger$ @kbd{libtool gcc -o libhello.a main.o foo.lo hello.lo}
rm -f libhello.a
ar cru libhello.a main.o foo.o hello.o
ranlib libhello.a
burger$
@end example
@ -785,13 +818,14 @@ If you want to install the library (but you probably don't), then you
can use libtool to do it, too:
@example
burger$ @kbd{libtool ./install-sh -c libfoo.a /local/lib/libfoo.a}
./install-sh -c libfoo.a /local/lib/libfoo.a
ranlib /local/lib/libfoo.a
burger$ @kbd{libtool ./install-sh -c libhello.a /local/lib/libhello.a}
./install-sh -c libhello.a /local/lib/libhello.a
ranlib /local/lib/libhello.a
burger$
@end example
@end enumerate
@cindex Standalone binaries
Another common situation where static linking is desirable is in
creating a standalone binary. Use libtool to do the linking and add the
@samp{-static} flag.
@ -800,6 +834,7 @@ creating a standalone binary. Use libtool to do the linking and add the
@comment node-name, next, previous, up
@chapter Invoking @file{libtool}
@c FIXME this is where I got sick of writing index entries
The @file{libtool} program has the following synopsis:
@example
@ -1025,13 +1060,13 @@ First, to link a program against a libtool library, just use the
@example
bin_PROGRAMS = hell hell.static
# Build hell from main.c and libhell.la
# Build hell from main.c and libhello.la
hell_SOURCES = main.c
hell_LDADD = libhell.la
hell_LDADD = libhello.la
# Create a statically-linked version of hell.
hell_static_SOURCES = main.c
hell_static_LDADD = libhell.la
hell_static_LDADD = libhello.la
hell_static_LDFLAGS = -static
@end example
@ -1040,14 +1075,14 @@ you want to pass to libtool while linking @samp{program} (such as
@samp{-static} to create a statically-linked executable).
Building a libtool library is almost as trivial@dots{} note the use of
@samp{libhell_la_LDFLAGS} to pass the @samp{-version-info}
@samp{libhello_la_LDFLAGS} to pass the @samp{-version-info}
(@pxref{Versioning}) and @samp{-rpath} options to libtool:
@example
# Build a libtool library, libhell.la for installation in libdir.
lib_PROGRAMS = libhell.la
libhell_la_SOURCES = hello.c foo.c
libhell_la_LDFLAGS = -version-info 3:12:1 -rpath $(libdir)
# Build a libtool library, libhello.la for installation in libdir.
lib_PROGRAMS = libhello.la
libhello_la_SOURCES = hello.c foo.c
libhello_la_LDFLAGS = -version-info 3:12:1 -rpath $(libdir)
@end example
@node Configuring, Distributing, Using Automake, Integrating Libtool
@ -1368,18 +1403,18 @@ library.
Note that this can cause problems because libtool's compatibility
requirements are actually stricter than is necessary.
Say @file{libfoo} supports interfaces 5, 16, 17, 18, and 19, and that
libtool is used to link @file{test} against @file{libfoo}.
Say @file{libhello} supports interfaces 5, 16, 17, 18, and 19, and that
libtool is used to link @file{test} against @file{libhello}.
Libtool encodes the numbers 5 and 19 in @file{test}, and the dynamic
linker will only link @file{test} against libraries that support
@emph{every} interface between 5 and 19. So, the dynamic linker refuses
to link @file{test} against @file{libfoo}!
to link @file{test} against @file{libhello}!
In order to eliminate this problem, libtool only allows libraries to
declare consecutive interface numbers. So, @file{libfoo} can declare at
declare consecutive interface numbers. So, @file{libhello} can declare at
most that it supports interfaces 16 through 19. Then, the dynamic
linker will link @file{test} against @file{libfoo}.
linker will link @file{test} against @file{libhello}.
So, libtool library versions are described by three integers:
@ -1452,7 +1487,7 @@ set @var{age} to 0.
to the release of the package that you are making. This is an abuse
that only fosters misunderstanding of the purpose of library versions.
@node Library Tips, Modifying, Versioning, Top
@node Library Tips, Index, Versioning, Top
@comment node-name, next, previous, up
@chapter Tips for Interface Design
@ -1597,15 +1632,15 @@ and @code{__END_DECLS} into your own headers. Then, you may use them to
create header files that are valid for C++, ANSI, and non-ANSI
compilers.
@node Modifying, Index, Library Tips, Top
@comment node-name, next, previous, up
@chapter Modifying Libtool
@c @node Modifying, Index, Library Tips, Top
@c @comment node-name, next, previous, up
@c @chapter Modifying Libtool
@c
@c FIXME
@c Description of libtool script contents, the interface between
@c ltconfig and libtool
FIXME
Description of libtool script contents, the interface between ltconfig
and libtool
@node Index, , Modifying, Top
@node Index, , Library Tips, Top
@comment node-name, next, previous, up
@unnumbered Index

View File

@ -486,6 +486,7 @@ archive_cmds=
link_rpath_flag=
hardcode_minus_L=no
hardcode_shlibpath_var=no
hardcode_direct=no
ld_shlibs=yes
if test "$with_gnu_ld" = yes; then
@ -494,10 +495,13 @@ if test "$with_gnu_ld" = yes; then
case "$host" in
*-*-sunos4*)
ld_shlibs=yes
hardcode_direct=yes
;;
*)
if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
# GNU ld on ELF does not support linking via the shlibpath_var.
hardcode_shlibpath_var=yes
ld_shlibs=yes
else
ld_shlibs=no
@ -514,24 +518,32 @@ else
case "$host" in
*-*-aix3*)
archive_cmds='$rm $lib.exp;/usr/ucb/nm$libobjs | egrep \" D \" | sed \"s/^.* //\" > $lib.exp;$LD -o $objdir/$soname$libobjs -bE:$lib.exp -T512 -H512 -bM:SRE -lc$deplibs;ar cru $lib $objdir/$soname'
hardcode_shlibpath_var=yes
hardcode_direct=yes
hardcode_minus_L=yes
# AIX ld does not support linking via the shlibpath_var.
hardcode_shlibpath_var=yes
;;
*-*-aix4*)
archive_cmds='$rm $lib.exp;/bin/nm -B$libobjs | egrep \" D \" | sed \"s/^.* //\" > $lib.exp;$cc -o $objdir/$soname$libobjs ${wl}-bE:$lib.exp ${wl}-bM:SRE ${wl}-bnoentry$deplibs;ar cru $lib $objdir/$soname'
hardcode_shlibpath_var=yes
hardcode_direct=yes
hardcode_minus_L=yes
# AIX ld does not support linking via the shlibpath_var.
hardcode_shlibpath_var=yes
;;
*-*-freebsd*)
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
hardcode_direct=yes
hardcode_minus_L=yes
;;
*-*-hpux9* | *-*-hpux10*)
archive_cmds='$LD -b +h $soname +s +b $install_libdir -o $lib$libobjs$deplibs'
link_rpath_flag='${wl}+b ${wl}$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
hardcode_shlibpath_var=yes
;;
@ -539,21 +551,25 @@ else
*-*-irix5* | *-*-irix6*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs -lc$deplibs'
link_rpath_flag='${wl}-rpath ${wl}$libdir'
hardcode_direct=yes
;;
*-*-netbsd*)
# Tested with NetBSD 1.2 ld
archive_cmds='$LD -Bshareable -o $lib$libobjs$deplibs'
link_rpath_flag='-R$libdir'
hardcode_direct=yes
;;
*-*-osf3*)
archive_cmds='$LD -shared -o $lib -soname $soname -set_version $verstring$libobjs -lc$deplibs'
link_rpath_flag='${wl}-rpath ${wl}$libdir'
hardcode_direct=yes
;;
*-*-sco3.2v5*)
archive_cmds='$LD -G -o $lib$libobjs$deplibs'
hardcode_direct=yes
;;
*-*-solaris2*)
@ -564,6 +580,7 @@ else
*-*-sunos4*)
archive_cmds='$LD -assert pure-text -Bstatic -o $lib$libobjs'
link_rpath_flag='-L$libdir'
hardcode_direct=yes
hardcode_minus_L=yes
;;
@ -800,6 +817,7 @@ profile_flag_pattern='$profile_flag_pattern'
version_type=$version_type
# List of archive names. First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME.
lib_names='$lib_names'
# The coded name of the library, if different from the real name.
@ -827,14 +845,18 @@ old_striplib='$old_striplib'
# This is the shared library path variable.
shlibpath_var=$shlibpath_var
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
# resulting binary.
hardcode_direct=$hardcode_direct
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
# resulting binary.
hardcode_minus_L=$hardcode_minus_L
# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the
# the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var
EOF
# Detect if we are using a relative or absolute path to ltmain.sh.

View File

@ -110,7 +110,7 @@ done
if test -n "$prevopt"; then
echo "$progname: option \`$prevopt' requires an argument" 1>&2
echo "$help"
echo "$help" 1>&2
exit 1
fi
@ -174,12 +174,12 @@ if test -z "$show_help"; then
done
# Get the name of the library object.
libobj=`echo "$srcfile" | sed -e 's%^.*/%%`
libobj=`echo "$srcfile" | sed -e 's%^.*/%%'`
# Recognize several different file suffixes.
xform='[cCFSf]'
case $libobj in
*.c++) xform='c\+\+' ;;
case "$libobj" in
*.c++) xform='c++' ;;
*.cc) xform=cc ;;
*.cpp) xform=cpp ;;
*.cxx) xform=cxx ;;
@ -189,10 +189,10 @@ if test -z "$show_help"; then
libobj=`echo "$libobj" | sed -e "s/\.$xform$/.lo/"`
case $libobj in
case "$libobj" in
*.lo) obj=`echo "$libobj" | sed -e 's/\.lo$/.o/'` ;;
*)
echo "$progname: cannot determine name of library object from \`$srcfile'"
echo "$progname: cannot determine name of library object from \`$srcfile'" 1>&2
exit 1
;;
esac
@ -412,7 +412,7 @@ if test -z "$show_help"; then
*)
echo "$progname: unknown file suffix for \`$arg'" 1>&2
echo "$help"
echo "$help" 1>&2
exit 1
;;
esac
@ -425,7 +425,7 @@ if test -z "$show_help"; then
done
if test -n "$prev"; then
echo "$progname: the \`$prevarg' option requires an argument"
echo "$progname: the \`$prevarg' option requires an argument" 1>&2
echo "$help" 1>&2
exit 1
fi
@ -763,7 +763,7 @@ if test -z "$show_help"; then
# Things are fine, the world is a beautiful place.
$show "$compile_command"
elif test "$hardcode_shlibpath_var" != yes; then
elif test "$hardcode_shlibpath_var" = yes; then
# We just need to export the shlibpath for the link command.
$show "$shlibpath_var=$linkrpath $compile_command"
eval "$shlibpath_var=$linkrpath"
@ -1128,7 +1128,7 @@ EOF
# Check the variables that should have been set.
if test -z "$link_against_libtool_libs" || test -z "$finalize_command"; then
echo "$progname: invalid libtool wrapper script \`$file'"
echo "$progname: invalid libtool wrapper script \`$file'" 1>&2
exit 1
fi
@ -1145,7 +1145,7 @@ EOF
fi
libfile="$libdir/`echo "$lib" | sed 's%^.*/%%g'`"
if test -z "$libdir"; then
echo "$progname: warning: \`$lib' contains no -rpath information"
echo "$progname: warning: \`$lib' contains no -rpath information" 1>&2
elif test -f "$libfile"; then :
else
echo "$progname: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
@ -1155,9 +1155,9 @@ EOF
if test "$hardcode_minus_L" = yes && test "$hardcode_shlibpath_var" = yes; then
if test "$finalize" = no; then
echo "$progname: warning: cannot relink \`$file' on behalf of your buggy system linker"
echo "$progname: warning: cannot relink \`$file' on behalf of your buggy system linker" 1>&2
else
echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker"
echo "$progname: warning: relinking \`$file' on behalf of your buggy system linker" 1>&2
$show "$finalize_command"
if $run $finalize_command; then :
else
@ -1223,7 +1223,7 @@ EOF
done
if test -n "$future_libdirs"; then
echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'"
echo "$progname: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
fi
if test -n "$current_libdirs"; then

View File

@ -1,3 +1,20 @@
Fri Jan 3 23:15:22 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (distclean-local): Remove all files that the tests
may have created. Reported by Bruno Haible.
* For all tests, discover srcdir when running from the command
line.
* demo-unst.test: Don't fail if make uninstall doesn't delete
files beginning with a dot, since spurious .nfsXXX files may be
present when running NFS. Reported by Bruno Haible.
Thu Jan 2 13:03:41 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* suffix.test: New test to guarantee that libtool compile
recognizes valid source file suffixes.
Sun Dec 8 14:43:15 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo.test: Break up into demo-conf.test, demo-make.test,
@ -21,4 +38,3 @@ Mon Dec 2 16:31:10 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* test-e.test: Check that we haven't used `test -e' anywhere in
our portable shell scripts.

View File

@ -3,6 +3,11 @@
AUTOMAKE_OPTIONS = gnits
TESTS = demo-conf.test demo-make.test demo-exec.test demo-inst.test \
demo-unst.test link.test link-2.test test-e.test
demo-unst.test link.test link-2.test suffix.test test-e.test
EXTRA_DIST = defs tlibtool $(TESTS)
# We need to remove any files that the above tests created.
distclean-local:
test -f ../demo/Makefile && cd ../demo && $(MAKE) distclean
rm -rf =inst