libtool/ChangeLog
1997-10-19 18:53:23 +00:00

1086 lines
39 KiB
Plaintext

Sun Oct 19 12:48:14 1997 Gordon Matzigkeit <gord@gnu.org>
* ltmain.in (link): Only `eval' export_dynamic_flag_spec if it is
not empty. Reported by Stephan Kulow.
Sat Oct 18 00:44:14 1997 Gordon Matzigkeit <gord@gnu.org>
* ltconfig.in (objdir): Use the .libs directory on all systems for
which that name is valid, and _libs on the others (like MS-DOS).
Suggested by Juergen Erhard.
Tue Oct 14 10:19:18 1997 Gordon Matzigkeit <gord@gnu.org>
* ltmain.in (link): Added a bit more inter-language support to the
symbol file generation process.
Instead of complaining about unrecognized argument suffices, pass
them to the linker. This prevents libtool from barfing on
mandatory arguments to linker flags. Reported by Michael
Tiemann.
Thu Oct 9 12:56:13 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.in (link): Change the wrapper script to follow symlinks
in order to find thisdir. This should put the final nail in the
coffin for problems with wrapper scripts. From Ian Lance Taylor.
Tue Oct 7 10:49:29 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.in: Change a few `$echo' commands into `$show' to make
--silent mode behave as advertised.
* ltconfig.in (allow_undefined_flag): On OSF/1 4.x, use
`-expect_unresolved \*'. From Christian Mondrup.
* ltmain.in (install): Change install mode to allow a specified
/bin/sh argument at the beginning of the install_prog. Also,
specify the shell to run when invoking libtool recursively for
finish mode. From Chris Provenzano.
* libtool.m4 (LIBTOOL): Change definition to include $(SHELL).
From Chris Provenzano.
* ltconfig.in: Port to UTS 4.x. From Alistair Crooks.
* demo/Makefile.am (hc-libflag): Add rules to make this binary for
hardcode.test.
Wed Sep 24 19:54:53 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (LD): As with libtool.m4, don't override LD.
Do a whole bunch of ac_t quoting.
Wed Sep 24 11:11:01 1997 Ian Lance Taylor <ian@cygnus.com>
* libtool.m4 (AM_PROG_LD): Don't override LD in the environment.
Sun Sep 21 13:13:06 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.m4, ltconfig.in (NM): Arguments to the for loop must be
whitespace separated. This fixes a bug under FreeBSD's /bin/sh.
From George Scott.
Sat Sep 20 13:59:47 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.in (deplibs): When building shared libraries, always add
-lc to deplibs. Reported by Andreas Jellinghaus.
Mon Sep 15 07:08:35 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in, ltmain.in (COLLECT_NAMES): If the COLLECT_NAMES
environment variable has not been set, set it to empty. This
apparently fixes the AIX bug with GCC's collect2. Reported by
Mark Kettenis.
* 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
hardcode_minusL to hardcode_minus_L. Also add FreeBSD
hardcode_libdir_flag_spec. From Paul Traina.
* ltmain.in (link): Honour multiple `-rpath' flags when linking
programs. Suggested by Bengt Martensson.
Quote appearances of $echo in the wrapper script. From Alexandre
Oliva.
* Makefile.am, configure.in, tests/tlibtool: Use ltmain.in instead
of ltmain.sh.in.
* ltmain.in: Rename ltmain.sh.in to ltmain.in. This fixes a
portability problem (on MS-DOS, of all places!). From Robert
Hoehne.
Thu Sep 11 21:14:26 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Do not transform libtool objects to regular
objects if we did not build old libs. Reported by Tomas Hiller.
Fri Sep 5 13:11:38 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo/Makefile.am (hell_debug_LDFLAGS): Change hell.static to
hell.debug in order to reflect the new static linking semantics.
* ltmain.sh.in (link): Add new `-all-static' flag to prevent all
dynamic linking. The old `-static' flag just prevents dynamic
linking against libtool libraries. Suggested by Bengt
Martensson.
* ltconfig.in (with_gnu_ld): Add a test to make sure that we are
actually using GNU ld. This fixes an inconsistency when running
ltconfig without using libtool.m4. Reported by Ulrich Drepper.
(global_symbol_pipe): Delete symbols that are not valid C
identifiers. Reported by Johan Danielsson and Bengt Martensson.
Thu Sep 4 21:53:08 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (echo): Quote all the uses of `echo' in all eval
statements. Reported by Bengt Martensson and Alexandre Oliva.
(echo): Need to surround test args with double quotes, or the echo
test fails on Digital Unix 4.0. From Todd Kover.
Thu Aug 28 20:58:56 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (echo): Change test to one that uses printf.
This works on AIX, which has the same problems that Solaris does,
but no working echo program.
Wed Aug 27 09:54:21 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Make sure that compile_command and
finalize_command are always evaled. Quote any unknown linker
flags we need to pass through.
(compile): Use quoting for flags we pass.
(echo): I hate Sun! The /usr/bin/echo on Solaris handles
backslash sequences, which makes it impossible to do backslash
quoting using echo and sed. So, we search for an echo that obeys
the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere
in ltmain.sh.
Put tabs back into the ${IFS= } sequences. Emacs untabify is
libtool bane.
* ltconfig.in: Quote all variable values that may contain
metacharacters creating the libtool script. This provides
complete protection, so that even single-quotes may appear inside
a libtool variable value.
* ltmain.sh.in (link): Quote finalize_command before putting it in
the wrapper script.
Tue Aug 26 13:32:19 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (sed_quote_subst): Change the quoting procedure
again. I think that the new one is robust for *all* characters,
including whitespace and metacharacters.
Mon Aug 25 10:54:14 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Change quoting procedure because some shells
cannot handle `]' in scan sets. From Ian Dall.
Fri Aug 22 11:00:58 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (execute): Added -dlopen flag handling. Suggested
by Alexandre Oliva.
Thu Aug 21 00:40:45 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Change executable wrapper to fix up value
of thisdir, as well as progdir, if the $0 path doesn't work. This
guarantees that shlibpath_var is set correctly. Add support for
execute mode.
* ltmain.sh.in (execute): New mode to automatically set
shlibpath_var, which allows easy debugging of uninstalled
executables and libraries. Suggested by Kenneth Albanowski.
Wed Aug 20 10:51:02 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am ($(srcdir)/ltconfig): Use lineno.
* configure.in: Add AM_PROG_AWK for lineno.
* lineno: New program to automatically put line numbers in
ltconfig.
* libtool.m4, ltconfig.in (AM_PROG_LD): Yet Another Rewrite, which
incorporates the results of `gcc -print-program-name=ld'.
Suggested by Alexandre Oliva.
Thu Aug 14 09:30:47 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Accept `--quiet' and `--silent' flags to turn off
command echoing. From Juergen A. Erhard.
(compile): Recognize the Objective C `.m' extension. From Juergen
A. Erhard.
(compile): Suppress error output from the second compilation (if
any) so that we don't get those frustrating duplicate error
messages.
Tue Aug 12 09:36:59 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Added messages to config.log to describe what sort
of test we are running.
(pic_flag): Added a sanity check for pic_flag. This should fix
bugs reported using the cc bundled with HP-UX 10. Suggested by
Bruno Haible and Akim Demaille.
Fri Aug 1 10:06:55 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Add -dlopen and -dlpreopen support for
libtool objects. This means that dlopened modules no longer need
to be shared libraries.
* ltconfig.in (pic_flag): GCC on Irix 6 always builds PIC.
Reported by Ian Lance Taylor.
* libtool.m4 (LD): Always add `-n32' to the linker if we are using
GCC on Irix 6. Reported by Ian Lance Taylor.
Wed Jul 30 13:11:09 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.m4 (AM_PROG_LIBTOOL): Explicitly check enable_shared and
enable_static rather than just enableval. This allows
configure.in scripts to set their own defaults. Suggested by
Tommy Reilly.
Tue Jul 29 11:52:10 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Add NLS environment variable handling copied from
ltconfig.in. Reported by Akim Demaille.
(link): If allow_undefined_flag is not supported, then turn on old
libraries. Reported by Akim Demaille.
* demo/dlmain.c (main): Use dld_preloaded_symbol_count to display
a message about the sortedness of the symbol table.
* ltconfig.in (nlist): Use an nlist convenience variable, so that
code can be shared directly with ltmain.sh.in.
* ltconfig.in, ltmain.sh.in (dld_preloaded_symbol_count): Count up
the number of symbols in the dld_preloaded_symbols. Set to `-1'
if the list wasn't both sorted and counted. This allows
applications to do a quick binary search, if they are so inclined.
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 and there
is no working link_static_flag. This provides correct behaviour
for all cases on AIX 3, regardless of whether collect2 is broken
or not. Reported by Mark Kettenis.
* 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.
* ltmain.sh.in (link_static): Don't eval link_static_flag.
* demo/dlmain.c (main): Change function prototype to be KNR
compatible. From Kaveh R. Ghazi.
* ltmain.sh.in (link): Use no_builtin_flag. This works around
conflicting definitions of builtin functions with at least GCC.
Reported by Kazuhiro Sasayama.
* ltconfig.in (no_builtin_flag): New flag to turn off builtin
functions when compiling an object file.
(pipe_works): Use it.
Wed Jul 23 08:18:19 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure
script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin
Jacobs.
Mon Jul 21 09:46:02 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X;
Y'" with "sed -e 'X' -e 'Y'".
* ltmain.sh.in (link): Finish full integration for `-dlopen' and
`-dlpreopen'.
Fix two silly typos where I used a compile_command in place of a
finalize_command, and vice versa.
Change the wrapper script to check a hardcoded path only if the
argv[0] method fails. This is a compromise for the previous two
patches, and should solve the majority of problems with wrapper
scripts. From Kenneth Albanowski.
(link): Change a reference to hardcode_libdir_colon_separated to
use the new hardcode_libdir_separator variable.
* demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and
`-dlpreopen' for building helldl.
* demo/dlmain.c (main): Succeed, even if none of the libhello
symbols have been preloaded.
Sun Jul 20 10:17:04 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (global_symbol_pipe): Add `U' to the accepted global
symbol types. This means that we will get duplicate symbols, but
we'll also be sure to get all global symbols used by the program.
* ltconfig.in (pipe_works), ltmain.sh.in (link): Sort and make
symbol output unique.
Sat Jul 19 21:54:33 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (pipe_works): Check to make sure our guessed
global_symbol_pipe actually works.
* ltmain.sh.in (link): Revert change from Kenneth Albanowski. The
wrapper scripts are more reliable when they just use the argv[0]
value. Generally, when the argv[0] method doesn't work, the user
is trying to do something weird with an uninstalled binary, and
should try a different approach.
* ltconfig.in, ltmain.sh.in (CC): Always use `$CC' instead of
`$cc'. This fixes a FreeBSD bug. Reported by Chuck Robey, and
others.
Mon Jul 14 22:26:15 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): In wrapper scripts, hardcode the current
directory to prevent phony argv[0] values from screwing up our
program. From Kenneth Albanowski.
Sun Jul 13 19:14:32 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (demo_distfiles): Add demo/dlmain.c to the
distribution.
Sat Jul 12 10:07:28 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo/Makefile.am: Add helldl, made from dlmain.c, to demostrate
`-dlopen' usage.
* demo/dlmain.c: New file to demonstrate preloaded modules.
* ltmain.sh.in (link): Add `-dlopen' flag to preload dynamic
modules, even on static platforms. Use `$NM' and
`$global_symbol_cmd' to extract symbols from required files.
(dlname): Delete dlname mode entirely. It is rendered obsolete
because the `.la' file format is now a public interface.
* ltconfig.in (NM): New variable for BSD-compatible nm program.
(global_symbol_cmd): Pipeline to extract global symbols from the
nm output.
* ltmain.sh.in: The .la file header should depend on `ltmain.sh',
not `$PROGRAM'.
(link): Make sure $export_dynamic_flag is eval'ed before it is
used.
Fri Jul 11 19:33:02 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.spec: New Red Hat Package Manager specification file in
order to help people prepare distributions of libtool for Linux.
* ltmain.sh.in: Eliminate two accidental uses of the NONE magic
value. These were breaking libtool's behaviour when no mode is
specified.
Tue Jul 8 11:01:27 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Release 1.0.
* ltconfig.in: On SunOS, append /usr/etc to the PATH before
running ldconfig; on *BSD, append /sbin. This was done in line
with the Linux change suggested by Kenneth Albanowski.
* demo/Makefile.am (hardcode_tests): Aesthetic change to
alphabetize order of compiling the hardcode tests.
* Makefile.am (EXTRA_DIST): Delete README-automake.
* README-automake: Remove from distribution.
Wed Jul 2 19:13:00 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): In the executable wrapper, strip trailing
colons from the shlibpath_var because some ld.so's, notably
OpenBSD 2.0's (!), don't parse colon-terminated values correctly.
From Tim Pierce.
Tue Jul 1 13:03:49 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in, ltconfig.in: Eliminate uses of the NONE magic
variable value. Use an empty variable instead.
* ltconfig.in (with_gcc, with_gnu_ld): Do the tests for the C
compiler and linker if the variables are unset, or if they are not
GNU C and ld.
(RANLIB): Eliminate redundant `if' statement.
* configure.in: Use AM_PROG_LD.
* libtool.m4 (AM_PROG_LD_GNU): New macro to determine if LD is GNU
ld.
(AM_PROG_LD): Rename AM_PATH_PROG_LD to AM_PROG_LD. Parameterize
so that the user can specify `--with-gnu-ld' or `--without-gnu-ld'
to indicate his preference.
(AM_PROG_LIBTOOL): Use it.
Mon Jun 30 22:32:05 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Append /sbin to the path before running ldconfig on
Linux. This helps superusers who haven't set their PATH
correctly. Suggested by Kenneth Albanowski.
Sun Jun 29 19:51:50 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Change all the `eval "$run ..."' sequences to
`$run "eval ..."'.
Change all `$ln_s ...' sequences to use `(cd /dir && $LN_S ...)'.
This is the sequence recommended by the Autoconf manual, and
should avoid any problems on older machines. Eliminate all uses
of `cp -p'. Reported by Akim Demaille.
(install): Use `test $# -gt 0' instead of `test -n "$1"'.
* ltconfig.in (LN_S): Add test to see if `ln -s' works.
* libtool.m4: Increment serial number, and require AC_PROG_LN_S.
Thu Jun 26 17:55:26 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Add missing `test' statement. Reported by
Akim Demaille.
Tue Jun 24 14:58:41 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.m4 (LD): Consistently use ac_cv_path_ld instead of
am_cv_path_ld. From Tim Pierce.
Fri Jun 20 08:21:34 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Redo two robustness fixes. Alexandre had the
correct approach, but I botched them.
* ltconfig.in (dynamic_linker): Disable shared libraries on
MkLinux unless GNU libc is in use. Reported by Akim Demaille.
Thu Jun 19 14:24:06 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (install): Add a missing `test' command. Reported
by Joel Weber.
Miscellaneous fixes to improve robustness. From Alexandre Oliva.
Sat Jun 14 21:01:03 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Create invalid libtool objects when partial
linking if we don't have PIC. From Jeff Dairiki.
(install): Fix bug if libtool object is installed to a file name
without directory components. From Jeff Dairiki.
Fri Jun 13 14:18:23 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (demo/configure): Fix up rules to run autoconf.
(aclocal.m4): Now we depend on our own libtool.m4.
* configure.in (AM_PATH_PROG_LD): Use it.
* libtool.m4 (AM_PATH_PROG_LD): New macro to find the linker used
by the C compiler.
(AM_PROG_LIBTOOL): Use it.
* ltmain.sh.in (install, uninstall): Support installing and
uninstalling `.lo' files. From Jeff Dairiki.
Wed Jun 11 11:04:59 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (ltconfig, ltmain.sh): Only move if $(srcdir) is not
the current directory. Don't regenerate every time the package is
reconfigured. Reported by Tom Tromey.
(MAINTAINERCLEANFILES): Added ltconfig, ltmain.sh, so that
$(srcdir) is not messed with during a regular clean.
Tue Jun 10 12:26:00 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (ltconfig, ltmain.sh): Be sure to move these files
into $(srcdir) once they are created.
* ltmain.sh.in (link): Disable building static libraries.
People should use their favourite AR and RANLIB commands.
Disable building old-style objects if `--disable-static' is
given. Suggested by Tom Lees and Stephan Kulow.
Sun Jun 8 12:10:14 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (host_cpu, host_vendor, host_os): Patch up
definitions, to allow for the fact that the host_os may contain
hyphens (as in linux-gnu). From Scott Goehring.
* ltmain.sh.in (link): Move the `dlname' setting closer to the top
of the file. Suggested by David Mosberger-Tang.
Symlink the libtool archive into the `.libs' directory so that it
can be found by programs that want to find a library's dlname by
searching LD_LIBRARY_PATH. Reported by David Mosberger-Tang.
Fri Jun 6 15:52:28 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Tell people to report bugs to the new libtool mailing list,
<bug-libtool@gnu.ai.mit.edu>.
Thu Jun 5 10:40:15 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (allow_undefined_flag): New variable that implements
`-allow-undefined'.
(archive_cmds): Enable C++ constructors for FreeBSD 2.2. From
David Nugent.
* ltmain.sh.in (link): Accept new `-allow-undefined' flag when
building libtool libraries. This tells libtool to allow
unresolved symbols to exist in shared libraries. Basically, this
turns off shared libraries on AIX. Suggested by Ian Lance Taylor.
Mon May 26 08:24:55 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* libtool.m4 (LD): On at least IRIX, many different flags need to
be propagated to the linker if they are part of the compiler
command line. Reported by Anthony Green.
Sat May 10 12:21:58 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Trivial port to FreeBSD 3. From David Nugent.
Fri Apr 25 13:23:33 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Remove all traces of `-whole-archive',
`-no-whole-archive', and libtool convenience libraries. They were
more trouble than they're worth. If these are ever reimplemented,
they need more careful attention to make portable.
* libtool.m4, ltconfig.in: Added a `--disable-static' flag to turn
off static library creation. From Tom Lees (who finally convinced
me that it was the Right Thing to do).
Tue Apr 22 12:41:34 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (hardcode_runpath_var, runpath_var): Use them, if
the linker has no -rpath flag.
Quote the values we use to set runpath_var and shlibpath_var.
(link): Use libobjlibs for libtool convenience libraries.
* ltconfig.in (hardcode_runpath_var, runpath_var): Add new
variables to describe linkers that honour `LD_RUN_PATH'.
(host_cpu, host_os): Use these more specific variables, rather
than the full canonical host system name.
* ltmain.sh.in (dlname): Distinguish between missing
`-export-dynamic' and when the library is only statically linked.
Mon Apr 21 09:52:51 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Trivial port to OpenBSD by making it an alias for
NetBSD. From Tim Pierce.
Wed Apr 16 19:32:05 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Temporary measures to check for a broken collect2
program. Right now, we just see if we're using GCC on AIX 3.
Sun Apr 13 19:40:58 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (mode): Use `egrep -e' when inferring the operation
mode.
Sat Apr 12 13:09:24 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (linker): Some GNU ld's don't accept `--version',
but do accept `-v'. From Jukka Honkela.
(ld_shlibs): AIX lossage may be settling down. AIX 3.2.5 ld does
*not* hardcode direct libraries, but AIX 4.1.[45] ld does.
Mon Apr 7 09:39:02 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in (hardcode_action): Fix silly logic error. From
Bruno Haible.
Sat Apr 5 11:26:06 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (install): Relink if hardcode_action is `relink',
rather than using complex conditionals based on the other
hardcode variables.
* ltconfig.in (hardcode_action): Set to `relink', not `immediate',
if we can only hardcode existing directories. Rearrange
conditionals to make the intent clearer, otherwise this can be one
hellish piece of code for the already-dizzy libtool maintainer.
Wed Apr 2 10:36:31 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* replfunc.m4: Delete from the distribution. Documentation now
describes how to set LTALLOCA and LTLIBOBJS in your own
configure.in.
* ltmain.sh.in (link): Make sure a libtool library only counts as
a shared library if its library_names are non-null.
Use timestamps for .lo's when PIC is turned off, rather than
symlinking to the real object. This helps invalid mixtures of PIC
and non-PIC to fail.
Tue Apr 1 10:01:20 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am (EXTRA_DIST): Distribute libtool.prj.
* Shameless plug: Changed source code management system from CVS
to PRCS.
* libtool.scm: Initial Guile implementation of libtool.
* ltmain.sh.in: An unexpected inconsistency in my whole approach
to shared libraries has proven that libtool needs to be completely
rewritten if I'm going to give full shared library support for
platforms that don't use the GNU C library version 2 (which to my
knowledge currently only works on GNU Hurd and Linux/GNU systems).
Porting the GNU C library should not be difficult, though.
Platforms that don't have the dlopen(3) family of functions will
need to install GNU DLD version 4 in order to build any kind of
libraries at all. Unfortunately, DLD 4 won't be released for a
while, because I maintain it, and I'm too busy working on libtool.
I'll keep the old ltconfig/ltmain.sh implementation around for as
long as I can, and continue applying bug fixes, so that I'll have
a reasonable starting point for this new libtool implementation.
It looks like this implementation will be even more complex than
the original (pre-0.7) libtool. Initial estimates show that it
may be up to 3 times slower, and 5 times larger than libtool-0.9.
I'll probably have to rewrite it in Guile to get reasonable
performance, which will severely limit its portability for a
while.
That will also introduce a bootstrapping issue, since the next
release of Guile will use libtool to build shared libraries. So,
if users want to have shared Guile libraries, they will have to
configure Guile with `--disable-shared', compile it, install it,
then reconfigure Guile with `--enable-shared' and repeat.
I was hoping to get libtool 1.0 out the door by early April, but
now it looks like it will take at least another year before it'll
be usable by the public at large. April fools. libtool.scm
doesn't exist yet, either.
* ltconfig.in (verify_host): Remove redundant `Transform *-*-linux*
to *-*-linux-gnu*'. From Bruno Haible.
Mon Mar 31 16:15:03 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Makefile.am: Use the new AUTOMAKE and ACLOCAL variables.
* ltmain.sh.in (link): Only fail if a convenience library doesn't
exist, and the user specified -whole-archive.
Fix shell quoting that was breaking @OUTPUT@ substitution.
Fri Mar 28 19:09:08 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Use the hardcode_libdir_separator.
Convenience libraries are libtool objects if we're not building
libtool libs.
* ltconfig.in (hardcode_libdir_separator): Added in case the
linker only honours the last of the -rpath flags (but it can
contain multiple colon-separated directories), such as on OSF/1.
Reported by Carl D. Roth.
* ltmain.sh.in (link): Set the dlname if -export-dynamic is given.
(install, uninstall): Handle the dlname file separately.
* ltconfig.in (export_dynamic_flag): Added to allow programs to
use reflexive dlopens.
* ltmain.sh.in: Include the mode name in any help messages.
(dlname): New mode to give the name to be used with dlopen(3).
* ltconfig.in (AR): Allow AR to be set by the user, and export it
to ltmain.sh.
* ltmain.sh.in: Remove broken profiled library support.
Added `-whole-archive' and `-no-whole-archive' to manipulate
convenience libraries.
Thu Mar 27 15:55:34 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Allow the creation of static convenience
libraries made of libtool objects. Suggested by David
Mosberger-Tang.
Tue Mar 25 08:38:23 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: On AIX, libtool also needs to look for `B' symbols
in nm output. These are global variable definitions.
* ltmain.sh.in: Linking with -static should link against the
linklib if old_library is empty (like it is on AIX).
* ltconfig.in: Change the order of OS detection, so that
linux-gnu* is detected before gnu*.
* Makefile.am (libtool): Use the correct CC, RANLIB, LD, when
generating libtool. From Carl D. Roth.
* configure.in: Find out the user-supplied CC, LD, RANLIB. From
Carl D. Roth.
Mon Mar 24 01:26:48 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Linking with -static should link against the old
library, not linklib.
* README-automake: Updated to point to Automake 1.1m.
Sat Mar 15 14:15:43 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* demo/main.c: Use it.
* demo/foo.h: Declare it.
* demo/foo.c: Added definition of `nothing' so that we have an
global variable definition, as well as functions.
Wed Mar 12 19:00:44 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Make sure either enable_shared or enable_static is
configured. Reported by Tom Tromey.
* ltmain.sh.in: Bomb out if no library types are configured.
Sat Feb 22 12:47:59 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in, ltmain.sh.in (hardcode_libdir_flag_spec): Renamed
from `hardcode_libdir_flag'.
(library_names_spec): Renamed from `lib_names'.
* ltconfig.in, ltmain.sh.in (hardcode_action): Change value from
`rpath' to `immediate'.
* replfunc.m4: Add AM_FUNC_ALLOCA, AM_FUNC_MEMCMP, and
AM_STRUCT_ST_BLOCKS.
Tue Feb 18 09:36:24 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support
old-style config.guess scripts.
Mon Feb 17 23:30:32 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Create objdir *before* linking a program into it.
Wed Feb 12 01:20:45 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Any ld --version that returns GNU is probably a GNU
ld. From Marcus Daniels.
* libtool.m4: Added AM_REPLACE_FUNCS.
Tue Feb 11 01:28:19 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible.
Mon Feb 10 09:54:07 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: AIX 3 and 4 ld only hardcodes LIBPATH if -L is not
specified. This behaviour is the same with both xlc and gcc.
Fri Feb 7 08:37:54 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* doc/platforms.texi: Yaay! We found a workaround for HP-UX
/bin/sh buffer overflows. From Eric Backus.
Mon Feb 3 11:15:01 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Release 0.9.
* PLATFORMS, doc/platforms.texi, Makefile.am, doc/Makefile.am:
Move PLATFORMS to doc/platforms.texi.
* ltmain.sh.in (link): Use hardcode_libdir_flag to get a library
directory into the resulting binary.
Use hardcode_action, and make many simplifying changes to have
compilation and finalization be consistent with each other.
* ltconfig.in: Not so amazing! It's AIX cc that hardcodes direct
libraries... gcc doesn't, though.
(link_rpath_flag): Change link_rpath_flag to be
hardcode_libdir_flag.
(hardcode_action): New variable to simplify ltmain.sh.
Wed Jan 29 12:58:00 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Change to take advantage of linkers that don't
hardcode direct libraries.
* ltconfig.in: Amazing! AIX 3 linker doesn't hardcode direct
libraries, which makes it less buggy than AIX 4. Reported by Mark
Kettenis.
* demo/configure.in: Check for the math library.
* demo/foo.c (foo): Change to use the `cos' function, so that we
need to link against another library.
Tue Jan 28 20:32:19 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Export the PATH variable in order to find
the program, rather than giving a full path. This helps give the
program a less confusing value for argv[0].
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
name to do a direct link.
(hc-libpath): Make allowances if shlibpath_var cannot be used
to find libraries at link time, such as on AIX.
* Makefile.am (demo_distfiles): Remove ansi2knr.1 and ansi2knr.c.
* demo/foo.c, demo/hello.c, demo/main.c: Change ANSI prototypes to
KNR form, for better portability, and less ansi2knr hair.
* demo/configure.in: Remove AM_FUNC_PROTOTYPES.
* demo/Makefile.am: Remove ansi2knr from the AUTOMAKE_OPTIONS.
* demo/ansi2knr.1, demo/ansi2knr.c: Removed these files.
* ltmain.sh.in: Use 1>&2 consistently to direct errors and
warnings to stderr.
(compile): Fix missing single quote.
* ltconfig.in (hardcode_direct): On Solaris at least, using
DIR/libNAME.so does not hardcode DIR, so introduce a new hardcode
variable to reflect that.
* ltmain.sh.in (link): If linking with $link_static_flag fails,
then retry without it, but still use the .a versions of
uninstalled libtool archives.
Wed Jan 15 08:59:22 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno
Haible.
* PLATFORMS: Add to distribution. Suggested by Bruno Haible.
Mon Jan 13 12:59:29 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Add support for SCO OpenServer 5.x.
(can_build_shared): Initialize at the top of the file, so that
shared libraries aren't built on platforms that don't support
them.
Sat Jan 11 13:29:08 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi:
Update the copyright completion years.
Wed Jan 8 15:01:06 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Port to IRIX 5.3, 6.2.
Mon Jan 6 08:54:00 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the
port is trivial.
* libtoolize.in: Add --dry-run option, -n for short.
Fri Jan 3 17:26:07 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't
understand "export something=val". From Bruno Haible.
Thu Jan 2 13:04:17 1997 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (compile): Recognize valid source file suffixes for
Fortran and C++.
Tue Dec 17 23:17:17 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid
object type suffixes, in spite of Automake's current ansi2knr
implementation. Not all compilers allow non-`.o' suffixes.
Mon Dec 16 20:16:35 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Delete the `libtool' version type.
Thu Dec 12 00:04:27 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Use the full autoconf syntax when checking for GNU
C. Delete library stripping program, until we have a correct
test.
Wed Dec 11 11:41:33 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From
ir. M.M. Kettenis.
Mon Dec 9 12:06:31 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
Reported by Charles Kerr:
* doc/libtool.texi (Creating Object Files): Doc fix independant ->
independent.
* ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library
dependencies.
Sun Dec 8 14:39:04 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* Release 0.7.
* Makefile.am (EXTRA_DIST): Add README-automake to the
distribution.
* ltmain.sh.in (link): When linking libtool libraries, use
standard objects if they are PIC. This prevents spurious warnings
about invalid suffixes on AIX.
* demo/Makefile.am: Rename libhell to libhello, so that we're not
quite as offensive.
* ltconfig.in: Remove unnecessary host validity checking.
* ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la
is good enough (for consistency with *.a handling).
Sat Dec 7 12:31:15 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Accept files ending in .a as standard
object files. Reported by Ulrich Drepper.
Remove support for creating profiled libraries (for now).
Transform all library objects into standard objects when linking a
program.
* ltconfig.in (thisdir): How embarrassing! An error in the regexp
for finding the directory component of the script path.
Thu Dec 5 14:19:21 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (compile): Support `.S' (preprocessed assembler)
files. Reported by Anthony Green.
* libtoolize.in: Give clearer instrutions for how to update
aclocal.m4.
* ltconfig.in, ltmain.sh.in (link): Add support for creating
reloadable objects.
Wed Dec 4 00:42:53 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (install): Fix passing -n flag to `libtool
--finish'.
(compile): Compile `.lo' and `.o' objects at the same time so that
non-PIC objects (if they are available) can be used for linking
into programs and creating static archives. Suggested by Ulrich
Drepper.
Tue Dec 3 10:43:22 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (link): Give the full path to the libtool library
when sourcing it.
* ltconfig.in (old_striplib): Do a configuration test to determine
if old-style libraries actually can be stripped or not.
Mon Dec 2 13:57:28 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Delete reference to ABOUT-LIBS.
* tests: Added new subdirectory.
* doc/libtool.texi: Doc fixes, and finished up the Configuring
chapter.
* ltmain.sh.in (link): Allow *._o and *.l_o to be valid object
file suffixes, for Automake's ansi2knr implementation.
New option -version-info replaces -version-file.
[help]: Give a pointer to mode-specific help when appropriate.
* ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC.
* demo: Also test Automake's ansi2knr support.
Tue Nov 19 14:09:27 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Bug fixes for AIX 4, and for static platforms.
* ltmain.sh.in (install): Fix for loops over arguments.
Need to quote ${IFS= } -> "${IFS= }".
(link): Fix soname_spec bug. Create objdir whether or not we have
shared libraries.
* ltconfig.in: Check for library stripping program.
Use test -f instead of test -e.
Mon Nov 18 20:10:42 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't
set.
Be verbose about the environment variables we were configured
with.
* ltmain.sh.in (objdir): change to .libs.
Sat Nov 16 12:02:03 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in (install): Just plunge ahead with the
installation... don't try to enforce dependencies.
Fri Nov 15 17:57:36 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh.in: Fix up $libdir to be $dest in install mode.
Sun Nov 10 13:08:04 1996 Gordon Matzigkeit <gord@gnu.ai.mit.edu>
* ltmain.sh: Finished rewrite of compile, link, and install
modes.
* New ChangeLog file for libtool-0.7, since I've totally rewritten
libtool.
Fri Mar 15 14:21:15 1996 Gord Matzigkeit <gord@gnu.ai.mit.edu>
* For historical reasons: this is when I started writing libtool.