libtool/ChangeLog
Ralf Wildenhues 957541fbe2 Work around yet another shell quoting portability issue.
* configure.ac: Avoid nonportable quoted alternate variable
value in unquoted here document, so Solaris 10 sh and Tru64
ksh do not print spurious extra quotes.
2010-08-29 16:58:31 +02:00

1621 lines
65 KiB
Plaintext

2010-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Work around yet another shell quoting portability issue.
* configure.ac: Avoid nonportable quoted alternate variable
value in unquoted here document, so Solaris 10 sh and Tru64
ksh do not print spurious extra quotes.
Silence order-only configure test for AIX make.
* configure.ac: Also drop standard output, for AIX 5.1 make.
2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm>
Minor sysroot fixups.
* libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo.
* tests/sysroot.at: Search also for crt0.o to accommodate cygwin.
2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm>
[cygwin|mingw|cross-compile]: Path conversion support.
* configure.ac: Ensure to_host_file_cmd is available to Makefile.
* TODO: Document QoI issue with file name conversion functions.
* libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function
sets libtool variable $to_host_file_cmd, and employs cache.
(_LT_SETUP): Require it.
* tests/testsuite.at: Ensure to_host_file_cmd is passed as a
variable setting on the configure line for (new testsuite) tests.
* Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is
included so that it is passed to (old testsuite) tests.
* libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here.
* libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd):
New variables.
(func_cygpath): New function.
(func_init_to_host_path_cmd): New function.
(func_to_host_path): Renamed to...
(func_to_host_file): Refactored to... (now uses $to_host_file_cmd).
(func_convert_core_file_wine_to_w32): Here. New function.
(func_convert_core_msys_to_w32): Here. New function.
(func_convert_file_check): Here. New function.
(func_convert_file_noop): Here. New function.
(func_convert_file_msys_to_w32): Here. New function.
(func_convert_file_cygwin_to_w32): Here. New function.
(func_convert_file_nix_to_w32): Here. New function.
(func_convert_file_msys_to_cygwin): New function.
(func_convert_file_nix_to_cygwin): New function.
(func_to_host_pathlist): Renamed to...
(func_to_host_path): Refactored to... (now uses $to_host_path_cmd
and func_init_to_host_path_cmd).
(func_convert_path_check): Here. New function.
(func_convert_path_front_back_pathsep): Here. New function.
(func_convert_core_path_wine_to_w32): Here. New function.
(func_convert_path_noop): Here. New function.
(func_convert_path_msys_to_w32): Here. New function.
(func_convert_path_cygwin_to_w32): Here. New function.
(func_convert_path_nix_to_w32): Here. New function.
(func_convert_path_msys_to_cygwin): New function.
(func_convert_path_nix_to_cygwin): New function.
2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix symlist variable path to use _WIN32 instead of __WINDOWS__.
* libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h,
libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h:
Change __WINDOWS__ to _WIN32.
Report by Charles Wilson.
Add $pic_flag to archive_cmds and archive_expsym_cmds.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
<archive_cmds, archive_expsym_cmds>
[GNU ld, netbsd]: Add $pic_flag if ELF.
[GNU ld, solaris]: Likewise.
[GNU ld, default case]: Likewise.
[!GNU ld, freebsd, dragonfly]: Add $pic_flag.
[!GNU ld, GCC, hpux9]: Add $pic_flag.
[!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag
[!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
[!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag.
[!GNU ld, GCC, osf4, osf5]: Likewise.
[!GNU ld, GCC, solaris]: Likewise.
(_LT_LANG_CXX_CONFIG) <archive_cmds, archive_expsym_cmds>
[hpux9]: Add $pic_flag if $GXX.
[hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
[irix5, irix6]: Add $pic_flag if $GXX.
[osf4, osf5]: Likewise.
[solaris]: Add $pic_flag if $GXX and not GCC 2.7.
Uniform const'ness of symlist variable lt_preloaded_symbols.
On some systems, lt_preloaded_symbols may not be declared
const due to relocation issues. C99 requires qualification to
match for compatible declarations, so ensure we declare
const'ness in the same way everywhere; link-time optimization
may otherwise rightfully complain about inconsistencies.
Since ltdl.h may not depend upon config.h, rely on system
defines for choosing const'ness.
* NEWS: Update.
* doc/libtool.texi (Dlpreopening): Document this issue.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms):
[__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST
according to system defines. Remove old shell cruft. Use
LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols.
* libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise,
define LT_DLSYM_CONST according to system defines.
* tests/demo/foo.h (LT_DLSYM_CONST): Likewise.
* tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise.
* tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST.
* tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist):
Likewise.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise
for configure test code.
* libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST.
* libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise.
2010-08-28 Dave Korn <dave.korn.cygwin@googlemail.com>
Ensure cwrapper magic string is not optimized away.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
Declare MAGIC_EXE as volatile.
Report by Charles Wilson.
2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix quoting in non-XSI func_xform, for IRIX sh.
* libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra
M4 quotes.
Fix response file test for unreliable exit status of IRIX ar.
* libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail
over a command-line argument specifying a nonexistent file (such
as `@FILE'), so ensure failure with a reponse file containing
a nonexistent file. Also, use lt_* variable prefix for
temporary variables.
Fix AC_LANG_PROGRAM warnings from git Autoconf.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix
underquoted AC_LANG_PROGRAM call.
(LT_PROG_AR): Use AC_LANG_PROGRAM.
(_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the
given language.
* NEWS: Update.
2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
fix AIX testsuite regression
* libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly
revert v2.2.10-83-gc45a288: Do not absolutize path here, only do
sysroot replacement.
(func_mode_link): Adjust.
2010-08-22 Charles Wilson <libtool@cwilson.fastmail.fm>
fix --mode=finish
* libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else
blocks of the "if $opt_dry_run" conditional.
2010-08-15 Paolo Bonzini <bonzini@gnu.org>
improve code for sysroot --mode=finish
* libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex
and sysroot_cmd delimiter from pipe to slash. Wrap the entire for
loop with "if $opt_dry_run...fi" and print an explanatory message
for the --dry-run case.
2010-08-12 Paolo Bonzini <bonzini@gnu.org>
add libtool --mode=finish mode for sysroot
* doc/libtool.texi (Finish mode): Document behavior when *.la files
are passed.
* libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot
or `=' signs representing it from files in $libs.
* tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot
references before running libtool --mode=finish, and for absence
afterwards.
reorganize parsing of --mode=finish arguments
* libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for
directories and *.la files.
fix sysroot handling for deplibs of preopened libtool libs
* libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool
through func_resolve_sysroot.
fix sysroot tests to pass on Fedora 13
* tests/sysroot.at: Link $prefix/include into the sysroot as well, as
required by newer GCC.
2010-07-29 Paolo Bonzini <bonzini@gnu.org>
initial version of the NEWS entry
* NEWS: Document sysroot support.
add sysroot test
* Makefile.am (TESTSUITE_AT): Add tests/sysroot.at.
* tests/sysroot.at: New.
emit sysrooted paths when installing .la files
* libltdl/config/ltmain.m4sh (func_replace_sysroot): New.
(func_mode_link): Prepend paths in $libdir with the sysroot. Further,
replace the sysroot with = (using func_replace_sysroot) whenever
such a path is written in a .la file.
process postdeps to include sysrooted paths
* libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson).
(_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert
sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R
and -l flags will now always be separated from the rest of the argument.
handle sysrooted paths when reading dependencies to la files
* libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install,
func_mode_link): Whenever a .la file occurs in another .la file,
expand the sysroot path in it.
2010-07-28 Paolo Bonzini <bonzini@gnu.org>
teach libtool -L= and -R=
* libltdl/config/ltmain.m4sh (func_resolve_sysroot): New.
(func_mode_link): Always pass result of stripping -L and -R to
func_resolve_sysroot before using it. Remove absolute path expansion
when func_resolve_sysroot subsumes it. Expand sysroot in -rpath.
When processing dependent libraries also resolve sysroot paths there.
add --with-sysroot
* libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New.
(LT_SETUP): Require _LT_WITH_SYSROOT.
handle sysroot flags
* libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot
option.
2010-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* NEWS: Only bootstrapping needs new Automake and Autoconf.
check-interactive and check-noninteractive for both testsuites.
* Makefile.am (COMMON_TESTS, TESTS): Split into ...
(NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new
variables.
(check-interactive-new): Rename from check-interactive.
(check-noninteractive-new): Rename from check-noninteractive.
(check-interactive-old, check-noninteractive-old): New targets.
(check-interactive, check-noninteractive): Depend on the
respective targets for the old and the new test suites.
* doc/libtool.texi (Test descriptions): Simplify description
about check-interactive and check-noninteractive. Add index
entries.
Adjust docs for renaming and for parallel-tests.
* README: Update example TESTS setting.
* README.alpha: Likewise.
* doc/libtool.texi (Test descriptions): Update for test renaming,
adjust descriptions accordingly.
Update VERBOSE handling for parallel-tests driver.
* tests/defs.m4sh: Default to verbose output, drop now-unneeded
handling of 'VERBOSE=no'.
* README: Update example usage.
* README.alpha: Likewise.
* doc/libtool.texi (Test descriptions, When tests fail): Remove
unneeded VERBOSE recommendations. Point to per-test log files
and test-suite.log summary file.
Enable parallel-tests test driver for the old testsuite.
* configure.ac: New configure test to find out whether `make'
supports order-only prerequisites; set @ORDER@ accordingly.
(AM_INIT_AUTOMAKE): Enable parallel-tests option.
* tests/defs.m4sh (prefix): Derive install prefix for tests
from the test name, to avoid clashes.
* Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS):
Reformat. Adjust for renamed tests. Add dependencies between
the respective log files of the tests, to ensure proper ordering.
Use order-only dependencies if possible, between test groups that
use the same directory.
(clean-local-legacy): Remove `_inst-*' directories as well.
Prompted by suggestion from Bob Friesenhahn.
New alias scripts for old tests run more than once.
* tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test,
tests/cdemo-static-exec.test, tests/cdemo-static-make.test,
tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test,
tests/demo-nofast-exec.test, tests/demo-nofast-inst.test,
tests/demo-nofast-make.test, tests/demo-nofast-unst.test,
tests/demo-nopic-exec.test, tests/demo-nopic-make.test,
tests/demo-pic-exec.test, tests/demo-pic-make.test,
tests/demo-shared-exec.test, tests/demo-shared-inst.test,
tests/demo-shared-make.test, tests/demo-shared-unst.test,
tests/demo-static-exec.test, tests/demo-static-inst.test,
tests/demo-static-make.test, tests/demo-static-unst.test,
tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test,
tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test,
tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test,
tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test,
tests/depdemo-static-exec.test, tests/depdemo-static-inst.test,
tests/depdemo-static-make.test, tests/depdemo-static-unst.test,
tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test,
tests/f77demo-static-exec.test, tests/f77demo-static-make.test,
tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test,
tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test,
tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test,
tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test,
tests/mdemo-static-exec.test, tests/mdemo-static-inst.test,
tests/mdemo-static-make.test, tests/mdemo-static-unst.test,
tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test,
tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test,
tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test:
New files.
Require Automake 1.11.1 for Libtool, enable color-tests.
* configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable
color-tests.
(LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and
feature test for Autoconf 2.59 and Automake 1.9.x workaround.
* Makefile.am: Simplify accordingly.
* bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds
for Autoconf 2.59 and Automake 1.9.6.
2010-08-23 Charles Wilson <libtool@cwilson.fastmail.fm>
Fix syntax for cygwin-cross
libltdl/m4/argz.m4: Add quotes around variable, which
may contain the multiword value 'guessing no'.
2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
configure: use Autobuild AB_INIT if available.
* configure.ac: Call AB_INIT if it is defined, with
$autobuild_mode as argument, to be set at configure time.
Set AB_VERSION to the Libtool version string.
* HACKING: Update.
Fix getopt tests to skip with Autoconf < 2.61.
* tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test
if 'autom4te --language=m4sh' exits 63 because version 2.61 is
required. Allows the testsuite to complete successfully with
Autoconf 2.59 and Automake 1.9.6.
Tidy and fix clean and distclean rules for old testsuite.
* Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead
of hard-coding the list of test directories. Use
$(AM_MAKEFLAGS).
(fake-distclean-legacy): New phony rule, to create fake Makefile
files if needed so that the automake-generated
distclean-recursive rule can work properly.
(distclean_recursive): New helper variable.
(distclean-recursive): Depend on fake-distclean-legacy.
2010-08-22 Paolo Bonzini <bonzini@gnu.org>
Fix sed_make_literal_regex.
* libltdl/config/general.m4sh (sed_make_literal_regex): Fix
definition.
2010-08-15 Paolo Bonzini <bonzini@gnu.org>
Factor the sed command used to make a regex from a literal.
* libltdl/config/general.m4sh (sed_make_literal_regex): New.
* libltdl/config/ltmain.m4sh
(func_cygming_dll_for_implib_fallback_core): Use it. Suggested
by Ralf Wildenhues.
2010-08-21 Rainer Tammer <tammer@tammer.net> (tiny change)
Avoid issues with AIX resident shared libraries in old testsuite.
* tests/defs.m4sh [aix]: Remove file mode permission for others,
so shared libraries are not kept in memory after execution.
Fixes failures of repeated mdemo-inst.test with on AIX 5.3.
2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Skip part of versioning test on AIX.
* tests/versioning.at (versioning): The AIX linker always
records the unversioned library name, even with runtimelinking,
so skip the execution test for the incompatibly upgraded
library.
Report by Rainer Tammer.
Remove dead code from versioning test.
* tests/versioning.at (versioning): No need to build unused
prog3.
2010-08-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Don't hide the table of contents in the manual.
* doc/libtool.texi: Move the table of contents to the beginning.
Prompted by patch from Bruno Haible against Automake.
Remove superfluous dependency in Makefile.am.
* Makefile.am (tests/demo-conf.test): Remove dependency on
libtool, this test is a primary source and not generated.
Bump copyright years in manual.
* doc/libtool.texi: Bump copyright years.
2010-08-13 Peter Rosin <peda@lysator.liu.se>
Allow the use of a listing file if the archiver supports it.
* libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
of a suitable archiver...
(_LT_PROG_AR): ...to here. New macro, also detect if the
archiver supports a listing file with the new variable
archiver_list_spec.
* libltdl/config/ltmain.m4sh: If the archiver supports a listing
file, use it when max_cmd_len is exceeded. This is needed for
tool chains such as MSVC which do not support piece by piece
linking (-r -o).
* doc/libtool.texi (libtool script contents): Update with
archiver_list_spec description.
2010-08-10 Gary V. Vaughan <gary@gnu.org> (tiny change)
Make testsuite compatible with Autoconf 2.62 again.
* tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted
'#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph.
Suggested by Eric Blake <eblake@redhat.com>
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-08-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix more problematic code from "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Revert back
func_append instances that as assignments relied on the shell
not performing word splitting on the right hand side of the
assignment.
Fix another typo on "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in
computation of finalize_rpath introduced in v2.2.10-40-g0da7d80,
fixing several testsuite failures on AIX.
Report by Rainer Tammer.
2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Avoid unwanted error message in configure output.
* libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print
in subshell, so eventual `print: not found' is hidden reliably.
Fix compilation of program sources on AIX.
* tests/lt_dlopenext.at (lt_dlopenext error messages): Do not
use $LIBTOOL when compiling plain object, AIX by default does
not enable static archives.
* tests/ltdl-libdir.at (libdir of installed modules): Likewise.
Report by Rainer Tammer.
Do not call toplevel configure in non-VPATH build.
* tests/deplibs-mingw.at (deplibs without file command): Use
LT_AT_CONFIGURE for consistency, update comment about why it
might fail.
* tests/pic_flag.at (override pic_flag at configure time): Skip
test if we are building in-tree.
Report by Rainer Tammer.
Allow running pic_flag test with different shell.
* tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second
argument specifying the configure script to run.
* tests/pic_flag.at (override pic_flag at configure time):
Use LT_AT_CONFIGURE.
Ensure not to reverse preserving of --debug for relinking/finish.
* libltdl/config/ltmain.m4sh (func_check_version_match): Only
preserve '--debug' switch if $opt_debug is not equal to ':'.
* tests/help.at (debug tracing): New test group.
Report by Rainer Tammer.
2010-08-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix AC_NO_EXECUTABLES test failure on AIX.
* libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link
test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath.
* tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to
avoid link test.
Bug report by Rainer Tammer.
Fix ltdl-libdir test for C++ compilers.
* tests/ltdl-libdir.at (libdir of installed modules): Declare
module function as extern "C".
2010-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Let `libtool' without arguments point to `--help' again.
* libltdl/config/ltmain.m4sh (func_check_version_match):
Remove duplicate and wrong error check.
* tests/help.at (standard command line options): Extend test.
Report by Rainer Tammer.
Avoid syntax error due to shift of nonexistent parameter.
* libltdl/config/ltmain.m4sh <command-line handling>: Only shift
if there is a positional parameter to shift. Fixes `libtool
--help' when dash is used.
Report by Rainer Tammer.
Fix testsuite errors due to shell quoted parameter expansion issue.
* tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space
between double-quoted and unquoted shell parameter, as bash
4.0.28 doesn't add one in its output if the expansion of the
second one starts with a space.
(short option splitting, enhanced shell short option splitting)
(long option splitting, XSI long option splitting): Add space in
expected output.
Fixes testsuite failures on AIX, FreeBSD, etc.
Report by Rainer Tammer.
2010-08-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix build failure with AIX sh due to shell quoting error.
* libltdl/config/ltmain.m4sh (func_append_quoted): Document
that this function inserts a separator space.
(func_mode_compile): Do not pass extra space here.
Fixes regression introduced in v2.2.10-49-gc13532a.
Report by Rainer Tammer.
2010-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix pic_flag test unportabilities.
* tests/pic_flag.at (override pic_flag at configure time): Skip
test if the compiler produces a warning containing `fpic'.
Do not use nonportable `grep -e', for Solaris.
Report by Charles Wilson.
2010-08-01 Paolo Bonzini <bonzini@gnu.org>
Fix bug in postdeps computation
* libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually
concatenate $prev and $p.
2010-07-26 Charles Wilson <libtool@cwilson.fastmail.fm>
Don't always skip XSI tests
* tests/getopt-m4sh.at: Use new signature as implemented by
de8a0992b21b76a13c302cf48588ad5f6042595c, when determining
whether to test Extended-shell functions.
2010-07-18 Peter Rosin <peda@lysator.liu.se>
* tests/stresstest.at: Link with main.lo when liba is shared
and linking main with -no-install.
2010-07-18 Peter Rosin <peda@lysator.liu.se>
* tests/stresstest.at [MSVC]: dllimport all imported
variables.
2010-07-17 Peter Rosin <peda@lysator.liu.se>
dllimport the variable for MSVC in link-order.at
* tests/link-order.at [MSVC]: Makes the test pass by dllimporting
imported variables when working with shared libraries.
2010-07-08 Peter Rosin <peda@lysator.liu.se>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Make preloading heed libname_spec.
Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.
* libltdl/ltdl.c (libprefix): New static variable describing
the prefix of static archives.
(try_dlopen): Use libprefix.
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
archives to config.h. Also fix assignment of LTDLOPEN to be more
efficient and less error prone while at it.
2010-07-08 Gary V. Vaughan <gary@gnu.org>
Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to
_LT_PROG_REPLACE_SHELLFNS.
(_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE.
(_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use
'Extended shell' rather than 'XSI' on successful replacement.
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_stripname): Change decorator
comment to use 'extended shell' rather than 'XSI' on fallback
implementations.
* libltdl/config/getopt.m4sh (func_split_short_opt)
(func_split_long_opt): Ditto.
* libltdl/config/ltmain.m4sh (func_append, func_append_quoted)
(func_arith, func_len, func_lo2o, func_xform): Ditto.
* tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to
_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT.
(_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to
match new replacable function decorator comments.
2010-07-08 Peter Rosin <peda@lysator.liu.se>
Optimize assignment of output_la.
* libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec
instances.
Report by Ralf Wildenhues.
2010-07-08 Gary V. Vaughan <gary@gnu.org>
Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch.
* libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious
variable dereference.
2010-07-07 Gary V. Vaughan <gary@gnu.org>
Tidy m4 comment header underline.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make
sure hyphens in function name comment header underline line up.
2010-07-07 Charles Wilson <libtool@cwilson.fastmail.fm>
[cygwin|mingw] fix dlpreopen with --disable-static
* libltdl/config/general.m4sh (func_tr_sh): New function.
* libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]:
Obtain DLL name corresponding to import library by using value
stored in unique variable libfile_$(transliterated implib name).
If that fails, use $sharedlib_from_linklib_cmd to extract DLL
name from import library directly. Also, properly extract dlsyms
from the import library.
(func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs
over static libs when both are available. When dlpreopening
DLLs, use linklib (that is, import lib) as dlpreopen file,
rather than DLL. Store name of associated la file in
unique variable libfile_$(transliterated implib name)
for later use.
(func_win32_libid): Accomodate pei-i386 import libs
as well as pe-i386.
(func_cygming_dll_for_implib): New function.
(func_cygming_dll_for_implib_fallback): New function.
(func_cygming_dll_for_implib_fallback_core): New function.
(func_cygming_gnu_implib_p): New function.
(func_cygming_ms_implib_p): New function.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed
expressions for lt_cv_sys_global_symbol_to_c_name_address and
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
as trailing space after module name is optional.
(_LT_LINKER_SHLIBS) [cygwin|mingw][C++]:
Set exclude_expsyms correctly for $host. Simplify regular
expression in export_symbols_cmds.
(_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms
correctly for $host. Enable export_symbols_cmds to identify
DATA exports by _nm_ prefix.
(_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets
sharedlib_from_linklib_cmd variable.
(_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set.
2010-07-05 Peter Rosin <peda@lysator.liu.se>
* tests/export.at [MSVC]: dllimport all imported variables.
2010-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Peter Rosin <peda@lysator.liu.se>
Support for response files with $NM.
* libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
<nm_file_list_spec>: New tag variable. Set it to '@' if input
files can be passed to $NM in a file named with the '@' option.
* libltdl/config/ltmain.m4sh (func_mode_link): When
nm_file_list_spec is nonempty, use it to avoid skipped_export.
* doc/libtool.texi (libtool script contents): Document
new variable.
2010-07-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix ccache test for MSVC.
* tests/static.at (ccache -all-static): Ignore compiler stderr.
Reported by Peter Rosin.
2010-07-03 Charles Wilson <libtool@cwilson.fastmail.fm>
Avoid false failures caused by filesystem interaction
* tests/dlloader-api.at (dlloader API): Use uglified names for
pseudo-modules.
2010-07-03 Peter Rosin <peda@lysator.liu.se>
Fix typo in "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_compile): Use
func_append_quoted instead of func_append.
2010-07-02 Peter Rosin <peda@lysator.liu.se>
Don't trigger file name expansion when embedding manifests.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
[ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the
case statement of postlink_cmds to make file name expansion
more unlikely.
(_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.
2010-07-01 Peter Rosin <peda@lysator.liu.se>
Fix regression caused by "Add func_append_quoted and do..."
* libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover
"_libs" trash.
2010-06-28 Peter Rosin <peda@lysator.liu.se>
For MSVC, embed the manifest as a resource in the executable.
Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and
above (and perhaps also MSVC .Net) related to running programs
that have been moved (e.g. installed) without their manifests
also having been moved.
* libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro
that locates the Manifest Tool (mt) and verifies that it is
indeed the manifest tool. The result is stored in the new
variable MANIFEST_TOOL.
(_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable.
[ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a
resource. Make sure the embedding work regardless of if the
@OUTPUT@ file name includes a trailing $EXEEXT.
(_LT_LANG_CXX_CONFIG): Likewise.
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above
_LT_PATH_MANIFEST_TOOL.
* libltdl/config/ltmain.m4sh (func_mode_link): After linking
a program, replace @OUTPUT@ in $postlink_cmds and then execute
the commands.
* doc/libtool.texi (libtool script contents): Document
new postlink_cmds variable.
(LT_INIT): Add that the MANIFEST_TOOL environment variable can
be used to override the manifest tool to use.
* tests/exeext.at: New. Make sure linking with both -o prog
and -o prog$EXEEXT works.
* Makefile.am (TESTSUITE_AT): Update.
(TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the
testsuite.
* NEWS: Add note of the new MANIFEST_TOOL environment variable.
2010-06-24 Peter Rosin <peda@lysator.liu.se>
Add MSVC support.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add
support for the Microsoft C/C++ Compiler (cl) relying on help
from the compile script in Automake.
* NEWS: Add note of the above.
2010-07-01 Gary V. Vaughan <gary@gnu.org>
Skip `enhanced shell option appending' test when not available.
* tests/getopt-m4sh.at [enhanced shell option appending]:
_LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced
libtool func_append function if the replacement wasn't substituted
by configure, since the decorator comments will be different - in
that case simply skip the test.
2010-06-30 Gary V. Vaughan <gary@gnu.org>
Add func_append test cases for smart and retarded implementations.
* tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New
macro to extract a fallback function implementation from
ltmain.m4sh.
[option appending]: Use it for a test of the fallback
implementation of func_append.
[enhanced shell option appending]: And also test the enhanced
implementation.
* libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\
to escape a quoted space for eval.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in
dereference of func_append inline replacement for retarded
shells.
2010-06-29 Gary V. Vaughan <gary@gnu.org>
Correct func_split_short_opt comment cut-n-pasto.
* libtool/config/getopt.m4sh (func_split_short_opt): Fix
the function comment.
Use a real XSI compliant func_split_short_opt substitution.
* libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove
test ${foo:n:m} substrings, instead adding a ${foo%??} check
to the existing XSI tests.
(_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based
func_split_short_opt substitution in favour of a properly
XSI compliant substitution.
Suggested by Paolo Bonzini.
2010-06-28 Gary V. Vaughan <gary@gnu.org>
Add func_append_quoted and do inline func_append substitutions.
* libtool/config/ltmain.m4sh: Replace all occurrences of
`foo="$foo bar"' with func_append. No decorator comment was
added since /func_append [a-zA-Z0-9_]* "/ is already an
excellent match regexp, and additional comments would only
complicate things.
(func_append_quoted): New function that quotes a value with
func_quote_for_eval before appending it. To avoid quoting the
whitespace in the passed value, a single whitespace is added
automatically. Changed callers where possible.
* libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a
`+=' implementation substitution for func_append_quoted. More
importantly, systematically replace matching func_append calls
with inline `+=' when supported (for maximum speed), and
longhand `foo="$foo bar"' otherwise to avoid the function
overhead.
Add an XSI replacement for func_split_short_opt, with test cases.
* libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now
that getopt.m4sh doesn't steal that letter for the --version
short option.
* libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v'
as a short option for '--verbose'.
* libltdl/config/getopt.m4sh (m4go_printopts): Add back in the
leading '-' for remaining non-argument short options.
(func_split_short_opt): Use the correct sed script variable.
* libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure
that XSI substring extraction is supported.
(_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split
short options to avoid unnecessary forks if the host shell
supports that.
* tests/getopt-m4sh.at: New tests for getopt.m4sh coverage.
* Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at.
(TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the
m4sh expansion performed in tests/getopt-m4sh.at.
2010-06-27 Gary V. Vaughan <gary@gnu.org>
Add missing case branch terminators.
* libltdl/config/ltmain.m4sh: Fixed everal case branches with
missing ';;' terminators.
Use TAB-SPACE in preference to SPACE-TAB.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors
might optimise away the SPACE in SPACE-TAB sequences, so use
TAB-SPACE just in case.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Amend a missed opt_mode rename instance in ltmain.m4sh.
* libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode.
Fix portability regressions in today's earlier changeset.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
portable; use `mv -f ...|| cp -f ...' instead.
Add an initial backslash to sed `c' substitutions with leading
whitespace, so that indentation is not removed by some non-POSIX
compliant sed implementations.
(_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
one or more XSI function replacements failed.
getopt.m4sh generated libtool option parser, and XSI improvements.
* libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
shell versions of various utility functions from here...
* libltdl/config/getopt.m4sh (func_split_long_opt): ...to here...
* libltdl/config/general.m4sh (func_dirname, func_basename)
(func_dirname_and_basename, func_strip_name): ...here...
* libltdl/config/ltmain.m4sh (func_append, func_arith, func_len)
(func_lo2o, func_xform): ...and here.
* libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that
expands into a sed command for replacing the contents of a
suitably decorated shell function with an alternate XSI
implementation.
(_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell
versions of the functions above with equivalent XSI
implementations that avoid unnecessary forks if the host shell
supports that.
* libltdl/config/ltmain.m4sh: Replace hand written shell code
with a call to M4SH_GETOPTS. Rename some option variables in
the client code to match the generated option parser settings.
* libltdl/config/general.m4sh (func_echo, func_error)
(func_warning): Use $opt_mode instead of obsoleted $mode in
message leader.
* libltdl/config/getopt.m4sh (m4_version_prereq): This file
requires m4sugar.m4 from Autoconf-2.61 or newer.
2010-06-24 Charles Wilson <libtool@cwilson.fastmail.fm>
[cygwin] Refactor C++ exception handling for Win32 correctness
* tests/exception.at (common.h): New file, refactored from
(module.h): Move declaration of modexc to libcommon.
Include common.h. Use explicit import/export markings for
symbols when building on win32 or cygwin.
(common.cpp): New file.
(module.cpp): Ensure correct symbols markings when including
module.h.
(lib.h): Use explicit import/export markings for symbols
when building on win32 or cygwin.
(lib.cpp): Ensure correct symbol markings when including lib.h.
(main.cpp): Include common.h.
(commands): Ensure correct symbol markings when compiling
main.cpp, and lib.cpp, and module.cpp. Add command to compile
common.cpp, and to link libcommon.la. Add libcommon.la when
linking module.la and main. Add command to install libcommon.la.
2010-06-21 Gary V. Vaughan <gary@gnu.org>
Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer.
* libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is
implemented even if Autoconf's m4sugar.m4 doesn't provide it.
(m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use
it everywhere incase m4sugar.m4 doesn't have an implementation.
(m4_ifnblank): Replace all uses with m4_ifval, which was
available long before m4_ifnblank was introduced.
2010-06-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix clean mode for HP-UX 11.31 sh.
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try
to match a null string in a case pattern, even with surrounding
spaces. Fixes `lt_dlopenadvise library loading' test.
Add comment for exception handling module unloading issue.
* tests/exceptions.at (C++ exception handling): Add comment
for last patch.
Fix flags test failure when ld is used as linker.
* tests/flags.at (passing CC flags through libtool): When $LD
is used for linking libraries, ensure flags passed with `-Wc,'
are not passed through to $LD, but flags passed with `-Wl,' use
$wl when linking programs. Fixed testsuite failure on HP-UX
10.20.
2010-06-19 Charles Wilson <libtool@cwilson.fastmail.fm>
[cygwin] Fix segfault in C++ exception handling test
* tests/exceptions.at (main.cpp:exceptions_in_module):
Move dlclose outside catch block; otherwise __cxa_end_catch
(part of the cygwin g++ ABI) accesses pointers to data inside
unloaded DLL. This is a platform ABI-specific bug, but is
likely common to many platforms' g++ and/or other C++
compilers.
2010-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix srcdir computation for manual runs of old tests.
* tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow
`$srcdir/tests/FOO.test' to be run from the top build directory.
Clean up @var handling in the manual.
* doc/libtool.texi: Throughout the manual, replace @var with
@samp or @code as appropriate, ensure the argument of remaining
@var uses are lower-case.
Let the bootstrap script fail upon errors.
* bootstrap: Enable errexit.
Fix execute mode test for OSF/1 5.1.
* tests/execute-mode.at (execute mode): Do not use grep -F
with an empty pattern.
* THANKS: Update.
Report by Jay K.
Use config.cache variable for PIC flag, to allow override.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>:
Save result, and allow override, through cache variable
lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable
needs to contain an eventual -DPIC.
* tests/pic_flag.at (override pic_flag at configure time):
New file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS, THANKS: Update.
Suggestion by Joakim Tjernlund and Paolo Bonzini.
2010-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Optimize func_ltwrapper_scriptname to assume a cwrapper.
* libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not
call func_ltwrapper_executable_p again here, this function is
documented to allow being called with wrapper executables.
Fix bootstrap script to cope with changed AC_INIT arguments.
* bootstrap: When extracting PACKAGE and VERSION from AC_INIT
arguments, be sure to remove a 'GNU ' prefix and lowercase the
package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL
appropriately for GNU software. Pass these variables to the
make commands creating tests/package.m4 and other files.
* Makefile.am (edit): Fix substitution of PACKAGE_NAME and
PACKAGE_STRING.
* libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not
@PACKAGE_STRING@.
2010-06-15 Peter Rosin <peda@lysator.liu.se>
On Windows, find potential libs regardless of file name case.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD),
libltdl/config/ltmain.m4sh (func_mode_link): On Windows,
find potential libs regardless of file name case.
* tests/nocase.at: New test, to check for regressions
of the above.
* Makefile.am: Add above new test.
* doc/libtool.texi (libtool script contents): Document
new variables.
* NEWS: Updated.
2010-06-15 Philip Allison <philip.allison@smoothwall.net> (tiny change)
Avoid GCC -Wall compiler warning in dlopen self test.
* libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused
variable warning in test program.
* THANKS: Update.
2010-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix cleaning of uninstalled w32 shell wrapper in subdirs.
* libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not
override global objdir variable, instead use odir for the
directory of to-be-removed files. Drop unneeded origobjdir.
Report by Charles Wilson.
2010-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Enable colored Autotest testsuite output if available.
* tests/testsuite.at: Move AT_INIT call down to late in the
file, all prior code can go beforehand.
Call AT_COLOR_TESTS if defined.
2010-06-14 Peter O'Gorman <peter@pogma.com>
Pass resident test with --disable-shared too.
* tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.
2010-06-13 Peter O'Gorman <peter@pogma.com>
Test with --disable-shared at release time too.
* HACKING: Note it.
Avoid failure for --disable-shared.
* tests/lt_dladvise.at: Hack.
Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
* tests/exceptions.at: Use it.
2010-06-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Print Libtool project URL in program --help output.
* configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool',
so Autoconf knows this is GNU software. For Autoconf < 2.64,
if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL.
* Makefile.am (edit): Substitute PACKAGE_URL.
($(srcdir)/tests/package.m4): Also depend on Makefile.am.
Define AT_PACKAGE_URL, for `tests/testsuite --help' output.
* libltdl/config/getopt.m4sh (func_help): Also extract comment
lines that mention a home page and general GNU help.
* libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of
hard-coded list address. Also mention Libtool home page and
general GNU help web page.
* libtoolize.m4sh: Likewise.
2010-06-12 Peter Rosin <peda@lysator.liu.se>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Improve libdir usage from within ltdl on MinGW.
* libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the
libdir entry in the .la file, but accept it only if it is not
a unix-style absolute name.
* tests/ltdl-libdir.at: New test that checks if ltdl finds an
installed module via the libdir variable in the .la file. On
MinGW, use a Windows-style libdir name including drive spec.
* Makefile.am: Add above.
2010-06-11 Peter O'Gorman <peter@pogma.com>
Skip bindir install test if we're not building shared.
* tests/bindir.at: Skip install test if necessary.
* THANKS: Update.
Report by Michael E Faenza.
2010-06-11 Gary V. Vaughan <gary@gnu.org>
Use getopt.m4sh to generate libtoolize option parser.
* libtoolize.m4sh: Replace hand written shell code with a
call to M4SH_GETOPTS. Move some premature initialization
from the preamble to the main part of the script. Exit with
an error on spurious additional non-option arguments.
(envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the
main option parsing loop.
(opt_copy): Use in place of and in the reverse sense of the
old opt_link variable.
2010-06-10 Peter O'Gorman <peter@pogma.com>
Create reloadable object files with non-pic objects too.
* libltdl/config/ltmain.m4sh: When not building a shared
library, use the non-pic objects to create a reloadable
object, because pic objects do not exist.
2010-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ensure libltdl is up to date for check-local.
* Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable.
(all-local): Use it to simplify dependencies.
(testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS).
Report by Peter Rosin.
2010-06-10 Gary V. Vaughan <gary@gnu.org>
Support shell tracing inside functions even with ksh.
* libltdl/config/getopt.m4sh: Set $opt_debug to be either `:'
or `set -x' depending on whether --debug was parsed to match
usage in libtoolize.m4sh and ltmain.m4sh.
* clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of
`$opt_debug && ...', use `test "$opt_debug" != ":" && ...'.
* clcommit.m4sh, libltdl/config/announce-gen.m4sh,
libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh:
Execute at the start of functions to cater to ksh, which
resets `-x' inside shell functions.
Fix a typu in HACKING.
* HACKING (Release Procedure): s/Makeflie/Makefile/.
2010-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Factorize testing gcj installation in the testsuite.
* tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually
try to compile a .java file when deciding whether to skip.
(LT_AT_EXEC_TAG): New macro, to also ensure runnability.
* tests/convenience.at (Java convenience archives): Use
LT_AT_EXEC_TAG, simplify accordingly.
* tests/flags.at (passing lt_tag flags through libtool): Use
m4_defn for tag so LT_AT_TAG works.
* tests/infer-tag.at (GCJ inferred tag): Simplify.
* THANKS: Update.
Report by Warren Dodge.
2010-06-09 Peter O'Gorman <peter@pogma.com>
Skip demo-nopic tests if SELinux policy will cause failure.
* tests/demo-nopic.test: Check SELinux policy and skip if
necessary.
2010-06-09 Gary V. Vaughan <gary@gnu.org>
Set SCM version number to 2.2.11a.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.11a.
* NEWS: Updated.
GNU Libtool 2.2.10 was released.
Prepare for next release.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version number
to 2.2.10.
* NEWS: Update version number.
Fix a quoting bug with ./commit -a 'A U Thor'.
* clcommit.m4sh (func_commit): Use func_show_eval when calling
git, so that the previously func_quote_for_eval()ed $git_flags is
expanded properly.
2009-09-15 Peter Rosin <peda@lysator.liu.se>
Don't try the MSYS libdir path on MinGW.
* libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute
libdir path in the .la file is recorded as an MSYS (POSIX
style) path. Make sure it isn't tried when locating the
shared library.
* NEWS: Updated.
2010-06-09 Gary V. Vaughan <gary@gnu.org>
Simplify license variations, and add missing license texts.
* ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998,
ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002,
ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006,
ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add
all-permissive license.
* HACKING, README, README.alpha, TODO: Relax license to RMS
encouraged all-permissive terms.
* libltdl/README: Ditto. I added the original license text in
2007, and there's no need for it to be so long for such a trivial
file.
* libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is
dead, and I am the author of these files, so consolidated license
terms to match regular Libtool licensing.
* HACKING (Licensing Rules): Update wording, and list of files for
the all permissive license.
(GPL with CVS-Utils exception clause): Removed. No files have these
license any more.
(GPL with Libtool exception clause): Ditto, only libltdl/README
used to be distributed with this variation.
* AUTHORS: Add GPL license text.
Fix a type in the 2.2.8 release notes.
* NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes.
Don't warn about the blank line inserted into git commit message.
* clcommit.m4sh: When searching for accidental commits of mutliple
changes, ignore the second line of the message, which we inserted
earlier to support "git log --oneline".
Enable correct extraction of multiline copyright from --version.
* libltdl/config/getopt.m4sh: Wrap copyright notice at 76
columns.
(func_version): Don't omit spaces when merging multiline copyright
notices.
* clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76
columns.
* NEWS (2.2.8): BlueGene compiler tests were performed on BG/P
systems, not BG/L.
Reported by Christian Rössel <christian.roessel@gmx.de>
2010-06-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix testsuite helper macros to not hide failure.
* tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE):
Do not wrap AT_CHECK in a subshell, so that failures are
properly propagated; instead, move environment changes inside
the AT_CHECK code.
Report and analysis by Peter Rosin.
Avoid autom4te warning about unnamed diversion.
* libltdl/config/getopt.m4sh: Use diversion name KILL not -1.
2010-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Make versioning test stricter for w32, enable shared libs.
* tests/versioning.at (versioning): Add -no-undefined to
LDFLAGS.
(test_uninstalled): Also move $bindir out of the way
temporarily.
Fix versioning test for LDFLAGS=-Wl,--as-needed.
* tests/versioning.at (versioning): For the library update
hypotheses, ensure the unchanged library libb isn't accidentally
relinked against the new liba, by not reinstalling libb.
Fixes testsuite failure for the incompatible update case with
LDFLAGS=-Wl,--as-needed.
* THANKS: Update.
Report by Ryan Hill.
2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Rewrite manual intro to be gender-neutral.
* doc/libtool.texi (Introduction): Use gender-neutral
formulation when addressing developers.
2010-06-05 Gary V. Vaughan <gary@gnu.org>
Update and simplify all m4sh scripts to use latest getopt.m4sh.
* clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option
parsing loop over M4SH_GETOPTS macro, and adjust all clients of
option variables to use generated option names.
Add missing quote for literal ? in a shell case statement.
* libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ?
correctly for use in a shell case statement.
Quote command line arguments after --rcfile properly.
* libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining
arguments shell variable expression correctly for eval.
Shift correctly in numbered option argument collection.
* libltdl/config/getopt.m4sh (_m4go_option): Argument list also
needs to be `shift'ed in the shell option loop after processing a
numbered argument collection.
Fetch from new upstream host for config.guess and config.sub.
* Makefile.maint (WGET_CGIT): Location of newest config.guess and
config.sub upstream.
(fetch): Fetch config.guess and config.sub from WGET_CGIT, rather
than no-longer-updating WGET_SGO location.
Update generated upload directive file format to v1.1.
* Makefile.maint (git-dist, diffs): Update to generate v1.1 format
directive files for ftp://ftp-upload.gnu.org/incoming/ftp.
Fix web manual generation details in release instructions.
* HACKING (Release Procedure): Move the instruction for generating
web manuals for a new release to before the instruction that bumps
the version numbers to the post release values.
Set SCM version number to 2.2.9a.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.9a.
* NEWS: Updated.
GNU Libtool 2.2.8 was released.
Prepare for next release.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.8.
* NEWS: Update version number.
* INSTALL, libltdl/config/install-sh, libltdl/config/config.guess,
libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated
from canonical source.
Provide an m4sh reimplementation of announce-gen.
* libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes
a quoted m4 list of command line options to be parsed, and
generates the shell code to parse those options and collect the
results into appropriately named 'opt_xxx' shell variables. Also,
add some private supporting macros, and improve the comments
radically.
* libltdl/config/announce-gen.m4sh: New file, to generate and
optionally post (an enhancement over the gnulib perl script of the
same name) a release announcement.
* Makefile.maint (announce-gen): Build a new announce-gen script
in the build directory, from the contents of
libltdl/config/announce-gen.m4sh.
* HACKING (Release Procedure): Update the instructions to use
announce-gen.
(Alpha release note template, Full release note template):
Removed.
2010-05-22 Gary V. Vaughan <gary@gnu.org>
Support "git log --oneline" in generated commit messages.
* clcommit.m4sh (func_check_commit_msg): Insert an empty line
between the ChangeLog entry summary line and the ChangeLog entry
body, so that "git log --oneline" works properly.
Bump copyright and version number.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* HACKING: Set Reply-To: in announcement emails.
2010-05-21 Gary V. Vaughan <gary@gnu.org>
Set SCM version number to 2.2.7c.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.7c.
* NEWS: Updated.
GNU Libtool 2.2.7b was released.
Prepare for next release candidate.
* configure.ac, libltdl/configure.ac (AC_INIT): Bump version
number to 2.2.7b.
* libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files
have been updated without a serial bump since the last release.
* libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to
account for bugfixes since the last release.
* libltdl/config/install-sh, libltdl/config/config.guess,
libltdl/config/config.sub, libltdl/config/texinfo.tex,
INSTALL: Updated from canonical source.
* NEWS: Update with missing entries from ChangeLog.
* HACKING: Note workaround for developer tool-path leakage bug.
Skip some tests in --disable-ltdl-install mode.
* tests/dlloader-api.at, tests/exceptions.at,
tests/lalib-syntax.at, tests/loadlibrary.at,
tests/lt_dlopenext.at, tests/resident.at: Detect when these
tests try to link against the not installed libltdl.la, and
skip rather than FAIL.
2010-05-05 Peter Rosin <peda@lysator.liu.se>
Clarify versioning algorithm documentation.
* doc/libtool.texi (Updating version info): Be explicit
about setting age to zero on interface change.
Reported by Jef Driesen <jefdriesen@hotmail.com>
2010-05-04 Peter O'Gorman <peter@pogma.com>
Ranlib is required with -force_load and fat archives.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run
ranlib.
Reported by Jeremy Huddleston <jeremyhu@apple.com>
2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix incompatible struct declarations.
* doc/libtool.texi (Dlpreopening): Remove broken documentation
of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist
and symbol lt_preloaded_symbols according to the implementation.
* tests/demo/dlmain.c (lt_symlist): Make struct anonymous ...
(lt_dlsymlist): ... and typedef to this name.
(lt_preloaded_symbols, main): Adjust.
* tests/pdemo/longer_file_name_dlmain.c: Likewise.
2010-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Use linker_flags not compiler_flags with $LD.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]
<archive_cmds, archive_expsym_cmds>: With xlf and bgxlf
compilers, when linking with $LD, use $linker_flags not
$compiler_flags.
2010-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Add FAQ, and FAQ entry for flags stripped at library link time.
* doc/libtool.texi (FAQ, Stripped link flags): New nodes.
(Wrapper executables): Replace bug address with macro.
(Compile mode, Link mode): Document `-Wc,' and `-Xcompiler '
semantics better.
* libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment
for the flags that are passed through.
Prompted by reports from Simon Richter <Simon.Richter@hogyros.de>,
Török Edwin <edwintorok@gmail.com> and
Åke Sandgren <ake.sandgren@hpc2n.umu.se>.
2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix preloader symbol list declaration in libltdl.
* libltdl/ltdl.c (preloaded_symbols): Fix declaration to include
array brackets.
(lt_dlinit): Do not take address of preloaded_symbols.
Fix typo in libtool --help output.
* libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help
output.
Fix a couple of documentation errors.
* doc/libtool.texi (Autoconf macros): Improve hyphenation.
(Using libltdl): libltdl uses the Lesser General Public License,
not the Library General Public License.
Do not use @sc nor @acronym in the manual.
* doc/libtool.texi: Remove all usage of @sc.
2010-03-19 Chris Demetriou <cgd@google.com>
Sort output of 'find' to enable deterministic builds.
* libltdl/config/ltmain.m4sh (func_extract_archives): Sort
output of 'find'.
* libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise.
* THANKS: Update.
2010-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Unconditionally normalize LC_ALL, LANGUAGE in libtool script.
* libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and
LANGUAGE to 'C', to avoid semantic differences on MinGW under
Chines locale. SCO issues with e.g. LANG=C are not known to
be relevant today any more.
Report by Pete Batard <pbatard@gmail.com> and Xiaofan Chen
<xiaofanc@gmail.com>.
2010-03-17 Peter Rosin <peda@lysator.liu.se>
Preserve the last error when restoring the error mode.
* libltdl/loaders/loadlibrary.c (wm_open): Don't rely on
SetThreadErrorMode (or SetErrorMode) to not clobber the last
error.
Report by Ralf Wildenhues.
Use Get/SetThreadErrorMode if they are available.
* libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced...
(wrap_getthreaderrormode): ...by this function that checks
first for GetThreadErrorMode, then GetErrorMode and makes use
of either of those or...
(fallback_getthreaderrormode): ...else falls back to this
replacement function that implements the old workaround, which
was previously implemented in...
(fallback_geterrormode): ...this now renamed function.
(geterrormode): Replaced...
(getthreaderrormode): ...by this function pointer that points
at either of wrap_getthreaderrormode, GetThreadErrorMode,
GetErrorMode or fallback_getthreaderrormode.
(wrap_setthreaderrormode): New function that checks if
SetThreadErrorMode is supported by the system and makes use of
it if it is.
(fallback_setthreaderrormode): New function that is used
otherwise that implements the old version using SetErrorMode.
(setthreaderrormode): New function pointer that points at
either of wrap_setthreaderrormode, SetThreadErrorMode or
fallback_setthreaderrormode.
(vm_open): Adjust to the above.
2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Detect Sun compiler suite with 'sun'-prefixed names.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
(_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC,
sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95.
* NEWS: Update.
Report by Vadim Zeitlin.
2010-02-28 Pierre Ossman <ossman@ossman.lkpg.cendio.se> (tiny change)
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Fix deplibs check fallback for 64-bit Windows and Windows CE.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats
'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ...
* libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective
pattern here; sync pattern from the former.
* tests/deplibs-mingw.at (deplibs without file command): New
file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS: Update.
2010-02-24 Scott McCreary <scottmc2@gmail.com> (tiny change)
Update search path on Haiku for legacy system directory.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku]
<sys_lib_dlsearch_path_spec>: Replace legacy
/boot/beos/system/lib directory with /boot/system/lib.
* THANKS: Update.
2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
manual: fix detailmenu ordering.
* doc/libtool.texi (Top): Add section for `Linking executables'
in the detailmenu.
2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
Guard against strerror()==NULL
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main):
Check return value of strerror() using nonnull().
(func_emit_cwrapperexe_src:find_executable): Ditto.
(func_emit_cwrapperexe_src:chase_symlinks): Ditto.
2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
Document wrapper changes.
* NEWS: Indicate new feature and incompatibility.
* doc/libtool.texi [detailmenu]: Add reference to subsection
'Wrapper executables for programs', in Platform Quirks category.
[Linking executables]: Mention wrapper executables, in
addition to wrapper scripts. Add menu referencing subsection
'Wrapper executables for programs'.
[Wrapper executables for programs]: New subsection. Documents
cwrapper rationale and command line options.
2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
Add --lt-* options to shell wrapper
* libltdl/config/ltmain.m4sh (func_emit_wrapper): Call
func_parse_lt_options early. Use func_exec_program.
(func_emit_wrapper:func_parse_lt_options): New function.
(func_emit_wrapper:func_lt_dump_args): New function.
(func_emit_wrapper:func_exec_program_core): New function.
(func_emit_wrapper:func_exec_program): New function.
2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
Enable runtime cwrapper debugging; add tests
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
Update comments. Initialize program_name. Eliminate _LENGTH
variables for string constants. In debug mode, print a
banner with known content before any other output. Remove
LTWRAPPER_DEBUGPRINTF macro. Add constants and variables
to support new --lt-debug option.
(func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to...
(func_emit_cwrapperexe_src:lt_debugprintf): this. Only print
messages if lt_debug != 0. Ensure appearance of messages
conforms to GCS.
(func_emit_cwrapperexe_src:lt_fatal): Ditto.
(func_emit_cwrapperexe_src:lt_error_core): Ditto.
(func_emit_cwrapperexe_src): Update all callers to lt_fatal.
Update all users of LTWRAPPER_DEBUGPRINTF (()) to call
lt_debugprintf () directly.
(func_emit_cwrapperexe_src:main): Consolidate option parsing.
Ensure first use of lt_debugprintf occurs after option parsing.
Add stanza to parse for --lt-debug and set lt_debug variable.
Use strcmp rather than strncmp, where safe.
* tests/cwrapper.at: Add new tests for --lt-debug and
-DLT_DEBUGWRAPPER.
2010-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Use --email with gendocs.sh.
* Makefile.maint (web-manual): Pass bug reporting address to
gendocs.sh.
Make testsuite code C++ clean again.
* tests/resident.at (resident modules): Fix for C++.
2010-01-29 Peter Rosin <peda@lysator.liu.se>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Testsuite exposure for dlloader API.
* tests/dlloader-api.at: New file, new test.
* Makefile.am (TESTSUITE_AT): Update.
2010-01-29 Peter Rosin <peda@lysator.liu.se>
* tests/loadlibrary.at: Fix C++ issues.
2010-01-20 Peter Rosin <peda@lysator.liu.se>
Report proper errors from the loadlibrary loader.
* libltdl/loaders/loadlibrary.c (loadlibraryerror): New
helper function that returns the latest Windows error as a
string, or the provided default string on failure to do so.
(LOADLIB_SETERROR): New macro that wraps previous to make it
easy to use.
(vm_open, vm_close, vm_sym): Make use of previous.
(LOCALFREE): New macro to help free the Windows error string.
(vl_exit): Make use of previous.
* tests/loadlibarry.at: New file, new test that makes sure
the loadlibrary loader reports non-standard error messages.
* Makefile.am (TESTSUITE_AT): Add above test.
2010-01-02 Peter Rosin <peda@lysator.liu.se>
Use GetErrorMode if it is available.
* libltdl/loaders/loadlibrary.c (wrap_geterrormode): New
function that checks if GetErrorMode is supported by the
system and makes use of it if it is.
(fallback_geterrormode): New function that is used otherwise
that implements the old workaround.
(geterrormode): New function pointer that points at either
of the above or directly at GetErrorMode.
(vm_open): Make use of the above.
2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ensure functions from resident modules work in atexit handlers.
* tests/resident.at (resident modules): New file, new test.
* Makefile.am (TESTSUITE_AT): Adjust.
Report by Bob Friesenhahn.
Testsuite exposure for relative output file names and deplibs.
* tests/deplib-in-subdir.at (deplib in subdir): New file, new
test.
* Makefile.am (TESTSUITE_AT): Update.
Prompted by report from Bob Friesenhahn.
2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Testsuite exposure for C++ exception handling.
* tests/exceptions.at (C++ exception handling): New file, new
test.
* Makefile.am (TESTSUITE_AT): Update.
Report by Bob Friesenhahn.
2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Bump copyright years.
* ChangeLog.2009: New, rotated from ...
* ChangeLog: ... here.
* Makefile.am (EXTRA_DIST): Add ChangeLog.2009.
* NEWS, libltdl/config/ltmain.m4sh: Bump copyright years.
* libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise.
* libtoolize.m4sh: Likewise.
Continued in ChangeLog.2009
--
Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
This file is part of GNU Libtool.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
vim:tw=72