* 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.
Gary V. Vaughan [Wed, 12 Nov 2003 18:52:00 +0000 (18:52 +0000)]
The rules for uploading releases to gnu.org have been updated, and
are in fact now rather complicated. This delta updates the
release instructions to the describe the new process, and updates
the maintainer rules to help automate many of the steps:
* README-alpha: Updated release instructions.
* Makefile.am (GPG): Name of the program for generating signatures
for files to be uploaded.
(XDELTA, XDELTA_OPTIONS): Invocation of xdelta.
(cvs-dist): Run distcheck before tagging the cvs tree incase
distcheck fails, and then generate the gpg signature files.
(cvs-diff): Generate the gpg signature files for the diff.
(xdelta): New rule for generating the xdelta diffs and associated
gpg signature files.
(cvs-release): New rule to do all of the above, if you don't mind
typing your gpg passphrase over and over again. :-)
(fetch): New rule inspired by automakes similar rule for updating
files maintained outside the project.
* config.guess, config.sub, doc/texinfo.tex: Updated with the new
fetch rule.
Bob Friesenhahn [Fri, 17 Oct 2003 03:57:34 +0000 (03:57 +0000)]
* libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL
check method back to a working objdump-based test. This is not as
concrete a test as using the 'file' command, but it does not
require that the 'file' command be available.
* libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for linux*
solving many build problems on ARM, and hopefully preventing any
future ones.
(Debian Bug #191133 and #190569)
Peter O'Gorman [Wed, 10 Sep 2003 15:12:57 +0000 (15:12 +0000)]
* mdemo2/configure.ac: Use AC_LIBTOOL_DLOPEN.
* mdemo2/main.c: Use LTDL_SET_PRELOADED_SYMBOLS().
* mdemo2/Makefile.am: Set INCLUDES properly and add -dlopen force
to make sure the symbols file is included in the link line.
Jim Pick [Tue, 5 Aug 2003 16:29:48 +0000 (16:29 +0000)]
Much as we have tried not to make it the callers' responsibility
to maintain an lt_dlrealloc function pointer, it is too difficult
to implement realloc as malloc/memcpy/free without knowing the
size of the original block. rpl_realloc has been deprecated since
2002-10-30, but kaffe has real failures with that so it's time to
bite the bullet. Caller gets to maintain lt_dlrealloc:
* NEWS (1.5.1): Updated.
* libltdl/ltdl.c (LT_DLREALLOC): Use lt_dlrealloc so the user can
update the function pointer to match lt_dlmalloc.
(lt_emalloc): Use lt_dlrealloc rather than hardcoding realloc.
* doc/libtool.texi (Libltdl interface): Describe lt_dlrealloc now
that it too has become part of the exported interface to libltdl.
Peter O'Gorman [Fri, 1 Aug 2003 19:08:35 +0000 (19:08 +0000)]
* libtool.m4 (darwin): Use "-undefined dynamic_lookup" if the
user set MACOSX_DEPLOYMENT_TARGET to 10.3 or greater.
* libltdl/ltdl.c (dyld): Save the error from the first lookup
to report in lt_dlerror(). Otherwise the error is always
"Symbol _foo not in /usr/lib/libSystem.dylib".
Thanks to Chris Zubrzycki for reporting this.
Robert Millan [Wed, 30 Jul 2003 16:06:59 +0000 (16:06 +0000)]
* libtool.m4: More fixes for the new GNU/FreeBSD triplet.
* config.guess, config.sub: Synchronized from ftp.gnu.org since
Robert Millan's patch requires it.
* libtool.m4: Fixed to use the new GNU/FreeBSD triplet.
* ltdl.m4: Fixed to use the new GNU/FreeBSD triplet.
* ltmain.in: Remove GNU/FreeBSD cases, which are no longer needed.
* libtool.m4 (_LT_AC_LOCK): Also match powerpc64-*linux* in
addition to ppc64-*linux*. From Markus Meissner
<meissner@suse.de>.
* libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): For AmigaOS with pdksh,
set the maximum command line length to 8K since otherwise the test
takes over an hour to run.
Alexandre Oliva [Thu, 26 Jun 2003 06:55:26 +0000 (06:55 +0000)]
* libtool.m4: Replace mis-uses of path with pathname.
(AC_PROG_LD_GNU): Don't quote $LD when running it.
(_LT_AC_LANG_CXX_CONFIG): Use -nostdlib also when linking with g++
and non-GNU ld.
* tests/defs, tests/demo-conf.test, tests/demo-nofast.test,
tests/demo-nopic.test, tests/demo-pic.test,
tests/demo-shared.test, tests/demo-static.test,
tests/depdemo-conf.test, tests/depdemo-nofast.test,
tests/depdemo-shared.test, tests/depdemo-static.test:
Pass build system type to tests to support environment
where default system type not equal to build system type
(eg. 64-bit HP-UX).
Peter O'Gorman [Tue, 3 Jun 2003 15:35:53 +0000 (15:35 +0000)]
* libtool.m4 (darwin): Remove checks for Apple-specific gcc.
* libltdl/ltdl.c (HAVE_MACH_O_DYLD_H): #define
__private_extern__ for fsf gcc.
* ltmain.in (darwin): Only add new paths to newlib_search_path.
Robert Boehne [Mon, 2 Jun 2003 04:42:52 +0000 (04:42 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match all qnx-nto
as recent config.guess returns a slightly different string.
* ltmain.in: Replace use of "od" with tr.
* libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all
mips*-linux* variants.
* libtool.m4 Switch on $CC and add paterns to cases.
* libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check
to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the
value of shlibpath_overrides_runpath is used in the HARDCODE
test and is set in the DYNAMIC_LINKER test.
* ltmain.in(darwin): We never need to relink on darwin.
* libtool.m4 Switch on $CC and add paterns to cases.
Robert Boehne [Mon, 14 Apr 2003 22:48:01 +0000 (22:48 +0000)]
* NEWS: Updated.
* configure.ac: Bumped version to 1.5a.
GNU libtool 1.5 was released.
* configure.ac: Bumped version to 1.5.
* NEWS: updated.
* README: Changed typo in version description.
* config.guess, config.sub, texinfo.tex: Synchronized from
ftp.gnu.org.
Peter O'Gorman [Sat, 5 Apr 2003 19:32:58 +0000 (19:32 +0000)]
* libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so
libtool works. Remove zsh echo test code, don't bother checking
for zsh anymore in the darwin archive_expsym_cmds.
Keith Packard [Mon, 31 Mar 2003 17:36:01 +0000 (17:36 +0000)]
* ltmain.in: New flag -version-number to be used for maintaining
compatability with a previously non-Libtool versioning scheme.
* doc/libtool.texi: Document it.
Albert Chin [Mon, 31 Mar 2003 15:44:14 +0000 (15:44 +0000)]
* ltmain.sh: Don't pass -R flags found in a .la's dependency_libs
variable directly down to the linker.
Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
Richard Dawe [Sat, 29 Mar 2003 05:06:46 +0000 (05:06 +0000)]
* Makefile.am: Define CONF_SUBDIRS.
* tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP,
which requires its config.site, to work correctly.
* tests/cdemo-conf.test, tests/cdemo-shared.test,
tests/cdemo-static.test, tests/demo-conf.test,
tests/demo-nofast.test, tests/demo-nopic.test,
tests/demo-pic.test, tests/demo-shared.test,
tests/demo-static.test, tests/depdemo-conf.test,
tests/depdemo-nofast.test, tests/depdemo-shared.test,
tests/depdemo-static.test, tests/f77demo-conf.test,
tests/f77demo-shared.test, tests/f77demo-static.test,
tests/mdemo-conf.test, tests/mdemo-shared.test,
tests/mdemo-static.test, tests/pdemo-conf.test,
tests/tagdemo-conf.test, tests/tagdemo-shared.test,
tests/tagdemo-static.test: Don't set CONFIG_SITE, now that
tests/defs sets it.
* tests/cdemo-exec.test, tests/demo-exec.test,
tests/demo-inst.test, tests/depdemo-exec.test,
tests/depdemo-inst.test, tests/f77demo-exec.test,
tests/mdemo-exec.test, tests/mdemo-inst.test,
tests/pdemo-exec.test, tests/pdemo-inst.test,
tests/tagdemo-exec.test: When checking for the existence
of executables, use the executable file extension from $EXEEXT.
Peter O'Gorman [Sat, 22 Mar 2003 06:34:27 +0000 (06:34 +0000)]
* README: Remove "Important" information about patching automake.
* configure.ac: Fix misapplied patch in last commit
* libtool.m4 (darwin): Check compiler is apple gcc, add -single_module
support so that dyloading c++ shared libraries will work.
* libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that
it will work outside of libtool.
* doc/PLATFORMS: Add darwin
* f77demo/configure.ac: Add config.h which was misapplied previously.
Peter O'Gorman [Thu, 20 Mar 2003 20:24:21 +0000 (20:24 +0000)]
* ltmain.in: Always use $echo not echo for consistency.
Changes for darwin building. Warn if linking against libs linked
with -module. Use module_cmds if available and building a module,
move convenience double lib check,
* libltdl/ltdl.c: ltdl support for darwin (first blush)
* libltdl/README: note that darwin is supported
* ltdl.m4: Changes for darwin, and for new shrext
* libtool.m4: Changed the way darwin builds stuff (make check passes)
added module_cmds, module_expsym_cmds and hardcode_automatic and put
them in the libtool script. check for zsh's removal of escapes. Allow
libraries to be stripped on darwin.
* TODO: Remove the todo about zsh's removal of excapes. note that zsh
echo works perfectly well, eval is screwed up. Seems to be fixed in
latest zsh.
* THANKS: added self :)
* f77demo/configure.ac: Use config.h or it doesn't work.
Robert Boehne [Thu, 20 Mar 2003 18:02:05 +0000 (18:02 +0000)]
* libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that
adds tags to the libtool script so that they won't run when not
needed.
* configure.ac: Set F77 to no when no Fortran compiler is found.
Alexandre Oliva [Sun, 2 Mar 2003 10:13:46 +0000 (10:13 +0000)]
* libtool.m4 (AC_PROG_LD): Use $CC instead of GCC.
(_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD,
and reset them for a C++ environment. Use the with_gnu_ld setting
from AC_PROG_LD.
Robert Boehne [Tue, 25 Feb 2003 00:30:28 +0000 (00:30 +0000)]
* libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place
auxilary files in the libltdl directory.
* Makefile.am: Add to the ltmain.sh rule to copy it into the
libltdl subdirectory.
* bootstrap: Explicitly handle ltmain.sh in libltdl, and pass
--copy to automake.
Peter O'Gorman [Sun, 23 Feb 2003 23:49:34 +0000 (23:49 +0000)]
* libtool.m4 (darwin): Revamp darwin platform support.
* ltdl.m4 (darwin): Support dlcompat if found.
* ltmain.in: Make sure ranlib is run if needed when piecewise
linking.
* ltmain.in (--help): Show mailing-address for bug reports.
(--version): Mention only the most recent copyright year.
* libtoolize.in (--help): Show mailing-address for bug reports.
(--version): Mention only the most recent copyright year.
Alexandre Oliva [Wed, 19 Feb 2003 23:27:46 +0000 (23:27 +0000)]
* libtool.m4: Use linux version_type on IRIX with GNU ld.
Prefix -soname, -set_version and their arguments with ${wl}. Add
-melf* linker scripts to LD, and use them to determine libsuff,
shlibsuff and libmagic.