Gary V. Vaughan [Sun, 9 Jan 2005 13:48:56 +0000 (13:48 +0000)]
* m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4,
m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says,
'I think the [license of autoconf macro files] should be:
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is
# preserved.'.
Peter O'Gorman [Sun, 9 Jan 2005 02:29:47 +0000 (02:29 +0000)]
* config/ltmain.m4sh (func_extract_archives,func_extract_an_archive):
On darwin, uniq can not take the flags -cd together, thanks to Ralf
for the fix, also ar does not accept N, so we use the fact that
ar x libfoo.a foo.o will always extract the first foo.o in the
archive and we then delete foo.o from the archive, which will also
delete only the first foo.o, then rinse and repeat.
Ralf Wildenhues [Thu, 30 Dec 2004 12:03:05 +0000 (12:03 +0000)]
* config/getopt.m4sh (func_version, func_usage, func_help):
Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot
handle the latter.
(func_help): start autoconf and automake in subshells to avoid
error messages from ash or Bourne shell if not available.
Ralf Wildenhues [Tue, 28 Dec 2004 13:50:58 +0000 (13:50 +0000)]
* Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh,
config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift'
for portability. tests/sh.test: Test for this.
Ralf Wildenhues [Tue, 28 Dec 2004 13:30:45 +0000 (13:30 +0000)]
* libtoolize.m4sh, config/ltmain.m4sh (most functions):
New variable $opt_debug is either `:' or `set -x' depending on --debug.
Execute at most function entries to cater for ksh which resets `-x'.
* tests/defs.m4sh: Ditto for VERBOSE=debug.
Ralf Wildenhues [Tue, 28 Dec 2004 12:54:18 +0000 (12:54 +0000)]
* config/ltmain.m4sh (func_extract_archives): Not all shells grok
`read -r' (unnecessary in this case).
Reported by Ralf Menzel <menzel@ls6.cs.uni-dortmund.de>.
Ralf Wildenhues [Tue, 28 Dec 2004 12:40:10 +0000 (12:40 +0000)]
* config/general.m4sh: New variable quote_scanset..
(func_quote_for_eval, func_quote_for_expand) ..use it to work around
SunOS ksh `case' backslash-escaping bug: protect character class by
variable expansion. Reported by Alexander Kurz <alexander.kurz@qsc.de>.
Ralf Wildenhues [Mon, 20 Dec 2004 13:09:07 +0000 (13:09 +0000)]
* libtoolize.m4sh: Install `install-sh' as well, needed for configure ..
* Makefile.am, Makefile.maint: .. install, update it.
* NEWS, doc/libtool.texi (Distributing): .. document it.
Reported by Ross Boylan <ross@biostat.ucsf.edu>.
Ralf Wildenhues [Mon, 20 Dec 2004 08:15:36 +0000 (08:15 +0000)]
* m4/libtool.m4 [solaris] (_LT_LINKER_SHLIBS): Add '${wl}-z ${wl}text'
to archive_cmds and archive_expsyms_cmds. I.e., do not allow nopic in
shared libraries.
Ralf Wildenhues [Mon, 20 Dec 2004 08:06:47 +0000 (08:06 +0000)]
* m4/libtool.m4 [solaris] (_LT_LINKER_SHLIBS): Change no_undefined_flag
back to ' -z defs'. Problems with linking against libgcc.a will have
to be resolved differently.
Bob Friesenhahn [Mon, 13 Dec 2004 19:28:40 +0000 (19:28 +0000)]
* libltdl/Makefile.am (libdlloader_la_SOURCES): Remove lt__strl.c
from default build files.
* m4/ltdl.m4 (LTDL_INIT): Arrange to build lt__strl.c only when
needed.
* libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG):
Append -G to link command-line on AIX to honor -brtl on command-line
(runtime linking). Already done for IBM C/C++ compilers.
Bob Friesenhahn [Mon, 13 Dec 2004 15:16:32 +0000 (15:16 +0000)]
* libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to
emulate strlcat and strlcpy, which support size-bounded string
copying and concatenation for improved security.
* libltdl/Makefile.am (libdlloader_la_SOURCES): Build source files
libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h.
* m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy.
* config/ltmain.m4sh: Preserve -model [arg] option, used
with the Tru64 UNIX C++ compiler. This option selects the
layout of C++ classes, name mangling, and exception handling.
Ralf Wildenhues [Mon, 29 Nov 2004 21:11:26 +0000 (21:11 +0000)]
* m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with
the `diet' compiler wrapper (as opposed to the `diet-dyn'
wrapper) as a static-only platform.
* NEWS: Updated.
Ralf Wildenhues [Mon, 29 Nov 2004 20:58:55 +0000 (20:58 +0000)]
* m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we
have a dlloader to preload.
* libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only
declare preloaded_symbols then. Fixes libltdl on static platforms.
* NEWS: Updated.
Ralf Wildenhues [Sun, 28 Nov 2004 19:54:25 +0000 (19:54 +0000)]
* config/ltmain.m4sh (func_mode_link): $dlsymsobj is really
$symfileobj, bug exposed only in the static preloading case
(symfileobj is created, but not linked into output).
Bob Friesenhahn [Sun, 28 Nov 2004 00:41:35 +0000 (00:41 +0000)]
* config/ltmain.m4sh: Add fully-qualified paths to temp_rpath
rather than unqualified paths in order to avoid possible errors
when computing the fully-qualified path later.
Gary V. Vaughan [Wed, 24 Nov 2004 14:39:00 +0000 (14:39 +0000)]
If the user's login shell is something crazy like, oooh,
/bin/tcsh, trying to execute bourne shell helper scripts with
the `$SHELL /path/to/helper $helper_flags' idiom incase the
execute bits were lost by say, eeer, cvs, is gonna blow up in
our faces. This changeset tries to save these people from
their shells^H^H^H^H^H^H^H^H^Hmselves :->
Gary V. Vaughan [Tue, 23 Nov 2004 16:01:31 +0000 (16:01 +0000)]
The ltdl.h header is the published interface to libltdl, and
is thus not installed to $prefix/include/libltdl. It has always
been used with `#include <ltdl.h>', so move just that one file
back to where it was before:
* libltdl/libltdl/ltdl.h: Moved from here...
* libltdl/ltdl.h: ...to here.
* libltdl/Makefile.am: Adjust.
Peter O'Gorman [Tue, 23 Nov 2004 12:47:19 +0000 (12:47 +0000)]
Do not require that libtoolize --ltdl=/some/path end in libltdl. Move
most libltdl headers to libtldl/libltdl to allow
#include <libltdl/ltdl.h> to always work.
* libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes
in the new location.
* libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h,
libltdl/libltdl/slist.h: Added files, moved from libtdl/.
* libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h,
libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h,
libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved
to libltdl/libltdl.
Ralf Wildenhues [Wed, 17 Nov 2004 15:24:44 +0000 (15:24 +0000)]
* m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
[aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience'
so convenience libs are really added to the link cmdline.
Gary V. Vaughan [Wed, 10 Nov 2004 13:20:52 +0000 (13:20 +0000)]
From James Henstridge <james@jamesh.id.au>:
* m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out
empty macro definitions to match each AU_DEFUN to help aclocal
from automake-1.4 regexps find the right libtool macro files.
James E Wilson [Wed, 10 Nov 2004 10:13:13 +0000 (10:13 +0000)]
* config/ltmain.m4sh (func_mode_link), tests/Makefile.am,
Fix error message with `-objectlist' file that does not exist.
tests/objectlist.test: New test for this.
Ralf Wildenhues [Tue, 9 Nov 2004 19:20:03 +0000 (19:20 +0000)]
* doc/libtool.texi (Compile mode, Link mode,
Libltdl interface, Test descriptions, libtool script
contents): Some quote cleanup, more use of texinfo types.
Peter Ekberg [Mon, 1 Nov 2004 17:25:55 +0000 (17:25 +0000)]
Sometimes, a wrapper script is generated for an executable that,
itself, does not link against an uninstalled library. It appears
that this can happen if you are building a project where:
(1) there is a library
(2) there is an executable that does not, itself, link against
that library
In this case, notinst_deplibs is empty, and when the wrapper
script is loaded by libtool during ./libtool mode=install, there
is a check for "is notinst_deplibs empty". In this case, it is,
so libtool reports an error.
I don't think it is wrong to have a wrapper script for an exe that
*technically* doesn't need it. But instead of checking for
notinst_deplib nonempty as a proxy for "did wrapper script get
sourced into my environment properly" a different var should be
used.
* config/ltmain.m4sh (func_mode_install): set new variable
`generated_by_libtool_version' in wrapper script when using
libtool_install_magic. When verifying that wrapper script was
properly sourced, check that `generated_by_libtool_version' is
non-empty, instead of using notinst_deplibs.
Charles Wilson [Mon, 1 Nov 2004 15:05:23 +0000 (15:05 +0000)]
* config/ltmain.m4sh (func_mode_install): On Windows based hosts,
ensure that import libraries don't get stripped.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts,
use postinstall_cmds to strip DLL (not import lib!) when symbol
stripped installation was requested.
Gary V. Vaughan [Fri, 22 Oct 2004 17:25:35 +0000 (17:25 +0000)]
* clcommit.m4sh: Updated again, to support file list limited
commits to CVS, and to fix another occurence of the bash bug
that was preventing non-tla users from sending a commit mail.
Gary V. Vaughan [Fri, 22 Oct 2004 07:15:30 +0000 (07:15 +0000)]
* AUTHORS: Reformatted to better reflect the current state of
Libtool maintainership.
* THANKS: Reformatted to give maintainers a quick way to look
up who has supplied FSF paperwork.
Noah Misch [Thu, 21 Oct 2004 16:51:07 +0000 (16:51 +0000)]
* config/general.m4sh (sed_double_backslash): Improve this sed
expression to correct left anchored $ input to
double_quote_subst, as well as backslash escaped $ preceded by
any odd-numbered amount of characters.
Gary V. Vaughan [Wed, 20 Oct 2004 20:50:53 +0000 (20:50 +0000)]
* config/general.m4sh (sed_double_backslash): New sed expression
to escape $ properly in combination with double_quote_subst.
(func_quote_for_eval): Four space indent margin for functions!
(func_quote_for_expand): Use $sed_double_backslash.
(func_show_eval): New function that echos an escaped but variable
expanded command, and then evaluates it.
Noah Misch [Wed, 20 Oct 2004 08:41:34 +0000 (08:41 +0000)]
* m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes
from the match character set.
(double_quote_subst): Ditto.
* lib/general.m4sh (sed_quote_subst): Ditto.
(double_quote_subst): New variable, copied from
m4/libtool.m4. Much the same as sed_quote_subst, but variable
references are not quoted.
(func_quote_for_eval): Given any $foo; $bar and
$foo must be identical after the following commands:
func_quote_for_eval "$foo"
eval "bar=$func_quote_for_eval_result"
(func_quote_for_expand): In a similar vein to to func_quote_for_eval,
except that variable expansions are not protected when quoting the
command for subsequent display.
* config/ltmain.m4sh: Factor away use of $sed_quote_subst now that
it has been subsumed into func_quote_for_eval.
(func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below,
use func_quote_for_expand so that ${wl} is expanded properly in
the $show expression.
Peter O'Gorman [Thu, 14 Oct 2004 14:13:38 +0000 (14:13 +0000)]
* config/ltmain.m4sh: Revert most of my last commit, only eval
$show "$cmds", and only when building a library. I'm a wimp.
Thanks Gary for pointing out errors in previous commit.
Gary V. Vaughan [Wed, 13 Oct 2004 15:34:09 +0000 (15:34 +0000)]
* tests/cdemo-undef.test: New test for hosts that allow shared
libraries with undefined symbols, but have no C++ compiler
installed.
* tests/Makefile.am (COMMON_TESTS): Add it.
Charles Wilson [Wed, 13 Oct 2004 13:47:54 +0000 (13:47 +0000)]
* config/ltmain.m4sh: add foo/bin for every foo/lib
in dllsearchpath when creating wrapper script. Fixes
depdemo-relink test failure.
* config/ltmain.m4sh (func_mode_link): don't relink
on cygwin/mingw; no need. But do ensure that wrappers
are created unless doing a purely static build.