2010-07-08 Peter Rosin 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 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 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 [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 * tests/export.at [MSVC]: dllimport all imported variables. 2010-07-01 Ralf Wildenhues Peter Rosin Support for response files with $NM. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) : 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 Fix ccache test for MSVC. * tests/static.at (ccache -all-static): Ignore compiler stderr. Reported by Peter Rosin. 2010-07-03 Charles Wilson Avoid false failures caused by filesystem interaction * tests/dlloader-api.at (dlloader API): Use uglified names for pseudo-modules. 2010-07-03 Peter Rosin 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 Don't trigger file name expansion when embedding manifests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw, cegcc ] : 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 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 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) : New tag variable. [ cygwin, mingw, cegcc ] : 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 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 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 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 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 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 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 Amend a missed opt_mode rename instance in ltmain.m4sh. * libltdl/config/ltmain.m4sh : 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 [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 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 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 [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 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) : 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 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 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 (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 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 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 Pass resident test with --disable-shared too. * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. 2010-06-13 Peter O'Gorman 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 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 Ralf Wildenhues 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 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 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 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 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 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 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 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 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 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 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 2010-06-08 Ralf Wildenhues 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 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 Rewrite manual intro to be gender-neutral. * doc/libtool.texi (Introduction): Use gender-neutral formulation when addressing developers. 2010-06-05 Gary V. Vaughan 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 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 2010-05-22 Ralf Wildenhues * HACKING: Set Reply-To: in announcement emails. 2010-05-21 Gary V. Vaughan 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 Clarify versioning algorithm documentation. * doc/libtool.texi (Updating version info): Be explicit about setting age to zero on interface change. Reported by Jef Driesen 2010-05-04 Peter O'Gorman Ranlib is required with -force_load and fat archives. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run ranlib. Reported by Jeremy Huddleston 2010-04-09 Ralf Wildenhues 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 Use linker_flags not compiler_flags with $LD. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] : With xlf and bgxlf compilers, when linking with $LD, use $linker_flags not $compiler_flags. 2010-03-31 Ralf Wildenhues 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 , Török Edwin and Åke Sandgren . 2010-03-28 Ralf Wildenhues 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 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 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 and Xiaofan Chen . 2010-03-17 Peter Rosin 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 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 (tiny change) Ralf Wildenhues 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 (tiny change) Update search path on Haiku for legacy system directory. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] : Replace legacy /boot/beos/system/lib directory with /boot/system/lib. * THANKS: Update. 2010-02-22 Ralf Wildenhues manual: fix detailmenu ordering. * doc/libtool.texi (Top): Add section for `Linking executables' in the detailmenu. 2010-02-21 Charles Wilson 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 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 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 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 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 Ralf Wildenhues Testsuite exposure for dlloader API. * tests/dlloader-api.at: New file, new test. * Makefile.am (TESTSUITE_AT): Update. 2010-01-29 Peter Rosin * tests/loadlibrary.at: Fix C++ issues. 2010-01-20 Peter Rosin 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 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 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 Bob Friesenhahn 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 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