* 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.
Ralph Schleicher [Mon, 17 Feb 2003 21:14:24 +0000 (21:14 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to
the value of the shrext (aka shared_ext) variable and delete it
from the library_names_spec and soname_spec definitions. That
way the user can omit the shared library suffix by setting it
to the empty string.
(AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for
the KCC compiler.
* doc/libtool.texi (Link mode): Update the manual.
Robert Boehne [Thu, 6 Feb 2003 04:51:20 +0000 (04:51 +0000)]
* libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in
the math library rather than 'main', it causes problems for
C++ compilers with certain Auto* tools.
(AC_LIBLTDL_INSTALLABLE): ditto.
* libtool.m4 (_LT_AC_LANG_CXX_CONFIG)
(AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so
that the format string cannot be mistaken as an option.
Reported by Martin MOKREJS.
Charles Wilson [Wed, 29 Jan 2003 04:53:18 +0000 (04:53 +0000)]
* ltmain.in: add code for a binary wrapper
to use with uninstalled executables on cygwin/mingw.
Make sure that --mode=clean gets shell wrapper and
binary wrapper. When sourcing the shell wrapper,
invoke using a terminal `.' on cygwin/mingw to
avoid the automatic append-.exe behavior.
* libtool.m4, ltmain.in: Add support for hppa*64* based on
a patch by Ross Alexander <ross.alexander@uk.neceur.com>.
Credit to Ross! Use +b to hardcode library runtime path.
Add new variable, $hardcode_libdir_flag_spec_ld, that
is equivalent to $hardcode_libdir_flag_spec but is used
when ld is used for linking. This works around having to
set wl=''.
Robert Boehne [Sat, 11 Jan 2003 05:52:49 +0000 (05:52 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the
"-shrext" option so that is works properly under Darwin.
Modify the processing of 'gcc -print-search-dirs' under
Darwin to make it behave like GNU gcc does.
(AC_LIBTOOL_CONFIG): Single quote $shrext.
* ltimain.in: Expand shared_ext just before it is used
so that it can be conditional on the value of $module.
Ralph Schleicher [Tue, 31 Dec 2002 05:43:24 +0000 (05:43 +0000)]
Rework by Robert Boehne <rboehne@gnu.org>
* ltmain.in: New link option -shrext.
* libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext.
(AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared
library file name extensions in library_names_spec and
soname_spec with $shrext.
* doc/libtool.texi (Link mode): Document it.
Charles Wilson [Tue, 31 Dec 2002 05:28:47 +0000 (05:28 +0000)]
* libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify
$archive_expsym_cmds to restore support for using
.def files via the -export-symbols switch.
(AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX]
branch and the default branch, improve $export_symbols_cmds
so that DATA symbols are properly labelled. In the default
branch, duplicate the _CXX_CONFIG correction for
$archive_expsym_cmds.
Robert Boehne [Tue, 31 Dec 2002 05:19:00 +0000 (05:19 +0000)]
* libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section
for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX
tag doesn't use the g++ defaults for the OS X compiler.