* 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.
Jeff Squyres [Fri, 23 Jan 2004 05:48:31 +0000 (05:48 +0000)]
Cheeky commit to pre-emptively update the NEWS file, the actual ChangeLog
entries are in each patch, but seeing as CVS doesn't do atomic commits
anyway, it's not really that important.
Jeff Squyres [Thu, 22 Jan 2004 19:11:44 +0000 (19:11 +0000)]
* libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers (e.g. Intel
Linux icc compiler) write temporary files to the current
directory. These compilers do support -c and -o simultaneously but
wrongly fail the test due to the failure to create temporary
files. It is incorrect to penalize compilers which write temporary
files to the current directory so the 'chmod -w .' is therefore
removed.