libtool/ChangeLog
Gary V. Vaughan de8a0992b2 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.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2010-07-08 20:20:24 +07:00

1063 lines
42 KiB
Plaintext

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>
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.
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