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.
Bob Friesenhahn [Sun, 10 Oct 2004 23:24:39 +0000 (23:24 +0000)]
* config/getopt.m4sh: Under MinGW, reported paths may include ':'
so ':' should not be used as the sed delimiter. Use '*' instead
since it is very unlikely to appear in a path.