* config/ltmain.in (func_mode_link): When linking an installed
libtool library on the command line using -lfoo we need to find
the library in the search paths and add it's dependency_libs to
the link in the conv pass so that any libtool libs listed are
correctly expanded in the link pass.
* libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): The linker
distinguishes data and code symbols on linux-gnu/ia64. Fixes
multiple testsuite failures. Backport from 1.9c.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* demo/Makefile.am, pdemo/Makefile.am: Use per-target CFLAGS
only for the Libtool-built objects, so that automake won't
complain about missing AM_PROG_CC_C_O but still compile Libtool-
and non-Libtool objects into different names.
Peter O'Gorman [Thu, 12 Aug 2004 12:29:19 +0000 (12:29 +0000)]
* configure.ac, libtool.m4: Ensure that a c++ compiler exists before
checking for the c++ preprocessor. Apparently reported by multiple
people, multiple times.
Peter O'Gorman [Wed, 4 Aug 2004 14:12:05 +0000 (14:12 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may
not actually be set, we should use SHELL here, also make darn sure
that SHELL is set to something. Bug from Willem Jan Palenstijn
<wpalenst@math.leidenuniv.nl>.
Peter O'Gorman [Fri, 30 Jul 2004 13:16:56 +0000 (13:16 +0000)]
* libtool.m4 [darwin]: $GREP is not defined here, use $EGREP.
* ltmain.in (func_extract_archives): Backport func_extract_archives
from cvs HEAD to reduce code size and enable the darwin fat archive
extraction.
Peter O'Gorman [Wed, 5 May 2004 13:18:42 +0000 (13:18 +0000)]
* libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space
around = for a test and a comma between runpath_var and $1. Bug
reported by Max Bowsher.
Gary V. Vaughan [Mon, 19 Apr 2004 12:53:36 +0000 (12:53 +0000)]
* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and
newer adds predep_objects and postdep_objects itself, so don't
duplicate them in $archive_cmds and $archive_expsym_cmds.
* NEWS: Updated.
Reported by Roberto Bagnare <bagnara@cs.unipr.it>
* ltmain.in <prog linkmode>: Always add -L options to
$newlib_search_path instead of just in scan mode to ensure that
non-libtool libraries in user-specified directories can be found.
Gary V. Vaughan [Sun, 22 Feb 2004 16:23:48 +0000 (16:23 +0000)]
* Makefile.am (web-manual): Generate the web manual carefully
so that links will still work when it is uploaded to gnu.org.
* README-alpha: Note that this rule should be used at release
time.
* ltmain.in, libtoolize.in, commit, mailnotify: Remove
$SED from definitions of $dirname and $basename and prefix each
use with it instead. Some shells (zsh) treat the expansion as
a single command instead of a command with arguments.
* mailnotify (func_sendmail): Look for sendmail in a
* ltmain.in (progpath): Work around backward compatibility issue
on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked
as "sh" and the current value of the _XPG environment variable is
not equal to 1 (one), the special positional parameter $0, within
a function call, is the name of the function. So, rather than
using "$0" in functions, we set $progpath in the body and use that
everywhere instead (incase of code refactoring later).
(EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity.
Peter O'Gorman [Wed, 4 Feb 2004 14:25:55 +0000 (14:25 +0000)]
* ltmain.in (infer_tag): Move tag inferrence to a shell function.
Also test $base_compile against $CC with escaped arguments. Bug
reported by Geoff Keating <geoffk@apple.com>.
* Makefile.am (install-data-hook): Manually make config.guess
and config.sub executable after they are installed as _DATA.
We can't use _SCRIPTS because the various program name
transforms may be applied to them.
(pkgdata_DATA): List config.guess and config.sub here
(pkgdata_SCRIPTS): instead of here.
* ltmain.in: Create temporary directory under a strict umask
rather than running chmod afterwards, preventing a race
condition where the directory could be replaced with a symbolic
link in the time between the two commands.
Paul Eggert [Tue, 3 Feb 2004 19:55:29 +0000 (19:55 +0000)]
Scott James Remnant <scott@netsplit.com>
* libtool.m4 (_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS):
Replace needless uses of egrep with grep as egrep may not exist,
POSIX no longer mandates it.
* ltmain.in: Replace use of 'grep -E' with '$EGREP -e' in case
egrep is the only thing that exists.
This fixes release procedure problems discovered whilst making
the 1.5.2 release.
* Makefile.am (cvs-dist): Because we check whether ChangeLog
has been committed, this rule can't be run with uncommitted
source so we can't run 'commit' and don't need to run
'make dist' a second time. Fix CVS tag as it should be
"release-X" not "Release-X".
(cvs_commit): New rule for the cvs-release chain that runs
'commit'
(cvs-release): Depend on cvs-commit, depend on deltas instead of
cvs-diff and xdelta.
(cvs-diff): Removed, replaced with delta-diff.
(delta-diff): Unpack and diff the old and new tarballs rather
than using CVS, so we get a genuinely complete diff.
(xdelta): Removed, replaced with delta-xdelta.
(got-xdelta): New rule for improved reading.
(delta-xdiff): Copied and cleaned up version of old xdelta rule.
(deltas): Depends on delta-diff and delta-xdelta (make deltas).
(cvs-news): Don't depend on timestamps, cvs-dist itself does now.
(prev-tarball): This is the only place we need a LASTRELEASE check
so copy the code here and remove the CHECK_RELEASE variable.
(new-tarball): Check there's a new tarball (did cvs-dist work?)
* README-alpha: Update CVS instructions as everything's changed
on Savannah, remove references to bz2 as we don't generate those
on branch-1-5.
(Release procedure): Update NEWS and ChangeLog after changing
the version number (both times); Run 'make fetch' after running
'configure' (difficult to do it beforehand); Require 'commit'
before 'make cvs-dist' as that checks ChangeLog is committed;
'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
to make instead of OLDVERSION (and it's mandatory); Clean up
uploading paragraph; Clearer announcement sending instruction;
Removed ftp-upload@gnu.org mail as that's not necessary now;
Make web page updating instructions a bit clearer; Add an instruction
to update the manual for non-alphas.
(Alpha release note template): Add a Subject; update CVS instructions.
(Full release note template): Add a Subject; update CVS instructions.
* configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
about bz2 files in our release announcements.
* configure.ac: Bumped version to 1.5.2 in accordance with the
new versioning scheme.
* NEWS: updated.
* config.guess, config.sub, texinfo.tex: Synchronized from
ftp.gnu.org.
* libtool.m4 (AC_LIBTOOL_CONFIG): Don't attempt to
make ltmain.sh unless there's an ltmain.in to do it with.
This prevents make/configure loops caused by Automake's
dependency rules.
Kevin P. Fleming [Fri, 23 Jan 2004 06:04:39 +0000 (06:04 +0000)]
Charles Wilson <cygwin@cwilson.fastmail.fm>
* ltmain.in: include --tag options, if specified, in the
relink_command in uninstalled .la files. Also, preserve --silent,
--debug options when libtool re-execs itself.
* NEWS: Updated.
Owen Taylor [Fri, 23 Jan 2004 06:04:07 +0000 (06:04 +0000)]
* m4/libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Recognise the
'R' symbol type so read-only symbols can be exported when combining
GCC and Solaris LD.
* ltmain.in: When relinking, place the -L parameter containing
the installation prefix directory after the intended destination,
so we don't accidentally link against an older installed library.
* ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs
and $finalize_deplibs for programs) when found on the command line
or in a .la file's dependency_libs (but don't place them there) so
they are honoured when linking both programs and libraries.
* ltmain.in: In compile mode, delay parsing of -shared, -static,
-prefer-pic and -prefer-non-pic until after tagged configuration
has been read. In link mode, read tagged configuration before
parsing any arguments. These arguments will now work when using
a non-C compiler.
* ltmain.in: Don't use the mkdir -p option when creating a
temporary output directory so a symlink attack can't be used to
arbitrarily chmod other directories on the system if libtool
gets run as root.
* ltmain.in: new -precious-files-regex link mode option
to prevent removal of matching files from the temporary
output directory.
(Debian Bug #221420)
* doc/libtool.texi: document the new option.
* NEWS: announce the new option.