From 2d6f1623adb9561e2026b1e19afca5cd434e3d13 Mon Sep 17 00:00:00 2001 From: "Gary V. Vaughan" Date: Sat, 8 Jan 2005 21:34:28 +0000 Subject: [PATCH] * ChangeLog: Move 2004 change logs from here... * ChangeLog.2004: ...to here. --- ChangeLog | 3581 +---------------------------------------------- ChangeLog.2004 | 3591 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 3595 insertions(+), 3577 deletions(-) create mode 100644 ChangeLog.2004 diff --git a/ChangeLog b/ChangeLog index e8a2e235..779d2549 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-01-08 Gary V. Vaughan + * ChangeLog: Move 2004 change logs from here... + * ChangeLog.2004: ...to here. + * m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says, 'I think the [license of autoconf macro files] should be: @@ -8,3586 +11,10 @@ # with or without modifications, as long as this notice is # preserved.'. -2005-01-08 Gary V. Vaughan - * ChangeLog: Reformatting. * HACKING: Fix section numbering. (Editing 'ChangeLog'): New notes on ChangeLog entry format. -2005-01-03 Ralf Wildenhues - - * tests/am-subdir.at tests/testsuite.at (AT_BOOTSTRAP, - AT_LIBTOOLIZE, AT_CHECK_LIBTOOLIZE): Rename to ... - (LT_AT_BOOTSTRAP, LT_AT_LIBTOOLIZE, LT_AT_CHECK_LIBTOOLIZE): - ...and make use of new names. - -2004-12-30 Ralf Wildenhues - - * config/getopt.m4sh (func_version, func_usage, func_help): - Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot - handle the latter. - (func_help): start autoconf and automake in subshells to avoid - error messages from ash or Bourne shell if not available. - -2004-12-28 Ralf Wildenhues - - * config/general.m4sh (func_quote_for_eval): Move backslash to - beginning of character class, to work around old Bash bug. - (func_quote_for_expand): Also test to avoid unnecessary fork. - -2004-12-28 Ralf Wildenhues , - Gary V. Vaughan - - * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh, - config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift' - for portability. - * tests/sh.test: Test for this. - -2004-12-28 Ralf Wildenhues - - * libtoolize.m4sh, config/ltmain.m4sh (most functions): New - variable $opt_debug is either `:' or `set -x' depending on - --debug. Execute at most function entries to cater for ksh which - resets `-x'. - * tests/defs.m4sh: Ditto for VERBOSE=debug. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: - _LT_TAGVAR missing for `fix_srcfile_path'. - [sysv4, sysv5]: _LT_TAGVAR missing for - `export_dynamic_flag_spec'. - - * doc/libtool.texi (all over): Use @option and @command. - Some more minor formatting updates, typos. - - * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix variable quoting; - allows lt_ECHO to match --fallback-echo again. - - * config/ltmain.m4sh (func_extract_archives): Not all shells grok - `read -r' (unnecessary in this case). - Reported by Ralf Menzel . - - * config/general.m4sh: New variable quote_scanset... - (func_quote_for_eval, func_quote_for_expand): ...use it to work - around SunOS ksh `case' backslash-escaping bug: protect character - class by variable expansion. - Reported by Alexander Kurz . - - * tests/quote.test: Restart under the correct shell (the one - $ECHO was computed for). - -2004-12-21 Ralf Wildenhues - - * libltdl/lt__dirent.c: Include lt__private.h. - * libltdl/libltdl/lt__private.h: Include lt__strl.h. - -2004-12-20 Peter O'Gorman - - * config/ltmain.m4sh (func_extract_archives) - (func_extract_an_archive): On darwin, uniq can not take the flags - -cd together, thanks to Ralf for the fix, also ar does not accept - N, so we use the fact that ar x libfoo.a foo.o will always extract - the first foo.o in the archive and we then delete foo.o from the - archive, which will also delete only the first foo.o, then rinse - and repeat. Also add markers for the testuite. - * m4/libtool.m4 (_LT_CONFIG): Add a marker so that we can use a - sed expression to find the shell functions in libtool. - * tests/functests.at: Test this feature. - * tests/testsuite.at: Add the test. - * tests/Makefile.am: Add the test. - -2004-12-20 Ralf Wildenhues - - * libtoolize.m4sh: Install `install-sh' as well, needed for - configure. - * Makefile.am, Makefile.maint: Install, update it. - * NEWS, doc/libtool.texi (Distributing): Document it. - Reported by Ross Boylan . - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Add '${wl}-z - ${wl}text' to archive_cmds and archive_expsyms_cmds. I.e., do not - allow nopic in shared libraries. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Change - no_undefined_flag back to ' -z defs'. Problems with linking - against libgcc.a will have to be resolved differently. - - * tests/demo-nopic.test [solaris, sunos]: Skip test. - -2004-12-18 Ralf Wildenhues - - * libtool.m4 [linux] (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG): - Match icpc* and ecpc* (ia64 version of icpc) instead of only icpc. - - * libltdl/lt__dirent.c (opendir) [mingw]: Fix write of constant - strings past end of buffer. - (opendir, readdir): Fix read past end of buffer. - -2004-12-17 Ralf Wildenhues - - * HACKING: Update list of non-Libtool-owned files. - -2004-12-17 Akim Demaille - - * libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval. - -2004-12-16 Ralf Wildenhues - - * libltdl/ltdl.c (trim): Return error rather than do bogus - null pointer arithmetic when parsing a malformed .la file. - -2004-12-13 Bob Friesenhahn - - * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to - emulate strlcat and strlcpy, which support size-bounded string - copying and concatenation for improved security. - * libltdl/Makefile.am: Optionally build source files - libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h. - * m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy. - -2004-12-13 Albert Chin-A-Young - - * libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): - Append -G to link command-line on AIX to honor -brtl on - command-line (runtime linking). Already done for IBM C/C++ - compilers. - -2004-12-12 Patrick Welche - - * configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}. - Necessary for removal of old libtool.m4 files. - -2004-12-10 Ralf Wildenhues - - * config/ltmain.m4sh (func_extract_archive): Send stderr of $NM - to /dev/null. - Reported by Martin Waitz . - -2004-12-09 Albert Chin-A-Young - - * config/ltmain.m4sh: Preserve -model [arg] option, used - with the Tru64 UNIX C++ compiler. This option selects the - layout of C++ classes, name mangling, and exception handling. - -2004-12-09 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_finish) [solaris]: Fix [] escaping - bug. - - * config/ltmain.m4sh (all over the map): Make use of func_basename - and func_dirname in most occasions. - - * m4/libtool.m4 (_LT_CHECK_XSI_SHELL, _LT_PROG_XSI_SHELLFNS): New - macros to detect at `configure' time whether the shell supports - some XSI extensions and to copy appropriate versions of new shell - functions into `libtool' through `config.status'. Copied - functions are Bourne and XSI variants of func_basename, - func_dirname (a variant of `dirname' suitable for libtool). - (_LT_SETUP): Require _LT_CHECK_XSI_SHELL. - (_LT_CONFIG): Use _LT_PROG_XSI_SHELLFNS to insert into `libtool' - at marker. - - * config/ltmain.m4sh: Set marker for insertion of shell functions. - - * config/general.m4sh (func_quote_for_eval): Only fork if the - substitution matches. - -2004-12-03 Gary V. Vaughan - - * TODO: Paste Peter's summary of the TODO thread starting at - http://lists.gnu.org/archive/html/libtool/2004-11/msg00130.html. - -2004-12-02 Bob Friesenhahn - - * config/ltmain.m4sh: Remove code which is no longer needed - now that temp_rpath only contains fully-qualified elements. - -2004-11-30 Ralf Wildenhues - - * config/general.m4sh: basename sed-subst is anchored and thus - does not need the `g' flag. - (func_quote_for_eval): Return both the possibly double-quoted - backslashified as well as only the backslashified argument. - * config/ltmain.m4sh (func_mode_link): Use both return values, - to save another sed_quote_subst application per cmdline arg. - -2004-11-29 Ralf Wildenhues - - * config/ltmain.m4sh (func_lalib_p): Update function - description. - (func_lalib_unsafe_p): New function with same functionality but - written without forks; this function is safe to use for cases - where the argument either does not exist or is required to be a - lalib for correct operation. - * NEWS: Mention the fact that stdin is not to be used. - * config/ltmain.m4sh (func_mode_execute, func_mode_install) - (func_mode_link): Use func_lalib_unsafe_p where appropriate. - (func_mode_execute): For the program wrapper, use - func_ltwrapper_p instead of func_lalib_p. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with - the `diet' compiler wrapper (as opposed to the `diet-dyn' wrapper) - as a static-only platform. - * NEWS: Updated. - - * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to - avoid problems with non-conforming strncpy. This is safe here. - - * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we - have a dlloader to preload. - * libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only - declare preloaded_symbols then. Fixes libltdl on static platforms. - * NEWS: Updated. - -2004-11-29 Gary V. Vaughan - - Add a search path option to libtoolize so that we can run it from - the testsuite without pulling in the last installed macros and - ltdl sources: - - * libtoolize.m4sh: Add a -I option to change libtoolize's search - path for macro files, and libltdl master sources. - (pkgvdatadir, pkgvmacrodir): Renamed... - (pkgvdatadirs, pkgvmacrodirs): ...as they can now contain a ':' - delimited list of directories. Adjust all callers. - (func_copy_all_from_path): New function to search a ':' delimited - search path for a directory to copy. - (func_serial_update, func_ltmain_update, func_config_update): New - first parameter is a filename to search for. srcdir parameter can - now be a ':' delimited search path. Adjust all callers. - (func_copy_some_files): Ditto. - Put srcfile_spec first in parameter list for consistency with - other functions. Adjust all callers. - (func_copy_cb): func_copy adapter function to call func_copy - correctly from func_copy_some_files. - (func_filename_path_search): Return the full path to the first - occurence of a named file found in a list of directories. - * tests/testsuite.at (LIBTOOLIZE): Wrap exported LIBTOOLIZE - initialisation in PREPARE_TESTS diversion to stop it being - discarded when testsuite is generated. - (AT_LIBTOOLIZE): Factor out libtoolize calls, - and set search path to find macros and libltdl source files from - the source tree. - (AT_CHECK_LIBTOOLIZE): Test it. - (AT_BOOTSTRAP): Adjust. Split out call to make. - * tests/am-subdir.at: Call make explicitly. - (Makefile.am): Fix typo in ACLOCAL_AMFLAGS, - -2004-11-28 Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link): $dlsymsobj is really - $symfileobj, bug exposed only in the static preloading case - (symfileobj is created, but not linked into output). - - * tests/demo-relink.test, tests/depdemo-relink.test: SKIP, don't - FAIL if no shared libs available in demo/. Do not try to access - nonexistent files. - - * libltdl/loaders/loadlibrary.c: Remove unneeded - file-static variable. - -2004-11-27 Bob Friesenhahn - - * config/ltmain.m4sh: Add fully-qualified paths to temp_rpath - rather than unqualified paths in order to avoid possible errors - when computing the fully-qualified path later. - -2004-11-24 Jeff Squyres - - * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) - (_LT_LANG_CXX_CONFIG) [linux]: Support for Portland Group (aka - "pgi") compilers. - * NEWS, THANKS: Updated. - -2004-11-24 Gary V. Vaughan - - * Makefile.am: Move Autotest rules from here... - * tests/Makefile.am: ...to here. - * bootstrap: Adjust. Also, create temporary Makefile from - tests/Makefile.am so that bootstrap can create the Autotest - testsuite. - -2004-11-23 Gary V. Vaughan - - If the user's login shell is something crazy like, oooh, - /bin/tcsh, trying to execute bourne shell helper scripts with - the `$SHELL /path/to/helper $helper_flags' idiom incase the - execute bits were lost by say, eeer, cvs, is gonna blow up in - our faces. This changeset tries to save these people from - their shells^H^H^H^H^H^H^H^H^Hmselves :-> - - * tests/defs.m4sh (SHELL): Move definition from here... - * config/general.m4sh (SHELL): ...to here. - -2004-11-23 Gary V. Vaughan - - The ltdl.h header is the published interface to libltdl, and - is thus not installed to $prefix/include/libltdl. It has always - been used with `#include ', so move just that one file - back to where it was before: - - * libltdl/libltdl/ltdl.h: Moved from here... - * libltdl/ltdl.h: ...to here. - * libltdl/Makefile.am: Adjust. - -2004-11-23 Peter O'Gorman - - Do not require that libtoolize --ltdl=/some/path end in libltdl. - Move most libltdl headers to libtldl/libltdl to allow - `#include ' to always work: - - * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes - in the new location. - * libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, - libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, - libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, - libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h, - libltdl/libltdl/slist.h: Added files, moved from libtdl/. - * libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, - libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, - libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved - to libltdl/libltdl. - -2004-11-23 Ralf Wildenhues - - * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. - (Invoking libtoolize): Fix typo. - -2004-11-22 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_install): Now that func_mktempdir - has been improved, the default directory template is perfectly - fine. - - * doc/libtool.texi (Invoking libtoolize): Improve documentation - for use of ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR. - -2004-11-22 Ralf Wildenhues - - * m4/libtool.m4 (_LT_TAG_COMPILER): Document that with_gcc is - tag-dependent. - - * m4/libtool.m4, tests/demo-nopic.test: Undo bogus commit. - - * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: - Make sure the argument to `-objectlist' may contain spaces. - -2004-11-19 Gary V. Vaughan - - * config/m4general.m4sh, config/mailnotify.m4sh, - clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow - parallel commits, and use safer tmpfiles. - -2004-11-19 Ralf Wildenhues - - * doc/libtool.texi (Libltdl interface): Typos. - - * doc/libtool.texi (Libltdl interface): Document public macros - LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions. - -2004-11-18 Daniel Reed - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret - `include' statements in toplevel ld.so.conf file. - -2004-11-18 Ralf Wildenhues - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: - tag-protect setting of ld_shlibs. - -2004-11-17 Ralf Wildenhues - - * doc/libtool.texi (Libltdl interface): The path separator - is system-dependent. - - * doc/libtool.texi (Linking static libraries): Typo. - - * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) - [aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience' - so convenience libs are really added to the link cmdline. - -2004-11-17 Mats Rynge - - * libtool.m4 [linux]: Use only the CC basename in case statment - when checking for icc/ecc. Allows for setting CC to the full path - to the compiler. - - * libtool.m4 [solaris]: Added missing 'with linker' flags to - -z allextract ... -z defaultextract flags - -2004-11-14 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g. - (_LT_LANG_CXX_CONFIG): Ditto. - - * configure.ac (APIVERSION): New substituted variable. - (pkgvdatadir): Ditto. Versioned data directory. - (pkgvmacrodir): Ditto. Versioned aclocal directory. - (LN): New check for LN command. - * Makefile.am (aclocal_DATA): Replaced with... - (pkgvmacro_DATA): ...this. - (install-data-local): Remove old shared resources. - (install-exec-hook): Make versioned links to executables. - (uninstall-hook): Remove versioned files. - * libltdl/Makefile.am (ltdldatadir): Redefine in terms of - pkgvdatadir. - * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. - * libtoolize.m4sh: Copy macro files from versioned macro directory - instead of shared aclocal directory. - * doc/libtool.texi: Document it. - * NEWS: Updated. - -2004-11-10 Gary V. Vaughan - - From James Henstridge : - * m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out - empty macro definitions to match each AU_DEFUN to help aclocal - from automake-1.4 regexps find the right libtool macro files. - -2004-11-10 James E Wilson , - Ralf Wildenhues - - * config/ltmain.m4sh (func_mode_link), tests/Makefile.am, - Fix error message with `-objectlist' file that does not exist. - * tests/objectlist.test: New test for this. - - * Makefile.am: config/ltmain.sh is generated by - config/ltmain.m4sh. - -2004-11-09 Ralf Wildenhues - - * doc/libtool.texi (Compile mode, Link mode, - Libltdl interface, Test descriptions, libtool script - contents): Some quote cleanup, more use of texinfo types. - - * doc/libtool.texi (libtool script contents): - echo is now ECHO; mention argument restriction. - - * doc/libtool.texi (Multiple dependencies): Minor rewording. - - * doc/libtool.texi (User defined module data, References): - indentation and word-wrap cleanup. - - * doc/libtool.texi (all over): White space cleanup: - two spaces at start of sentence, no TABs. - -2004-11-09 Gary V. Vaughan , - Ralf Wildenhues - - * doc/libtool.texi (libtool script contents): Fix description - of need_lib_prefix. - -2004-11-08 Peter Ekberg - - * config/ltmain.m4sh (func_mode_link): forward thread - related flags to dependent applications and libraries - by adding them to `inherited_linker_flags'. - -2004-11-07 Ralf Wildenhues - - * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT - to LT_INIT. - -2004-11-05 Peter Ekberg - - * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. - -2004-11-04 Bernhard Fischer , - Ralf Wildenhues - - * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4 - (_LT_SET_OPTIONS), README, README.alpha: Typos. - -2004-11-03 Ralf Wildenhues - - * libtldl/ltdl.c (parse_dotla_file): Fix memleak. - - * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. - -2004-11-03 Peter Ekberg - - * ltmain.m4sh (cwrappersource): clean up warnings and - #include errors on MinGW. - -2004-11-01 Peter Ekberg - - * config/ltmain.m4sh (cwrappersource): clean up warnings and - #include errors. - -2004-11-01 Peter Ekberg - - Sometimes, a wrapper script is generated for an executable that, - itself, does not link against an uninstalled library. It appears - that this can happen if you are building a project where: - - (1) there is a library - (2) there is an executable that does not, itself, link against - that library - - In this case, notinst_deplibs is empty, and when the wrapper - script is loaded by libtool during ./libtool mode=install, there - is a check for "is notinst_deplibs empty". In this case, it is, - so libtool reports an error. - - I don't think it is wrong to have a wrapper script for an exe that - *technically* doesn't need it. But instead of checking for - notinst_deplib nonempty as a proxy for "did wrapper script get - sourced into my environment properly" a different var should be - used. - - * config/ltmain.m4sh (func_mode_install): set new variable - `generated_by_libtool_version' in wrapper script when using - libtool_install_magic. When verifying that wrapper script was - properly sourced, check that `generated_by_libtool_version' is - non-empty, instead of using notinst_deplibs. - -2004-11-01 Charles Wilson , - Peter Ekberg - - * config/ltmain.m4sh (func_mode_install): On Windows based hosts, - ensure that import libraries don't get stripped. - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts, - use postinstall_cmds to strip DLL (not import lib!) when symbol - stripped installation was requested. - -2004-10-30 Ralf Wildenhues - - * libltdl/ltdl.c (loader_init_callback): Back out broken cast. - - * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to - target type. - - * tests/defs.m4sh (func_exec): `shift'ing when there is nothing - to shift is non-portable. - -2004-10-28 Patrick Welche , - Ralf Wildenhues - - * Makefile.am, Makefile.maint: Use path for dependencies built - in the source tree, to cater for BSD make. - -2004-10-24 Noah Misch - - * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New - functions that abstract .la sanity checking. - (func_mode_execute, func_mode_install, func_mode_link) - (func_mode_uninstall): Use them. - -2004-10-24 Gary V. Vaughan - - * config/ltmain.m4sh (opt_silent): Whether --silent was given. - (run, show): Deleted. All callers converted to opt_dry_run, - opt_silent or calls to func_show_eval. - * tests/mdemo-dryrun.test: Adjust. - - * HACKING: Fix a typo in the gpg --verify instructions. - - * Makefile.maint (cvs-dist): Generate signatures and directives - for bz2 upload. - -2004-10-23 Peter O'Gorman - - * config/ltmain.m4sh (func_mode_link): Make Gary's new tests - pass. When the output wrapper script is not in the current - directory, we can not use an rpath which is relative to the - current directory. Use an absolute path instead. - -2004-10-22 Gary V. Vaughan - - * clcommit.m4sh: Add --rcfile option. - - * clcommit.m4sh: Updated again, to support file list limited - commits to CVS, and to fix another occurence of the bash bug - that was preventing non-tla users from sending a commit mail. - -2004-10-22 Ralf Wildenhues - - * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h: - Undo accidental commit. - - * Makefile.maint: Fix typo. - -2004-10-22 Gary V. Vaughan - - * clcommit.m4sh, config/mailnotify.m4sh: Updated from - cvs-utils--tla--1.0 to fix quoting of metachars in patch names. - - * HACKING: Updated: `.in' files are now `.m4sh'; document some - more coding standards for these files. - - * config/general.m4sh (sed_double_backslash): Undo an - over-optimisation. - -2004-10-21 Gary V. Vaughan - - * AUTHORS: Reformatted to better reflect the current state of - Libtool maintainership. - * THANKS: Reformatted to give maintainers a quick way to look - up who has supplied FSF paperwork. - -2004-10-21 Noah Misch , - Gary V. Vaughan - - * config/general.m4sh (sed_double_backslash): Improve this sed - expression to correct left anchored \$ input to - double_quote_subst, as well as backslash escaped $ preceded by - any odd-numbered amount of \ characters. - -2004-10-20 Gary V. Vaughan - - * config/general.m4sh (sed_double_backslash): New sed expression - to escape \$ properly in combination with double_quote_subst. - (func_quote_for_eval): Four space indent margin for functions! - (func_quote_for_expand): Use $sed_double_backslash. - (func_show_eval): New function that echos an escaped but variable - expanded command, and then evaluates it. - -2004-10-20 Noah Misch , - Gary V. Vaughan - - * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes - from the match character set. - (double_quote_subst): Ditto. - * config/general.m4sh (sed_quote_subst): Ditto. - (double_quote_subst): New variable, copied from - m4/libtool.m4. Much the same as sed_quote_subst, but variable - references are not quoted. - (func_quote_for_eval): Given any $foo; $bar and - $foo must be identical after the following commands: - func_quote_for_eval "$foo" - eval "bar=$func_quote_for_eval_result" - (func_quote_for_expand): In a similar vein to to func_quote_for_eval, - except that variable expansions are not protected when quoting the - command for subsequent display. - * config/ltmain.m4sh: Factor away use of $sed_quote_subst now that - it has been subsumed into func_quote_for_eval. - (func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below, - use func_quote_for_expand so that ${wl} is expanded properly in - the $show expression. - -2004-10-16 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has - crle(1). - Reported by Albert Chin-A-Young - -2004-10-16 Gary V. Vaughan - - Add some new tests for Libtool's support of Automake - subdir-objects builds. This marks the beginning of a move to an - Autotest driven test framework, which will eventually allow us to - trim away many of the generated files in the current test demo - subdirectories: - - * configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out - Autotest macros. - (AUTOTEST, M4SH): Use --language long hand. - * bootstrap: Generate tests/testsuite, and by implication - tests/package.m4. - * Makefile.am (edit): Add substitutions needed to generate - tests/package.m4 from bootstrap. - (check-recursive): Add tests/testsuite. - (TESTSUITE): The new Autotest testsuite target. - (TESTSUITE_AT): The Autotest sources. - (EXTRA_DIST): Distribute the generated testsuite and sources. - (tests/package.m4): Use $(edit) to propagate package metadata to - the new tests. - (tests/testsuite): Build the testsuite. - (tests/atconfig): How to regenerate the file. - (check-local): Hook Autotest into `make check'. - (installcheck-local): Run the testsuite on the installed tree. - (clean-local): Tidy our file droppings. - * tests/Makefile.am: Remove bitrotted code from Autotest - experiments in Autoconf 2.52 era. Updated the rest and moved into - Makefile.am. - * tests/testsuite.at: New container for Autotest test groups. - * tests/am-subdir.at: New test group for compatibility with - Automake's subdir-objects builds. Currently holds two tests, one - for a C project and another similar project in C++. - * TODO: Add an entry to remind us that these new tests expose a - bug in libtool. - * NEWS: Updated. - -2004-10-14 Peter O'Gorman - - * config/ltmain.m4sh: Revert most of my last commit, only eval - \$show \"$cmds\", and only when building a library. I'm a wimp. - Thanks Gary for pointing out errors in previous commit. - -2004-10-13 Gary V. Vaughan - - * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on - solaris 2.7 and higher in the finalisation notes. - Reported by Kurt J. Lidl - - * tests/cdemo-undef.test: New test for hosts that allow shared - libraries with undefined symbols, but have no C++ compiler - installed. - * tests/Makefile.am (COMMON_TESTS): Add it. - -2004-10-13 Peter O'Gorman - - * config/ltmain.m4sh: Make sure that we $show what we will $run, - use eval $show if we do $run eval. - -2004-10-13 Charles Wilson - - * config/ltmain.m4sh: add foo/bin for every foo/lib - in dllsearchpath when creating wrapper script. Fixes - depdemo-relink test failure. - -2004-10-12 Charles Wilson - - * config/ltmain.m4sh (func_mode_link): don't relink - on cygwin/mingw; no need. But do ensure that wrappers - are created unless doing a purely static build. - -2004-10-13 Gary V. Vaughan - - * tests/tagdemo-undef.test: New test for hosts that allow shared - libraries with undefined symbols. - * tests/Makefile.am (CXX_TESTS): Add it. - -2004-10-11 Charles Wilson - - * tests/link.test: Fix check for use of libnlsut.a under - Cygwin. - -2004-10-11 Noah Misch - - * tests/quote.test: Do not look for $preargs in the output, - because libtool may change them. - -2004-10-10 Charles Wilson - - * config/ltmain.m4sh: Really don't require versions of GNU - sed newer than 3.02 for Cygwin and MinGW, and don't break - dryrun mode. - -2004-10-10 Bob Friesenhahn - - * config/getopt.m4sh: Under MinGW, reported paths may include ':' - so ':' should not be used as the sed delimiter. Use '*' instead - since it is very unlikely to appear in a path. - -2004-10-10 Albert Chin-A-Young - - * config/ltmain.m4sh: Don't require versions of GNU sed newer than - 3.02 for Cygwin and MinGW. - -2004-10-10 Bob Friesenhahn - - * tests/pdemo-inst.test: Correction for mis-application of - Charles Wilson's earlier patch. - -2004-10-09 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and - restore code for CC is nested at the same depth. - (_LT_LANG_CXX_CONFIG): Ditto, but for several variables. - -2004-10-08 Gary V. Vaughan - - Update to the latest commit and mailnotify scripts from - gary@gnu.org--2004/cvs-utils--tla--1.0: - - * commit, config/mailnotify: Removed. Now built from... - * clcommit.m4sh, config/mailnotify.m4sh: ...these new sources. - * Makefile.maint (commit, config/mailnotify): How to build them. - * bootstrap: If we have a checked out tree (i.e. clcommit.m4sh - is present), then build them. - -2004-10-08 Gary V. Vaughan - - Fix some issues that mangled the reexecution path to a script, - and thus prevented it from finding itself: - - * config/general.m4sh (progname): Don't actually change the name - of the script if it begins with a `-', just prepend `./'. - (progpath): Add a new clause that first searches the execution - PATH, and then finally assumes this script is in the current - working directory if $progname has no directory separators (e.g - when invoked as `$SHELL progname'). - -2004-10-08 Gary V. Vaughan - - * config/general.m4sh (func_verbose): Work around a bash bug in - shell functions. - -2004-10-08 Charles Wilson - - * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make. - * config/ltmain.m4sh: Windows and Cygwin reserve the .lnk - extension to represent shortcuts. Use the extension ".lnkscript" - rather than ".lnk" for the piecewise linking ld script in order to - avoid the conflict. - -2004-10-07 Ralf Wildenhues - - * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks, - free user_search_path on lt_dlexit. - -2004-10-07 Ralf Wildenhues - - * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE - from autoconf >= 2.59. - - * TODO: Remove item: no need for a libltdl without stdio. - -2004-10-07 Gary V. Vaughan - - * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh - for shell portability problems. - - * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in - _LT_DECL descriptions were not being escaped before injection into - TAG CONFIG here documents in config.status. - -2004-10-06 Peter O'Gorman - - * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work - around the deficiencies in AC_PROG_CXX and AC_PROG_F77. - * configure.ac: Cleaned up, having moved the checks for compilers - which do not exist to libtool.m4. - -2004-10-05 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Move .la file parsing - part.. (parse_dotla_file): ..here. Adjust. - - * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts - to int from my patch from 2004-10-01. - - * AUTHORS: Add myself. - -2004-10-05 Peter O'Gorman - - * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on - older darwins too. Reported by Christoph Egger. - -2004-10-05 Gary V. Vaughan - - * configure.ac: Bumped version to 2.1a. - -2004-10-04 Gary V. Vaughan - - * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO - with $lt_ECHO, or we always get a libtool with ECHO=echo, rather - than testing for a mechanism that quotes \ properly. - * NEWS: Updated. - - * config/ltmain.m4sh: Need to include getopt.m4sh earlier so that - progpath is set before it is called to --no-reexec. - * NEWS: Updated. - -2004-10-04 Gary V. Vaughan - - Without this change, the distributed libtool tarball has a - dependency on autom4te. There was some inconsistency in the - filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure - -> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in - files are distributed: - - * tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh. - * Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh. - (libtoolize.in, libtoolize): Split into bootstrap and runtime - stages. - ($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto. - ($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in - names. - * bootstrap: Make libtoolize.in and tests/defs.in. - * NEWS: Updated. - -2004-10-03 Bob Friesenhahn - - * README, README.alpha: Update notes regarding available VERBOSE - settings. - -2004-10-03 Bob Friesenhahn - - * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed - under MinGW. - * tests/defs.in: Support VERBOSE=debug to enable shell tracing - while running tests. - -2004-10-03 Gary V. Vaughan - - * NEWS: Updated. - * configure.ac: Bumped version to 1.9e. - - GNU libtool 1.9d was released. - - * configure.ac: Bumped version to 1.9d. - * NEWS: Updated. - - * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as - per Ralf's original patch. - Reported by Bob Friesenhahn - - * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use - libdlloader_la_OBJECTS, an undocumented Automake internal - variable... - (libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here - instead. - Reported by Bob Friesenhahn - - * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. - - * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE - definition. - -2004-10-03 Ralf Wildenhues , - Gary V. Vaughan - - * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE - for mingw32. - * libltdl/lt__dirent.h: Ditto. - * libltdl/argz._h: Ditto. Be careful about not requiring - additional libltdl files when used outside of libltdl. - * libltdl/slist.h: Ditto. - * HACKING: Add a section on libltdl implementation layering. - -2004-10-03 Gary V. Vaughan - - * tests/quote.test: echo is called ECHO now. Make sure we extract - the value of ECHO from the libtool script. - Reported by Bob Friesenhahn - -2004-10-02 Gary V. Vaughan - - * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my - hack from 2004-09-30 now that I've removed /lib/hello.la and the - tests work properly for me again. - -2004-10-02 Jim Tison - - Initial support for s390x-ibm-tpf: - - * m4/libtool.m4: Correct obvious spelling errors in remarks. - (_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390 - conventions. - (_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host. - (_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for - s390x-ibm-tpf hosts. - (_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS - attributes. - * NEWS: Updated. - -2004-10-01 Ralf Wildenhues - - * config/ltmain.in (func_mode_install): Need to set $tmpdir before - using it. - - * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes - e.g. the quoting of the -export-symbols-regex argument in .la - files' relink_command. - - * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we - need to guard against null pointer dereference here. - * libltdl/ltdl.c (lt_dlcaller_register): Ditto. - - * libltdl/slist.c (slist_foreach): result was declared as - inner variable, shadowing the actually returned value. - - * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument - to isspace/isalnum to the correct range. Also, cast to int to - avoid compiler warnings. - -2004-09-30 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in - case the name given to lt_dlopen contains no extension. - - * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c - (tryall_dlopen, lt_dlhandle_next): Show usage of function pointers. - - * doc/libtool.texi (LT_INIT, Using libltdl) - (Module loaders for libltdl, Multiple dependencies) - (libtool script contents): Fix several typos (trivial change). - Also, libltdl consists of more than two small files. - -2004-09-30 Gary V. Vaughan - - * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther - workstation doesn't hardcode the shared library path, although it - used to, so this is more likely a function of the binutils and/or - gcc I am using at the moment. The hardcode value setting code for - the configure script sucks at the moment though... - * TODO: ...and needs to do a test compile instead of a table - lookup before 2.0 final. - - * m4/libtool.m4 (echo): Use ECHO throughout for consistency with - config/ltmain.in. - Reported by Ralf Wildenhues - - * m4/libtool.m4 (rm): Use RM throughout for consistency with - config/ltmain.in. - Reported by Charles Wilson - -2004-09-27 Peter O'Gorman - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v - output during configure. (Really this time, honest) - -2004-09-26 Albert Chin-A-Young - - * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds, - move -bnoentry linker option before $compiler_flags to honor any - possible -e entries in LDFLAGS. - -2004-09-25 Gary V. Vaughan - - * config/ltmain.in (func_mode_link): When linking an installed - libtool library on the command line using -lfoo we need to find - the library in the search paths and add it's dependency_libs to - the link in the conv pass so that any libtool libs listed are - correctly expanded in the link pass. - -2004-09-24 Charles Wilson - - * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from - `2004-09-22 Charles Wilson '. - -2004-09-24 Gary V. Vaughan - - * config/general.m4sh (Xsed): Set a default when not used from - ltmain.in. - (ECHO): Audit for (and correct!) uses of $ECHO with more than one - argument, which breaks when ECHO='printf %s\n', and with possible - `-' as first character of the argument, which breaks `print -r' - and some implementations of `echo'. - * config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto. - Reported by Albert Chin-A-Young - -2004-09-24 Peter O'Gorman - - * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v - output during configure. - -2004-09-24 Gary V. Vaughan - - * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf - AC_SUBSTs for GREP. Do our own here too to cater for release - autoconfen. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set - need_version to yes or no depending on the os release. - Reported by Dalibor Topic - -2004-09-23 Gary V. Vaughan - - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-deplibs.test, tests/demo-exec.test, - tests/demo-hardcode.test, tests/demo-inst.test, - tests/demo-make.test, tests/demo-nofast.test, - tests/demo-noinst-link.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-relink.test, - tests/demo-shared.test, tests/demo-static.test, - tests/demo-unst.test, tests/depdemo-conf.test, - tests/depdemo-exec.test, tests/depdemo-inst.test, - tests/depdemo-make.test, tests/depdemo-nofast.test, - tests/depdemo-relink.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/depdemo-unst.test, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/link-2.test, tests/link.test, - tests/mdemo-conf.test, tests/mdemo-dryrun.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/mdemo-make.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/mdemo-unst.test, - tests/mdemo2-conf.test, tests/mdemo2-exec.test, - tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/pdemo-make.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test, - tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so - we must use `. ./defs' to source the common code. - Reported by Alexandre Duret-Lutz - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error - corrected. - -2004-09-23 Gary V. Vaughan - - Since defs can change (path to grep for example) when it is made - for a different host, it can't be shipped. That also means that - defs will always be generated in the build tree, so each test case - can have the srcdir discovery factored away into tests/defs.in: - - * Makefile.am (EXTRA_DIST): s/defs/defs.in/g - * tests/Makefile.am (defs): New rule to remake defs from the - parent directory's Makefile. - * tests/cdemo-conf.test, tests/cdemo-exec.test, - tests/cdemo-make.test, tests/cdemo-shared.test, - tests/cdemo-static.test, tests/demo-conf.test, - tests/demo-deplibs.test, tests/demo-exec.test, - tests/demo-hardcode.test, tests/demo-inst.test, - tests/demo-make.test, tests/demo-nofast.test, - tests/demo-noinst-link.test, tests/demo-nopic.test, - tests/demo-pic.test, tests/demo-relink.test, - tests/demo-shared.test, tests/demo-static.test, - tests/demo-unst.test, tests/depdemo-conf.test, - tests/depdemo-exec.test, tests/depdemo-inst.test, - tests/depdemo-make.test, tests/depdemo-nofast.test, - tests/depdemo-relink.test, tests/depdemo-shared.test, - tests/depdemo-static.test, tests/depdemo-unst.test, - tests/f77demo-conf.test, tests/f77demo-exec.test, - tests/f77demo-make.test, tests/f77demo-shared.test, - tests/f77demo-static.test, tests/link-2.test, tests/link.test, - tests/mdemo-conf.test, tests/mdemo-dryrun.test, - tests/mdemo-exec.test, tests/mdemo-inst.test, - tests/mdemo-make.test, tests/mdemo-shared.test, - tests/mdemo-static.test, tests/mdemo-unst.test, - tests/mdemo2-conf.test, tests/mdemo2-exec.test, - tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, - tests/pdemo-exec.test, tests/pdemo-inst.test, - tests/pdemo-make.test, tests/quote.test, tests/sh.test, - tests/suffix.test, tests/tagdemo-conf.test, - tests/tagdemo-exec.test, tests/tagdemo-make.test, - tests/tagdemo-shared.test, tests/tagdemo-static.test, - tests/tagtrace.test: Removed srcdir discovery boilerplate... - * tests/defs.in: ...and put it here. - -2004-09-23 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation - to correct place. - * doc/libtool.texi (libtool script contents): update description - of global_symbol_to_cdecl. - -2004-09-23 Gary V. Vaughan - - * configure.ac (M4SH): AC_SUBST m4sh expander. - * config/general.m4sh, config/getopt.m4sh: New files with factored - out functionality from... - * config/ltmain.in, libtoolize.in: ...here. m4_include the shared - code, and call AS_SHELL_SANITIZE. Also quote all `[' and `]' to - survive m4 run. - (func_serial): No need to double up m4sh quotes after a `#'. - (func_check_macros): Escape `dnl' to stop m4sh interpreting it as - a macro. - * tests/defs.in: New file expanded into tests/defs by autom4te. - * m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests - that use it. - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with - M4SH. - (libtoolize): Ditto. - * bootstrap: Set M4SH for call to make. - * HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more. - - * m4/libtool.m4: _LT_DECL uppercase ECHO. - * config/ltmain.in: Use it throughout. - (func_mkdir_p): Now matches the other implementations in - tests/defs and libtoolize.in. - * tests/sh.test: Updated to detect ECHO misuse. - -2004-09-22 Gary V. Vaughan - - * config/ltmain.in (func_mode_link): Propagate a convenience - library's dependency libs correctly when it is being linked into a - libtool library. Deplibs are now propagated whether libdir is set - or not. - -2004-09-22 Andreas Schwab - - The dlpreopen pass over libraries reverses the elements in the - $deplibs list. This causes problems when the link pass tries to - find libraries when they are located in non-standard places - denoted by -L options. Due to the reversed order these -L options - occur after the libraries that need them, and they are not found: - - * config/ltmain.in: (Un)Reverse $deplibs list at the start of the - link pass in lib mode. - -2004-09-22 Charles Wilson - - * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating - a .exp file for an executable, also create a .def file, and add - that file to the link command via SYMFILES. This causes binutils - to generate an .edata section, and allows self dlopening to work. - * NEWS: Updated. - - * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for - postinstall_cmds and postuninstall_cmds to allow spaces in install - paths. - - * config/ltmain.in (func_generate_dlsyms): Addresses in - _preloaded_symbols[] cannot go into .rdata section if symbols are - DATA imported from DLL, on windows, because runtime relocations - must happen. - * m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])): Build exports for - symbols in .rdata sections. - -2004-09-19 Gary V. Vaughan - - The checks in assign.test are trying to catch case of this ilk: - `foo=bar break', but unfortunately they also choke on `foo=bar; - break' and `foo=bar && break'. Writing a sophisticated test to - catch just the intended case seems like more trouble than it's - worth, but leaving the test in causes the testsuite to fail on - valid m4sh output: - - * tests/assign.test: Removed; chokes on perfectly valid shell - syntax. - * tests/Makefile.am (COMMON_TESTS): Remove assign.test. - * tests/defs.in (scripts): Don't check the m4sh inputs, go back - to checking the generated ltmain.sh script. - -2004-09-17 Gary V. Vaughan - - * config/ltmain.in (func_echo): Except for multi-line warnings and - errors, always use func_echo. $show is for command output, and - $echo is for internal use in backtick expressions and similar. - -2004-09-17 Gary V. Vaughan - - Missed a couple of MKDIR_P references in ltmain.in in my last - patch; fix them carefully. Introduce an opt_dry_run to ltmain.in - so that the implementations of func_mkdir_p can converge, and a - func_mktempdir to do a better job of temporary directory creation: - - * libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't - created in dry run mode. - * tests/defs (func_mkdir_p): Ditto. We don't actually have a dry - run mode for the tests, but the function is written carefully to - be kept in synch and work correctly here too. - * config/ltmain.in (func_mkdir_p): Ditto. This copy of the - function now only differs in its use of $echo over $ECHO. - (func_extract_archive): Removed first redundant mkdir call. - (func_mktempdir): New function that tries to avoid races when - making temporary directories. - (opt_dry_run): Set this if --dry-run is given at the CLI, or if - tests/mdemo-dryrun.test has forced the value of $run. - (func_mode_install): Call $MKDIR directly and error out if the - directory cannot be created. - (func_mode_link): Rather than copying func_mkdir_p into the - wrapper script as a replacement for $MKDIR_P, we know that the - script won't be called my `make -j', so write the current value of - $MKDIR. - -2004-09-17 Peter O'Gorman - - * m4/libtool.m4: remove an extra "]" - - * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4. - * config/libtool.in [darwin]: ditto. - -2004-09-16 Gary V. Vaughan - - My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p - below is horrendously broken since it makes the installed libtool - try to run the mkinstalldirs or install-sh helper scripts. This - patch fixes the `make -j' mkdir race condition internally: - - * libtoolize.in (func_mkdir_p): New slice and dice algorithm - to build the directory tree one dir at a time, ignoring errors - until the end incase they are transient due to a concurrent - identical mkdir. - * tests/defs (func_mkdir_p): Ditto. - * config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in - uses $echo rather than $ECHO, and uses $show and $run to interact - correctly with the command line. - * configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again. - * Makefile.am (edit): Don't substitute automake's $(mkdir_p). - * NEWS: Updated. - -2004-09-15 Bob Friesenhahn - - * libltdl/loaders/loadlibrary.c: Compilation fixes (originally - from Gary V. Vaughan) to compile under MinGW. - * config/mkstamp: Translate input data so that it is assured to - use the Unix line terminations. This is necessary under Windows if - the files are checked out with CR/NL line terminations. A - side-effect of this change is that input must always be from - stdin. Previously a filename argument was accepted as well. - -2004-09-15 Ralf Wildenhues - - * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS - for the test suite. - -2004-09-15 Ralf Wildenhues - - * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with - AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning. - * m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto. - -2004-09-15 Gary V. Vaughan - - * config/ltmain.in (func_quote_for_eval): Set a return value to - avoid forking at every call. Changed all callers. - (func_mode_link): Simplified, and removed the final non-portable - nested escaped double quotes in back quotes usage in the process. - -2004-09-14 Gary V. Vaughan - - * config/ltmain.in (func_quote_for_eval): Factor out the ugly - shell meta-character quoting. Changed all callers. - -2004-09-14 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification: - distinguish between data and code symbols on every system. - -2004-09-14 Albert Chin-A-Young - - Unfortunately, libtool has no way of telling if unrecognized - compiler flags need an argument or not, and can disect options and - pass parts through incorrectly. This changeset reverts both - 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert - Chin-A-Young below, and recognises more options explicitly: - - * config/ltmain.in (func_mode_link): Pass through options needed - to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM - compilers. - -2004-09-13 Gary V. Vaughan - - * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when - applying 2004-09-11 Ralf Wildenhues. - -2004-09-12 Brad - - * libtool.m4: Fixes for the OpenBSD support - -2004-09-12 Peter O'Gorman - - Our fortran tests were not very good. All the libraries created - were convenience libs, so we did not test the creation of shared - libraries on any platform. Also none of the libs used any actual - fortran library calls, adding a call to write(*,*) in each lib - causes the tests to fail on darwin (and presumably other platforms). - These new tests would likely cause many more fortran test failures, - so if there is an error during make it is reported as SKIP. - - * tests/f77demo-make.test: Don't fail hard, skip on failure. - * tests/f77demo/foof2.f: New file. - * tests/f77demo/foof3.f: New file. - * tests/f77demo/fprogram.f: Call routine in new lib. - * tests/f77demo/foof.f: Call routine in another new lib. - * tests/f77demo/Makefile.am: Make a couple of new libraries, add - $(FLIBS) to cprogram LDADD. - -2004-09-11 Ralf Wildenhues - - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes - data and code symbols on linux-gnu/ia64. Fixes multiple testsuite - failures. - * NEWS: Updated. - -2004-09-06 Gary V. Vaughan - - * libltdl/loaders/shl_load.c (get_vtable): Typo. - -2004-09-06 Albert Chin-A-Young - - Hopefully, passing unrecognised compiler arguments through - unmolested will prove to be a good plan for the 2.0 release. If - it goes awry, we can get back to where we were by reverting this - patch and the 2004-09-05 Albert Chin-A-Young patch, aka - gary@gnu.org--2004/libtool--devo--1.0--patch-169,172: - - * config/ltmain.in (func_mode_link): Because we now pass through - compiler arguments we doesn't recognize, the code to pass - through GCC's -m* arguments is not needed. - -2004-09-06 Albert Chin-A-Young - - * Makefile.am (clean-ltmain-sh): Using '==' to test for equality - in a shell script is not portable. Use '=' instead. - -2004-09-05 Andreas Schwab - - * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of - AC_CONFIG_SUBDIRS. - -2004-09-05 Albert Chin-A-Young - - * config/ltmain.in (func_mode_link): Pass otherwise unrecognised + - and - style switches to the compiler. - * NEWS: Updated. - -2004-09-05 Gary V. Vaughan - - * Makefile.am (libtool): Force libtool to be regenerated if - stamp-vcl has changed. - -2004-09-05 Albert Chin-A-Young - - * m4/libtool.m4, config/ltmain.in: When calling $LTCC, - pass default $CFLAGS through with $LTCFLAGS. - -2004-09-03 David Edelsohn - - * config/ltmain.in (func_mode_link): Use $pic_object as - $non_pic_object if $non_pic_object=none. - * NEWS: Updated. - -2004-09-03 Gary V. Vaughan - - * bootstrap: Remember that the ltmain.sh generated by bootstrap - is missing most of its substitution values, so force it to be - rebuilt at make time by touching $(top_srcdir)/config/ltmain.in. - - From Martin Quinson - * m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use - AS_HELP_STRING to get rid of autoconf -Wobsolete warning - messages. - * m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto. - * m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC) - (_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto. - * TODO: Updated - -2004-09-03 Ralf Wildenhues - - * libltdl/slist.c (slist_cons): Don't leak the tail of a list. - -2004-09-03 Albert Chin-A-Young - - * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. - -2004-09-03 Gary V. Vaughan - - * HACKING: Explain how to verify detached signatures with gpg in - the release announcement templates. - - * AUTHORS: Fix typo in my address. - -2004-09-02 Gary V. Vaughan , - - Builds of packages that use libtool and make -j produce "directory - already exists warnings" for .lib directory. Build on automake - wisdom to support make -j builds where a suitable mkdir is - available: - - * configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some - trouble to find a $(mkdir_p) that doesn't interfere with make -j. - * Makefile.am (edit): Substitute for @mkdir_p@. - * config/ltmain.in (MKDIR_P): Take @mkdir_p@ value. - (mkdir): Removed. - (func_mkdir_p): New function to use $MKDIR_P. Factor out all - previous mkdir calls to use this function. - (RM, MV): Declared as in libtoolize.in. Changed all callers. - * libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake. - (func_mkdir_p): Use it, similarly to new config/ltmain.in. - * tests/defs: Synchronize boiler plate code with ltmain.in. - Adjust all callers. - Add missing copyright preamble. - * tests/demo-static.test: Add missing copyright preamble. - * NEWS: Updated. - Reported by Daniel Reed - -2004-09-02 Gary V. Vaughan , - - * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the - shell, incase it is not set when running maintainer rules with - `make -fMakefile.maint'. - Don't show the shell commands. - - * AUTHORS: Fix my email address. - -2004-09-02 Ralf Wildenhues - - * libltdl/ltdl.c (try_dlopen): Fix memory leak. - * NEWS: Updated. - -2004-09-02 Gary V. Vaughan , - Ralf Wildenhues - - * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest - upstream. Mostly comments, formal item boxing, a sort function, - and const madness reduction. - (slist_new): Removed. - (slist_box, slist_unbox, slist_sort): New. - (SListCompare, SListCallback): Swapped! - (slist_remove, slist_find): Change order of parameters for - orthogonality with slist_foreach. Changed all callers. - * libltdl/lt_dlloader.c (loader_cmp): Renamed to... - (loader_callback): ...this. Return boxed item. - (lt_dlloader_remove): Adjust to new loader_callback semantics; - unbox each removed item before returning. - Remove unused variable. - Remove const from name parameter, since the slist API cannot - guarantee userdata const-ancy for its callback functions. - (lt_dlloader_find): Adjust to new loader_callback semantics; need - to return the contents of the boxed item. - Remove const from name parameter, since the slist API cannot - guarantee userdata const-ancy for its callback functions. - * libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove): - Adjust to new constless footprint. - * libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed - by `lt_dlloader_remove' while cleaning up, so the address in local - variable `loader' is invalidated. Since some loaders may be - resident modules that cannot be unloaded (though we have none - yet), we must save each `next' address before calling - `lt_dlloader_remove'. - * NEWS: Updated. - * THANKS: Added Ralf. - -2004-09-01 Gary V. Vaughan - - * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure - from slist_new. - * libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't - overwrite its error type, and simplify. - Reported by Ralf Wildenhues - -2004-09-01 Ralf Wildenhues - - * libltdl/slist.c (slist_new): Handle malloc failure gracefully. - -2004-09-01 Gary V. Vaughan - - * libtoolize.in, config/ltmain.in: Add CDPATH protection to - preamble. - * tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible' - preamble in here too. - * HACKING: Note that tests/defs needs synching with m4sh.m4 too. - * TODO: Add new item. - - * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp - macro name, LT_DLSEARCH_PATH. - - * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses - warning. - (foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc - signed vs unsigned warning. - Reported by Bob Friesenhahn - - * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of - ltmain.sh no longer being in the build tree. - Reported by Ralf Wildenhues - -2004-09-01 Ralf Wildenhues - - * libltdl/loaders/preopen.c: Initialise memory in get_vtable. - - * tests/sh.test: Look in the source tree for ltmain.sh. - -2004-09-01 Gary V. Vaughan - - Don't use C99 flexible array types as we want to be C89 - compatible. Instead, revert to the old way of doing things with - an array of symbol name vs. address, and adding the originator as - the first symbol but with a NULL address: - - * config/ltmain.in (func_extract_dlsyms): Store originator as a - NULL address symbol. - * libltdl/ltdl.h (lt_dlsymbol): Removed. - (lt_dlsymlist): Remove originator field. - (LTDL_SET_PRELOADED_SYMBOLS): Adjust. - * libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust - for new types. - (vm_sym): Skip the new originator symbol when scanning symbol - names. - * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols - test file to match. - * NEWS: Updated. - Reported by Andreas Schwab - -2004-09-01 Gary V. Vaughan - - Libtool currently assumes that certain characteristics, such as - enable_shared, apply to the host architecture rather than per- - language. Running the tests over a broken compiler can corrupt - these values, when there is no C++ compiler for example, so we - skip most of the tests in those cases. - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was - set from configure.ac, then don't run all the compiler tests. - (_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler. - -2004-08-31 Gary V. Vaughan - - * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh - from the build tree that were left behind by previous versions of - libtool. - ($top_srcdir)/stamp-vcl: Since this rule is already called on - every invocation of make, hook clean-ltmain-sh in here too. - Suggested by Ralf Wildenhues - -2004-08-31 Ralf Wildenhues - - * bootstrap: Update warning message to reflect having split - libtool.m4 into several files. - Also, add config/ltmain.sh to list of stale files from previous - versions to be removed before bootstrap. - - * libltdl/ltdl.c: Replace strdup with lt__strdup. - -2004-08-30 Gary V. Vaughan - - * config/ltmain.in: Double quote even $# for the sake of sh.test. - (exec_cmd): Be careful about "`\"foo\"`" quoting, even in comments - to avoid triggering the tests in sh.test. - - * configure.ac: Because of the way the autoconf C++ testing - works, we need to call the C test first to work in an environment - that has no C++ compiler. - - * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return - value of this function is often passed to free, don't declare it - `const'. Responsibility for this memory is given back to the - caller on return. - * libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto. - * libltdl/ltdl.c (lt_dlexit): Adjust. - * NEWS: Updated. - -2004-08-30 Andreas Schwab - - * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. - - * libltdl/slist.h (SListCallback): Fix missing type. - - * config/ltmain.in: Accept --mode=relink. - -2004-08-29 Gary V. Vaughan - - * NEWS: Updated. - * configure.ac: Bumped version to 1.9c. - - GNU libtool 1.9b was released. - - * configure.ac: Bumped version to 1.9b. - * NEWS: Updated. - * INSTALL, config/config.guess, config/config.sub, - config/texinfo.tex: Updated from canonical source. - * Makefile.maint, HACKING: Update instructions for releasing in a - VPATH build. - - * Makefile.am (dist-hook): Only run if README-alpha exists. - * README.alpha: Renamed from README-alpha to stop automake from - automatically adding it to DIST_COMMON. - - * NEWS: Merge changes from branch-1-5. - - * Makefile.am (dist-hook): Always distribute just a README file, - but take its contents from README-alpha for alpha releases. - - * TODO: Reformat. Removed some items that have been implemented. - -2004-08-29 Gary V. Vaughan - - Add a new `-weak' flag to tell libtool when not to propogate - dependency libraries from dlpreopened modules to libraries: - - * config/ltmain.in: Support new -weak link mode option. Adjust - help message. - * libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it. - * doc/libtool.texi (Linking with dlopened modules): Document it. - (Link mode): Mention -weak. - * NEWS: Updated. - -2004-08-29 Gary V. Vaughan - - * config/ltmain.in (opt_help): Defer showing help messages until - after a possible following --mode argument has been parsed, so we - can handle `libtool --help --mode=foo'. - -2004-08-29 Gary V. Vaughan - - We have had shell functions in ltmain.in for a few years without - complaint now, and recently a few more have crept in. Make a - start at refactoring the code with shell functions, and - standardising on option parsing style: - - * config/ltmain.in (func_echo, func_verbose, func_error) - (func_fatal_error, func_fatal_help, func_missing_arg) - (func_version, func_usage, func_help): Boiler plate shell - functions mostly copied from libtoolize.in. Changed *lots* of - shell snippets to call these functions as appropriate, rather than - inlining the same code over and over. - (func_config, func_features, func_enable_tag, func_mode_help): - Factored out from the shared option parsing loop. Write a new - shared option parser based on the one in libtoolize.in. - (func_check_version_match): Factored out from global scope. - (func_mode_compile, func_mode_execute, func_mode_finish) - (func_mode_install, func_mode_link, func_mode_uninstall): Break - each of the top level mode handlers out into a function. Adjust - main loop. - (modename, prevopt, prev, optarg, show_help): Removed in the - course of cleaning up the shared option parser. - (opt_duplicate_deps): Use `:' and `false' instead of `yes' and `', - so we can run it directly, rather than calling test. - -2004-08-28 Gary V. Vaughan - - To help users submit better bug reports, improve the general - instructions, and provide additional useful info alongside the bug - reporting address in --help output: - - * Makefile.am (edit): Substitute $host_triplet. - * libtoolize.in: Output useful debug info with --help. - * config/ltmain.in: Ditto. - * README: Rewritten. Added copyright info. - * README-alpha: Rewritten. Added copyright info. - * HACKING: New file, partly taken from old README-alpha. - -2004-08-27 Gary V. Vaughan - - Two things to stop `make distcheck' from trying to rebuild - distributed files (m4/ltversion.m4 and config/ltmain.in) in the - readonly source tree: - - * Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in - $(top_srcdir), so that an up-to-date version is rolled into the - dist tarball even from a VPATH build. - ($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile, - otherwise ltmain.sh needs to be rebuilt after every config.status - run, and then configure needs to be rebuilt, and it all goes - horribly wrong :-/ Unfortunately, we can't depend on Makefile.am - either, because that is a circular dependency. The downside of - this change is that it is now possible to edit Makefile.am to - change the way ltmain.sh is generated, and the dependency - information can't tell that ltmain.sh needs regenerating. - -2004-08-27 Gary V. Vaughan - - * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. - -2004-08-27 Gary V. Vaughan - - * doc/libtool.texi (Cheap tricks): Fix the instructions for making - a ltmain.in wrapping libtool in light of recent changes to the - version checking code. - -2004-08-26 Peter O'Gorman - - * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid - linking to so many libraries on darwin. - - * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet - is perfectly fine. - - * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. - -2004-08-25 Paolo Bonzini - - * config/ltmain.in (piecewise linking): Use a GNU ld script if - possible. - * m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable - with_gnu_ld. - (_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx. - -2004-08-22 Gary V. Vaughan - - The Grand Renaming. In preparation for libtool-2.0, move all of - the many and varied m4 symbols accumulated by libtool over the - years, considering also that modern autoconf can detect unexpanded - macros even without AC in the macro name: - - * bootstrap: Remove libltdl/config.h from previous releases. - * m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a - giant sed transformation like this: - s,AC_LIB_LTDL,LTDL_INIT,g - s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g - s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g - s,AC_WITH_LTDL,LT_WITH_LTDL,g - s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g - s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g - s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g - s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g - s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g - s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g - s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g - s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g - s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g - s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g - s,AC_CHECK_LIBM,LT_LIB_M,g - s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g - s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g - s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g - s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g - s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g - s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g - s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g - s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g - s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g - s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g - s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g - s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g - s,AC_PROG_LD,LT_PATH_LD,g - s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g - s,AC_PROG_NM,LT_PATH_NM,g - s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g - s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g - s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g - s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g - s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g - s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g - s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g - s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g - s,_LT_AC_TAGVAR,_LT_TAGVAR,g - s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g - s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g - s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g - s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g - s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g - s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g - s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g - s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g - s,LT_AC_PROG_SED,_LT_DECL_SED,g - * doc/libtool.texi (Autoconf macros): Document exported macros. - * libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT - instead of newly obsoleted AC_LIB_LTDL. - (func_scan_files): Also set seen_ltdl for LTDL_INIT and - LT_WITH_LTDL. - -2004-08-12 Peter O'Gorman - - * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup, - thanks to Daniel Reed. - -2004-08-11 Daniel Reed - - * tests/demo-nopic.test: Do not run on x86_64 or s390* - -2004-08-06 Gary V. Vaughan - - * libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not - an environment variable, it is an actual path. - - * bootstrap: Remove `-f Makefile.am' now that we have an actual - Makefile to build ltmain.sh. - Reported by Noah Mish - -2004-08-05 Gary V. Vaughan - - * bootstrap: Run the bootstrap rules from a file named Makefile, - copied from Makefile.am for fresh checkouts. - -2004-08-05 Alexandre Duret-Lutz - - * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using - using Autoconf's new AC_REQUIRE_AUX_FILE. - -2004-08-05 Gary V. Vaughan - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on - Makefile. - (timestamp): Factor out timestamp setting and edit it based on the - version number, so that it is empty for release versions. - ($(top_srcdir)/config/ltmain.sh): Use it. - (libtoolize): Ditto. - - * Makefile.am (libtool): Depends on ltmain.sh. - (libtoolize): Set and substitute TIMESTAMP. - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run - $(MKSTAMP) before changing directories, or it won't be found. - Forgot to save before my last commit :-( - - * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did - `cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the - relative $(top_srcdir) again! Also, run $(MKSTAMP) before changing - directories, or it won't be found. - ($(top_srcdir)/config/ltmain.sh): Ditto. - (EXTRA_DIST): We should distribute ltversion.m4 too. - -2004-08-04 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may - not actually be set, we should use SHELL here, also make darn sure - that SHELL is set to something. Bug from Willem Jan Palenstijn - . - -2004-08-03 Jacob Meuser - - * ltmain.in: Allow some static libraries to be used in generating a - shared library on NetBSD and OpenBSD. match-pattern_regex decides - which are good. - -2004-08-02 Geoffrey Keating - - * m4/libtool.m4 [darwin]: Don't use -all_load. - -2004-08-01 Maciej W. Rozycki - - * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as - well. - -2004-07-31 Gary V. Vaughan - - Although libtool is optimised to not need to subconfigure libltdl, - the installed libltdl sources for libtoolize need to put - libltdl/configure.ac in the parent package so that *it* can - subconfigure libltdl. That way we don't put any constraints on - the build system used by the parent package because the - libtoolized libltdl subtree is a self-contained sub-project: - - * libltdl/Makefile.am (EXTRA_DIST): Add configure.ac. - (nobase_ltdldata_DATA): Change back to libltdl's own - configure.ac. - -2004-07-30 Gary V. Vaughan - - My thanks to Alexandre Duret-Lutz for the insight - required to write this changeset -- especially that ltmain.sh is - the same on any machine for a given release, which I hadn't - noticed for some bizarre reason: It turns out that generating - distributed files from configure causes no end of hassle, as - evidenced by the many patches I've generated over the last few - days to try and get the dist and distcheck make rules to work. - Instead of all that hair, we now simply generate our distributed - files (now including ltmain.sh) with make rules -- and since - automake creates make variables for all AC_SUBSTs, that is really - easy. The code looks a lot more like automake and autoconf - Makefile.ams now, and doesn't have all the rough edges the earlier - hacky solution suffered from. We still generate libtool from - config.status, but that is not a distributed file, and doesn't - break the golden rule. Besides, there is way more going on there - than a bunch of substitutions: - - * Makefile.am (edit): New common sed substitutions for files now - generated by make instead of config.status. - (CLEANFILES): Clean new tmp files. - (EXTRA_DIST): Add ltmain.sh. - (vcl-tmp): Reinstated. - (m4/ltversion.m4, config/ltmain.sh): New rules. Generate from - here instead of config.status. - (libtoolize): Ditto. - (libtool): Call config.status to regenerate if necessary. - (dist-hook): Removed. - * config/ltmain.in: Moved here from top_srcdir. - * README-alpha: Update instructions to check AS_SHELL_SANITIZE is - up to date. - * bootstrap: Rewritten. Generate m4/ltversion.m4 and - config/ltmain.sh because configure depends on them. - * configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that - ltmain.in has moved. - (AC_CONFIG_FILES): Don't generate distributed files, - config/ltmain.sh and libtoolize from config.status. We have make - rules to do that now. - -2004-07-30 Peter O'Gorman - - * m4/libtool.m4, ltmain.in: readd the comments that I erased. - - * ltmain.in [darwin]: We already had a module var, there can be - only one. - - * m4/libtool.m4, ltmain.in: autoconf now says the best thing to do - with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH, - so do it. - -2004-07-29 Gary V. Vaughan - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to - help `make distcheck'; not only do we have to make a copy of - ltmain.sh available in the source tree, but we have to be really - careful about permission bit twiddling when we copy it across into - the possible read-only $(top_srcdir)/config directory! - - * tests/tagtrace.test: Skip this test when running a VPATH build - against a read-only source tree (as in distcheck for example), - since autoconf wants to write temporary files in $top_srcdir - otherwise. - - * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes, - quite rightly for every project except libtool, that there will be - an ltmain.sh in the source tree. - (EXTRA_DIST): As do the dist rules it generates. - (dist-hook): Even though we definitely don't want to distribute - our local ltmain.sh. - - * config/config.guess, config/config.sub: Don't check these in, - they cause spurious conflicts on cvs commit and update, and are - added by bootstrap in any case. - - * configure.ac (AC_INIT): Revert an accidental commit from my - testing of package_revision. - -2004-07-29 Alexandre Duret-Lutz - - * doc/libtool.texi (Tags): Document CC. - * m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that - Automake uses it. - -2004-07-28 Gary V. Vaughan - - Fix a long-standing bug where macro_version was always empty in - the generated m4/ltversion.m4. Except for CVS revisions: - - * ltmain.in (package_revision): Don't try to deduce it from - TIMESTAMP, since that is empty for release versions; simply - substitute it... - * configure.ac (package_revision): ...from here, having - precalculated it before resetting TIMESTAMP for release versions. - * bootstrap: Force regeneration of m4/ltversion.m4, but retain - timestamps if there is no change to the content. - -2004-07-28 Gary V. Vaughan - - To take full advantage of this, libtool must be bootstrapped with - CVS autoconf, otherwise pdksh chokes on some nested escaped quotes - from libtool.m4. Using CVS autoconf protects configure from - non-bourne compatible shells in the same way this changeset - protects libtool and libtoolize: - - * libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE - expansion to make various shells fully bourne compatible. - * ltmain.in: Ditto. - * m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the - RHS of = assignment is not IFS split. - (_LT_LANG_CXX_CONFIG): Ditto. - (AC_LIBTOOL_POSTDEP_PREDEP): Ditto. - -2004-07-27 Gary V. Vaughan - - This change fixes another VPATH build bug, where the vcl.tmp - target forced a rebuild of stamp-vcl in the build tree (and - hence regeneration of m4/ltversion.m4, thus an automake driven - rebootstrap that doesn't know about $fakes) requiring a fresh - ./bootstrap after every cvs/tla update: - - * Makefile.am (vcl.tmp): Removed. - (stamp-vcl): Adopt former vcl.tmp target rules. - -2004-07-25 Gary V. Vaughan - - * ltmain.in: Make sure that dependency libraries of -dlpreopened - libraries are propogated properly. - -2004-07-23 Joe Orton - - * libtool.m4: Treat bsdi5* like bsdi4*. - -2004-07-22 Peter O'Gorman - - * ltmain.in [darwin](func_extract_archives): $SED not sed. - - * ltmain.in [darwin](func_extract_archives): Clean up last commit - a little, some suggestions are from Albert Chin, those that are - broken are mine. - - * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for - included files in the right places. - -2004-07-18 Peter O'Gorman - - * ltmain.in [darwin](func_extract_archives): Because fat archives - on darwin can not be extracted using ar, we need to use lipo to - extract the thin archives and then use lipo again to generate the - individual fat objects. This should allow people to run configure - with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch - i386" or whatever to match the toolchain they have available. - -2004-07-18 Greg Eisenhauer - - * libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS. - -2004-07-18 Peter O'Gorman - - * libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist, - also make failed looking for configure.ac, look for - $(top_srcdir)/configure.ac instead. - -2004-07-15 Gary V. Vaughan - - * libltdl/lt__private.h (lt_dlhandle_struct): Renamed to - lt__handle to better reflect the naming scheme. - * libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *. - * libltdl/lt_dlloader.c (lt_dlloader_remove): Party to - lt__private.h, so use internal lt__handle instead of opaque - lt_dlhandle. - * libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to - internal lt__handle type. - (try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto. - (lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate - throught the handle list. - (try_dlopen): Use lt__zalloc instead of MALLOC and memset. - * libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *. - (lt_dlhandle_interface): New callback type for filtering handles - according to the interface they present. - * libltdl/ltdl.c (lt_dlcaller_register): Take an id and an - interface check callback, and generate a caller_id. - (iterator): New static variable for the use of... - (lt_dlhandle_first): New function. Set the iterator for - subsequent calls to lt_dlhandle_next. - (lt_dlhandle_next): Either work as before when iterator is unset, - or else skip handles that fail the interface check in iterator set - by lt_dlhandle_first. - * libltdl/ltdl.h (lt_dlhandle_first): Declaration. - * doc/libtool.texi (User defined module data): Document the new - APIs. - * NEWS: Updated. - -2004-07-15 Gary V. Vaughan - - Split lt_dlloader management into a separate file, and factor - `loaders' list management into a new SList ADT. In the process, - the API for writing loaders is a little cleaner, so all the - existing loaders were tweaked to take advantage of that: - - * libltdl/slist.h, libltdl/slist.c: New files implementing a - generic singly linked list container ADT. The ADT is purely - internal, and none of its API's are visible from an installed - libltdl. - * libltdl/lt_dlloader.h (lt_dlloader): Removed next field again - :-) Renamed to lt_dlvtable for API. Changed all callers. - (lt_dlloader_get): New function to turn an lt_dlloader into its - associated lt_dlvtable. - (lt_dlloader_add): Removed unused data parameter. The caller - data belongs to (and is set by) the loader itself, not the - loader's client. Changed all callers. - (lt_dlloader_name, lt_dlloader_data): Removed. Use - lt_dlloader_get instead! - * libltdl/lt__private.h: Include slist.h. - (lt__alloc_die_callback): Add missing LT_SCOPE to declaration. - (lt_dlhandle_struct): Use lt_dlvtable instead of opaque - lt_dlloader. - * libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API. - (loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, - lt_dlloader_find): Moved from here... - * libltdl/lt_dlloader.c ((loaders, lt_dlloader_add, - lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to - here. And rewritten in terms of new SList interface. - * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of - new lt_dlloader interface. - * libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and - slist.c. Move lt_dlloader.h from here... - (pkginclude_HEADERS): ...to here. - (libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h. - -2004-07-15 Gary V. Vaughan - - Collapse two almost identical structures into one: - - * libltdl/lt_dlloader.h (lt_dlloader): Add next field. - * libltdl/ltdl.c (lt_user_dlloader): Remove entirely. Change all - callers to use lt_dlloader instead. Add a compatibility macro. - (lt_dlloader_add): Remove copy and allocate stage, just hook - directly into the loaders list. - -2004-07-15 Gary V. Vaughan - - A cleaner way to access the private fields of an lt_dlhandle - than my move of the module field into lt_dlinfo: - - * libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from - here... - * libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct): - ...to here. And put the module field back here... - * libltdl/ltdl.h (lt_dlinfo): ...instead of here. - * libltdl/loaders/loadlibrary.c (vm_open): Adjust. - -2004-07-15 Gary V. Vaughan - - * libltdl/lt__private.h (streq, strneq): New macros to make strcmp - calls as used for simple comparison easier to read. - * libltdl/loaders/dyld.c, libltdl/loaders/preopen.c, - libltdl/ltdl.c: Use them! - -2004-07-15 Gary V. Vaughan - - This pervasive changeset makes two intertwined deep changes to the - operation of libtool (neither would work alone). First, there is - a new feature that allows libraries to preopen modules. This - entails a backwards incompatible change to the libltdl API for - separating out the preloaded symbol lists by owner. Second, in - the tradition of "eating our own dogfood", libltdl now preloads - its own dlloaders. The internal API for dlloaders has also had to - change in a backwards incompatible way in support of the new - library preloading feature. If you don't use preloaded libraries, - you needn't change your project sources, though you will need to - recompile against the new libltdl. The API changes are mostly - confined to dlloaders, so you probably needn't worry about those - (unless you have written a custom loader that you want libltdl to - use): - - * configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile. - * libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile. - * libltdl/loaders: New directory for module loaders, to simplify - Makefile rules, and to give the loaders themselves names that are - unique in the first few characters. - * libtoolize.in (func_copy_all_files): Copy recursively to pick up - the loaders directory contents. - * libltdl/loaders/Makefile.am: New file. Move module building - rules to here... - * libltdl/Makefile.am: ...from here. - (VERSION_INFO): Bumped version info to signify interface changes. - (libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN - appropriately for each library. - * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, - libltdl/loader-loadlibrary.c libltdl/loader-preopen.c, - libltdl/loader-shl_load.c: Moved from here... - * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, - libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, - libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c, - libltdl/loaders/shl_load.c: ...to here. - (get_vtable): New entry function for each. - * libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by... - (symlist_chain): ...a new structure which maps lists of preloaded - symbols from the object that loads them. - (lt_dlpreload_open): New function to automatically open all - preloaded modules belonging to a named object (ORIGINATOR). - * libltdl/lt__alloc.c (lt__zalloc): New function to return a block - of zeroed out new memory. - * libltdl/lt__alloc.h (lt__zalloc): Prototype it. - * libltdl/lt__private.h (lt__alloc_die_callback): Add missing - prototype. - (lt__error_strings): Make this opaque to callers. - * libltdl/lt_error.c (lt__error_strings): Move the implementation - to here. - * libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to - make originator focused preloading possible. *BREAKS BACKWARDS - COMPATIBILITY* - (lt_dlloader_add): Take advantage of new fields to simplify - paramater list. - * libltdl/lt_system.h (LT_STR): New ANSI stringification macro. - (LT_CONC): Fix it to work from within macros. - * libltdl/ltdl.c (loader_init, loader_init_callback): Simplify - dlloader loading. - (get_vtable, preloaded_symbols): Point these at the preopen.c - symbols to bootstrap the loader chain. - (lt_dlinit): Load the preopen dlloader manually, and then use it - to load any other preloaded dlloaders. - (lt_dlloader_add): Simplify parameter list. Populate new - fields. Chain new loaders according to priority field. - * libltdl/ltdl.h (lt_dlsymlist): Add a new originator field. - (lt_dlpreload_callback_func): Type of a callback for automatic - lt_dlpreload_open loading. - (LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded - symbols from the "@PROGRAM@" originator. - * tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol. - * tests/pdemo/longer_file_name_dlmain.c (main): Ditto. - * ltmain.in: Don't spew spurious warnings when dlopening and - dlpreopening modules. - (func_generate_dlsyms): Factored out from multiple copies in the - rest of the code. Generate originator keyed symbol lists. - (func_extract_archives): Also factored. Extract the contents of - convenience archives for linking with dependent libraries when - --whole-archive is not available. - [darwin]: Don't try to link $old_library unless it exists, and - $lib is a bundle. - * m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic - loading libraries/apis rather that stopping when an acceptable one - is discovered. - (LT_DLLOADERS): New variable for holding dlloaders that can be - preloaded. - * doc/libtool.texi: Document interface changes. - * NEWS: Updated. - -2004-07-12 Peter O'Gorman - - * m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc, - or it does not pass it's tests. xlc passes -noall_load (the default) - and when -all_load is also specified Apple's /usr/bin/libtool barfs - and dies. - -2004-07-07 Gary V. Vaughan - - * libltdl/ltdl.h (lt_dlinfo): Move private module field to here... - * libltdl/ltdl.c (lt_dlhandle_struct): ...from here. Changed all - callers. - * libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to - scan loaded handle->info.module fields for previously loaded - modules. - * doc/libtool.texi (User defined module data): Document changes to - the interface. - * NEWS: Updated. - Reported by Chuck Wilson - -2004-07-07 Brad - - * m4/libtool.m4: Fixes for the OpenBSD support - -2004-06-24 Noah Misch - - * ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh - handle backslash quoting poorly, before doing anything else. - * tests/defs: Likewise. - -2004-06-21 Gary V. Vaughan - - * libtoolize.in (libtoolize_flags): With the --ltdl option, we - libtoolize the libltdl subdirectory automatically. - * m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args. - -2004-06-21 Peter O'Gorman - - * ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from - dependency_libs. Instead, invent a new .la var "inherited_linker_flags" - to keep any linker flags which should be used when linking the library, - but are outside the usual -L -l, -R etc that can be used in - dependency_libs. Any unusual flags in dependency_libs cause recent - versions of libtool to die with "cannot find the library `'", so - it is required to move frameworks out of there. :( - -2004-06-21 Gary V. Vaughan - - From Ralf Wildenhues : - * libtoolize.in: Quote $# to make sh.test happy again. - - * m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls. - Either set variables to allow a client to link with the installed - libltdl, or else compile a local libltdl as a convenience library. - * libtoolize.in (opt_ltdl): Removed in favour of... - (ltdldir): ...this, which is defaulted to "libltdl" or can be set - by the user with an argument to --ltdl. - (Main): Use it! - * doc/libtool.texi (Distributing libltdl): Improved documentation - on libltdl. - (Invoking libtoolize): Document new optional --ltdl target - directory argument. - -2004-06-17 Gary V. Vaughan - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo - in allow_undefined_flag: s,${Wl},${wl},g - - * libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an - indication that libltdl is being used. - (Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the - macro files in `.' since they are never used, and aclocal will - copy them from $aclocaldir into aclocal.m4 anyway. - Reported by Alexandre Duret-Lutz - -2004-06-16 Brad - - * m4/libtool.m4: More improvements to OpenBSD support. - * NEWS: Updated. - -2004-06-16 Gary V. Vaughan - - libltdl uses LIBOBJS, which leak out into a parent project if both - share the same configure.ac. Libtool itself doesn't compile any - code, so it is okay to do it during bootstrap, but other projects - need to treat libltdl as a configurable subproject to keep their - respective LIBOBJS separate: - - * libltdl/configure.ac: New file, based on configure.ac. - * libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4 - directory. - (ltdldata_DATA): List *all* the files that libtoolize --ltdl will - install. - -2004-06-16 Gary V. Vaughan - - Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to - pull an old installed libtool.m4 as well as the bootstrap - m4/libtool.m4 if an AC_DEFUN was removed), and we have - lt~obsolete.m4 to work around it in the mean time. libtoolize - can install macro files from $prefix/share/aclocal perfectly well - without us needing to move to a whole other directory: - - * Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4 - files are installed to $prefix/share/aclocal again. - (install-data-local): Don't remove just installed macros! - * libtoolize.in (pkgmacrodir): Renamed to aclocaldir. - (func_copy_some_files): New function factored out of... - (func_copy_all_files): ...here. Adjust to use func_copy_some_files. - (re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not - a regular expression. - (re_pkgmagro_files): Replaced with... - (pkgmacro_files): ...a colon delimited list of libtool installed - m4 files from aclocaldir. - (Main): Copy macro files from aclocaldir again. - * NEWS: Updated. - -2004-05-21 Bob Friesenhahn - - * ltmain.sh (check_executable): The WIN32 API and MinGW do not support - S_IXOTH and S_IXGRP so use of these modes should be conditional. - -2004-05-21 Gary V. Vaughan - - * tests/tagtrace.test: Forgot to add this file to the repository - for Alexandre's 2004-05-16 patch below. - -2004-05-18 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun, - test the tags compiler to see if it is GCC, not the CC compiler. - -2004-05-16 Alexandre Duret-Lutz - - * doc/libtool.texi (Invoking libtool): Mention --tag=TAG. - (Tags, Trace interface): New nodes. - * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro. - (_LT_LANG): Call it. - * tests/tagtrace.test: New file. - * tests/Makefile.am - (TESTS): Add tagtrace.test. - * tests/defs: Define AUTOCONF. - -2004-05-14 Mike Gorchak - - * ltmain.in: Add new qnx version type support. - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set - ldqnx.so linker type. - (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib - checking, so use pass_all. - (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. - (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. - * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on - dlopen. - * NEWS: Updated. - -2004-05-05 Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space - around = for a test and a comma between runpath_var and $1. Bug - reported by Max Bowsher. - -2004-04-22 Gary V. Vaughan - - * libltdl/argz.h: Moved from here... - * libltdl/argz_.h: ...to here, so as not to shadow system - argz.h when we `#include ' for example. - #include stdlib.h and sys/types.h to ensure we get a size_t - definition. - * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when - used by another client. - * m4/argz.m4: New file. - (gl_FUNC_ARGZ): Try to find an error_t definition, and a system - argz.h. - * m4/ltdl.m4: Use it. - (AC_LTDL_FUNC_ARGZ): Removed. - * libltdl/lt__glibc.h: #include to pick up either the - system argz.h or our libltdl/argz.h if necessary. - * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from - here... - (ltdldata_DATA): ...here. Along with argz.c. - (argz.h): Generate from argz_.h if the system file is missing. - Reported by Ralf Wildenhues - -2004-04-22 Gary V. Vaughan - - According to Howard Chu : - Applications should assume that the native dlopen is NOT - thread-safe, and take care of locking themselves. All application - calls into libltdl should thus be protected by the caller. - - * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed. - * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h. - (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h. - * libltdl/ltdl.h: Don't include lt_mutex.h. - * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR) - (LT__MUTEX_SETERRORSTR): Renamed to... - (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this. Changed - all callers. - (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock) - (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror): - Removed. Changed all callers. - * doc/libtool.texi (Thread Saftey in libltdl): - * NEWS: Updated. - -2004-04-19 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler - version more idiomatically. - -2004-04-19 Albert Chin-A-Young - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on HP-UX 11.x. On HP-UX 10.x, the - C compiler doesn't grok -b so we continue to use ld. - - * m4/libtool.m4: Use cc rather than ld to create a - shared library on Solaris. When using the Sun - Workshop compiler 5.0 (and I presume any previous - version), revert to ld due to compiler errors. - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on Tru64 UNIX. - - * m4/libtool.m4: Use cc rather than ld to created - a shared library on IRIX. - - * libltdl/loader-shl_load.c: Fix typos during reorg. - -2004-04-19 Alexandre Duret-Lutz - - * doc/libtool.texi (LT_INIT): Properly display options in a table. - -2004-04-19 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and - newer adds predep_objects and postdep_objects itself, so don't - duplicate them in $archive_cmds and $archive_expsym_cmds. - * NEWS: Updated. - Reported by Roberto Bagnara - -2004-04-17 Peter O'Gorman - - * libltdl/loader-dyld.c: Fix compilation issues. Set Original author - to me. - -2004-04-17 Todd Vierling , - Peter O'Gorman - - * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the - max cmd length on BSD* and darwin. Make sure that there is a safety - factor too. - -2004-04-15 Scott James Remnant - - * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none' - and 'all' options, this now always assumes automatic mode as that - works so well. - (_LT_LANG_DEFAULT): Remove definition - * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options. - * configure.ac: Invoke LT_LANG for each desired supported language. - * doc/libtool.texi: Remove documentation for the LT_INIT options, - rewrite LT_LANG documentation. - -2004-04-14 Alexandre Duret-Lutz - - * bootstrap: Delete acinclude.m4. - -2004-04-14 Gary V. Vaughan - - * libtoolize.in (configure_ac): Don't complain about the lack of - aclocal.m4. - Reported by Alexandre Duret-Lutz - -2004-04-13 Gary V. Vaughan - - * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove - and strcpy. - - * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, - libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove - half-assed pre-c89 support entirely. - * libltdl/lt__private.h: Don't refer to lt__pre89.h. - * libltdl/Makefile.am (ltdldata_DATA): Remove references to - deleted files. - * NEWS: Mention it. - - * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, - libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, - libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, - libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h, - libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-loadlibrary.c, - libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h: - Autoconf either defines to 1 or undefs the discovery macros it - puts in config.h, and many (non-GNU) compilers throw a spurious - warning when testing an #undef macro with #if. For consistency, - while we are touching all these lines, use defined(MACRO) style - throughout. - Reported by Bob Friesenhahn - -2004-04-13 Gary V. Vaughan - - Factor out the individual loaders, in preparation for preloading - them as libtool modules. Currently loader-preopen.c is linked - unconditionally and other appropriate loaders discovered by - AC_LTDL_DLLIB are built and linked in: - - * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen - module. - * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate - loaders to libltdl. - * libltdl/lt_system.h (LT_SCOPE): Moved to here. - * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module) - (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit) - (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find) - (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add) - (lt_dlloader_remove): Moved declarations... - * libltdl/lt_loader.h: ...to here. - * libltdl/ltdl.c: Include lt_loader.h. Move loader implementation - code from here... - * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, - libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, - libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c, - libltdl/loader-shl_load.c: ...to here. - * tests/cdemo/Makefile.am, tests/demo/Makefile.am, - tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, - tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, - tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS): - Add -I$(top_srcdir)/../.. so that libltdl include files can be - written as #include and found correctly. - -2004-04-13 Gary V. Vaughan - - Factor out the mutex handling and error handling into their own - modules. Mutex handling is not currently useful in combination - with posix threads, and should be easier to replace if it is in a - separate module. Additionally, we can factor out the loaders in - such a way as to depend on only the portability layer and these - new mutex and error modules now: - - * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and - lt_mutex.h to $includedir/libltdl. - (libltdl_la_SOURCES): Build lt_error and lt_mutex objects. - * libltdl/ltdl.h (LT_SCOPE): Moved from here... - * libltdl/lt_system.h (LT_SCOPE): ...to here. - * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from - here... - * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to - here as additional internal interfaces to lt_error. Changed all - callers. - * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK) - (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func) - (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func) - (lt_dllast_error): Moved from here... - (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR) - (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func) - (lt__mutex_geterror_func, lt__last_error): ...to here as - additional internal interfaces to lt_mutex. Changed all callers. - (LT_MUTEX_SETERROR): Take an errorcode rather than a string. - Changed all callers. - * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from - here... - * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register): - ...to here. New files. - * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror) - (lt_dlerror_table): - Moved from here... - * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror) - (lt_dlseterror, lt_dlerror_table): ...to here. New files. - -2004-04-13 Scott James Remnant - - * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that - generates huge xdeltas. - -2004-04-08 Gary V. Vaughan - - * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert) - (argz_next, argz_stringify): Move from here... - * libltdl/argz.c: New file. ...to here. - * libltdl/lt__glibc.h: New file. Rename global symbols into the - lt__ namespace. - * libltdl/lt__private.h: Include lt__glibc.h. - * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files. - (AM_CPPFLAGS): Add -DLTDL. - * libltdl/argz.h (argz_append, argz_create_sep, argz_insert) - (argz_next, argz_stringify): New file. Declare argz functions - here, including lt__glibc.h when LTDL is defined to rename global - symbols for libltdl. - * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of - our argz_* functions are missing from the system libraries. - - * libltdl/ltdl.c: Move standard headers and preprocessor guards - from here... - * libltdl/lt__private.h: ...to here. New file to declare ltdl's - internal interfaces. - * libltdl/ltdl.c: Include lt__private.h. - * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of - opendir, readdir and closedir are missing. - (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h, - stdio.h and stdlib.h; these headers are all available in standard - c89 environments and newer. - * libltdl/lt__private.h: Include them here unconditionally. - * libltdl/lt__dirent.c (opendir, readdir, closedir): New file. - Windows dirent emulation functions moved to here... - * libltdl/ltdl.c (opendir, readdir, closedir): ...from here. - * libltdl/lt__dirent.h: New file. Rename the global symbols from - lt__dirent.c into the lt__ namespace so they don't clash with - other libraries. - -2004-04-08 Gary V. Vaughan - - Factor out the bottom portability layer from ltdl. Code in this - layer has global symbols renamed by lt__pre89.h, and may not - refer to any symbols except those provided by the system libraries - or other code in the portability layer: - - * libltdl/lt__pre89.h: New file. Rename all the symbols from - LTLIBOBJS into the lt__ namespace so that they don't clash with - other libraries. - * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp) - (rpl_strrchr): Moved from here... - * libltdl/memcpy.c (memcpy): ...to here, and fixed void * - dereference bug... - * libltdl/memmove.c (memmove): ...to here, and fixed void * - dereference bug... - * libltdl/strchr.c (strchr): ...to here... - * libltdl/strcmp.c (strcmp): ...here... - * libltdl/strrchr.c (strrchr): ...and here. - * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h. - (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS). - (ltdldata_DATA): Add replacement sources files. - * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ - setting for missing pre89 functions. - -2004-04-08 Gary V. Vaughan - - * libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to - ANSI prototypes. - (lt_ptr): Keep backwards compatibility stub. - * libtldl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations - throughout. s/lt_ptr/void */g. - -2004-04-08 Fredrik Estreen - - * m4/ltdl.m4: Rename shrext to shrext_cmds here too. - -2004-04-06 Gary V. Vaughan - - There was no clean separation of abstraction layers in libltdl. - The first step in fixing this is to factor out the memory - management abstraction, making a start on removing promiscuity - from the underlying portability layer: - - * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, - lt_dlrealloc and lt_dlfree references. The memory management - layer used by libltdl is now private. - * libltdl/lt_system.h: New installed header for system portability - abstraction. - * libltdl/ltdl.h: Use it. - * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above - system portability layer to abstract ltdl's memory management. - * libltdl/ltdl.c: Use lt__alloc.h. - (closedir): Use free. - (opendir): Use malloc/free. - (lt__xalloc_die_callback): Report memory failures through - lt_dlerror. - (lt_dlinit): Use it to initialise memory management. - (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) - (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): - Removed in favour of... - (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls - from libltdl/lt__alloc.h. Changed all callers. - (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part - of the portability layer, these functions no longer use libltdl - memory management API. - (free_vars): Factored out. - (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... - * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. - * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track - dependencies automatically. - (pkgincludedir): Override from parent package's setting. - (pkginclude_HEADERS): Install lt_system.h. - (libltdl_la_SOURCES): Add new files. - * NEWS: Updated. - Reported by Dalibor Topic - -2004-04-01 Peter O'Gorman - - * ltmain.in: Remove an extra eval concat_cmds that some idiot added. - Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller. - - * NEWS: Add a news item about xlc support that I forgot yesterday. - -2004-03-31 Peter O'Gorman - - * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++. - -2004-03-31 Gary V. Vaughan - - * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then - don't call the macros that test it. - (_LT_LANG_CXX_CONFIG): Ditto. - (_LT_LANG_F77_CONFIG): Ditto. - (_LT_LANG_GCJ_CONFIG): Ditto. - (_LT_LANG_RC_CONFIG): Ditto. - -2004-03-30 Gary V. Vaughan - - * libtoolize.in (func_scan_files): sed BRE have no alternation, so - break LT_INIT matcher out. - (func_serial): Don't escape literal parens for grep BRE. - - * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use - AC_DEFUN and m4_define. - * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE... - (func_grep): ...so mere grep is sufficient again... - (EGREP): ...and this is no longer required. - -2004-03-29 Gary V. Vaughan - - * m4/libtool.m4: Use LT_INIT as #serial tag. - * libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to... - (func_serial_update): ...here, we now take an additional parameter - containing another regex to match ancient serialed files. - (func_serial): Accept AC_DEFUN_ONCE of the #serial tag... - (func_grep): ...which requires egrep... - (EGREP): ...substituted by config.status. - (func_scan_files): Set seen_libtool if LT_INIT goes by. - - * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. - - * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for - config.h. - (ltdl.o): config.h is in $top_builddir. - -2004-03-24 Scott James Remnant - - * NEWS: Explain more fully why we no longer load libraries - with global symbol resolution. - * doc/libtool.texi (libtool script contents): Add missing - documentation for 'inherit_rpath' variable. - - * configure.ac: Catch errors during calls to AC_PROG_CXX, - AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the - HAVE_CXX and HAVE_F77 conditions to true if an error didn't - occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one). - Set HAVE_GCJ and HAVE_RC to true correctly as well. - * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are - defined, expand to the definition of those instead of our own. - Define GCJ to '' instead of 'no' if not found. - (LT_PROG_RC) Define RC to '' instead of 'no' if not found. - (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first. - (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first. - - * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global - symbol resolution. - * NEWS: Updated. - -2004-03-24 Albert Chin-A-Young - - * m4/libtool.m4: Add new variable, inherit_rpath, if the - RPATHs of the libraries being linked are inherited in - the output file. For systems with a linker exhibiting - this feature, programs/libraries must be relinked at - installation time. - - * m4/libtool.m4: When linking convenience libraries on Solaris - with the Sun C++ compiler, pass convenience libraries through - to the linker with -Qoption between allextract/defaultextract. - The Sun C++ compiler bundles -Qoption arguments so - convenience libraries are linked with defaultextract - otherwise. - * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h, - tagdemo/conv.cpp: Augment tagdemo test to link a convenience - library with a libtool library. - - * ltmain.in: Piecewise linking doesn't work when the output - file is an absolute path, use the basename only instead. - - * ltmain.in: When a library is installed, dependent on a - convenience library, and it involves relinking, the object - files extracted from the convenience library are not removed - after the relink. This is a problem if you build as non-root, - install as root, then try to remove the build directory as - non-root; Clean up properly if relink fails; Change - "$realname"U to ${realname}T to be consistent. - -2004-03-24 Scott James Remnant - - * ltmain.in : Always add -L options to - $newlib_search_path instead of just in scan mode to ensure that - non-libtool libraries in user-specified directories can be found. - -2004-03-22 Scott James Remnant - - * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition - code, now the support determination is done in m4. - (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch. - -2004-03-21 Scott James Remnant - - * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT - and AGE of libltdl, warranted by the addition of lt_dlhandle_find() - since 1.5.2. - -2004-03-21 Scott James Remnant - - Further sweeping changes to the user interface to libtool from - `configure.ac' to allow users to better control the list of - supported languages. Three LT_INIT options 'no-lang', 'all-lang' - and 'auto-lang' (the default) control the initial list and others - may be added with LT_LANG. - - * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG - which is more consistent with our own namespace and gets us further out - of Autoconf's. - (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely - on the value of _LT_TAGS. - (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags, - always append tag configuration if the tag is available. - (LT_LANG): New macro to enable support for a language that accepts - tag names (eg. "CXX") or human language names (eg. "C++"). - (_LT_LANG): Internal support macro for above that appends the - tag to _LT_TAGS and calls the appropriate config macro. - (LT_INIT): Ensure that LT_LANG is not called before LT_INIT. - (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now. - (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls. - (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support - based on options passed to LT_INIT. - (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG. - (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG. - (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed, - automatic language support inclusion now handled by - _LT_LANG_DEFAULT_CONFIG. - (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++). - (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77). - (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java). - (AC_LIBTOOL_LANG_C_CONFIG_: Removed. - (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to - new _LT_LANG_C_CONFIG macro. - (AC_LIBTOOL_LANG_CXX_CONFIG): Removed. - (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_F77_CONFIG): Removed. - (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed. - (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (AC_LIBTOOL_LANG_RC_CONFIG): Removed. - (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call - _LT_CONFIG instead of AC_LIBTOOL_CONFIG. - (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ. - (LT_AC_PROG_RC): Renamed to LT_PROG_RC. - * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang' - options which set the default for _LT_LANG_DEFAULT_CONFIG. - * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG, - _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no - long referenced in any way. - * configure.ac: Enable all languages. - * tests/cdemo/configure.ac, tests/demo/configure,ac, - tests/depdemo/configure.ac, tests/f77demo/configure.ac, - tests/mdemo/configure.ac, tests/pdemo/configure,ac, - tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS, - the default 'auto-lang' mode now does the right thing. - * doc/libtool.texi (The LT_INIT macro): Add documentation for - new LT_INIT options and the LT_LANG macro, replacing the old - documentation of AC_LIBTOOL_TAGS which is no more. - * NEWS: Updated. - -2004-03-17 Scott James Remnant - - * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP - which is no more. - * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced, - it can be removed from this file. Remove _AC_PROG_LIBTOOL also. - -2004-03-14 Ralf Wildenhues - - * m4/libtool.m4: Remove newlines from lt_ld_extra, so - variable can safely be stored in config.cache. - -2004-03-14 Michael Pruett - - * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define - archive_expsym_cmds so that --export-symbols will work. - -2004-03-11 Peter O'Gorman - - * ltmain.in (link_all_deplibs,darwin): Link libraries in the - correct order. Bug from Zachary Pincus . - -2004-03-14 Scott James Remnant - - * m4/ltmain.in: Only check precious_files_regex if it is not empty. - -2004-03-14 Gary V. Vaughan - - * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version - of Autoconf is 2.54. - From Alexandre Duret-Lutz - -2004-03-13 Gary V. Vaughan - - * doc/libtool.texi (Using Automake): Cite correct Automake version - for -dlopen quoting. - (Autoconf and LTLIBOBJS): Cite correct Autoconf versions - throughout. - (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated. - From Alexandre Duret-Lutz - -2004-03-05 David Edelsohn - - * m4/libtool.m4: Disable building static libraries if building - shared libraries on AIX 5L. - -2004-03-05 Gary V. Vaughan - - * libtoolize.in: Remove --ltdl-tar. It doesn't work with the - current implementation, and seems more or less pointless. - * doc/libtool.texi (Invoking libtoolize): Updated. - * NEWS: Updated. - - * doc/libtool.texi: This manual has not been maintained properly - for a number of years. Much of what it said was outdated, or - plain wrong with reference to modern autotools. This change - represents a first pass edit to clean up the obviously wrong. - -2004-03-02 Gary V. Vaughan - - * bootstrap: Prune out my arch mirror dir before running - amok through the tree with 'rm -rf'! - -2004-03-02 Patrick Welche - - * doc/libtool.texi (LT_INIT): Dumb typos fixed. - -2004-02-23 Gary V. Vaughan - - * ltmain.in : Add missing --help doc for - -inst-prefix option. - - * ltmain.in : Add missing --help doc for -shrext - option. - - * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs - doesn't offer to strip trailing ' \t' on every save. - - * ltmain.in: Add missing --help doc for --preserve-dup-deps. - -2004-02-22 Gary V. Vaughan - - * Makefile.maint (web-manual): Generate the web manual carefully - so that links will still work when it is uploaded to gnu.org. - * README-alpha: Note that this rule should be used at release - time. - -2004-02-20 Gary V. Vaughan - - Sweeping changes to the user interface to libtool from - `configure.ac' to be more like AC_INIT and accept a space - delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; - AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': - - * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) - (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. - (LT_INIT): Replace with an Autoconf like interface which accepts a - version number as a minimum required libtool release at configure - time. - * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, - which additionally flags an error if the configuring libtool - macros are not new enough according to LT_INIT. - (LT_OPTION_DEFINE): New macro to declare option handlers. - (dlopen, win32-dll, shared, disable-shared, static) - (disable-static, fast-install, disable-fast-install, pic-only) - (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... - (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) - (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle - LT_LIBTOOL_INIT options... - * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) - (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): - ...to replace these user interface macros, now defined as - AU_DEFUNs. - (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): - Removed. No longer required with LT_INIT_LIBTOOL interface. - Added AU_DEFUNs. - (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) - (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. - (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. - * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) - (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. - * configure.ac: Use new interface. - * doc/libtool.texi: Document new interface. - * NEWS: Updated. - -2004-02-18 Gary V. Vaughan - - * commit (SHELL): Set it explicitly, incase some madman is using - tcsh as their login shell :-b - -2004-02-15 Scott James Remnant - - * Makefile.am (m4/ltversion.m4): Generate serial number by - removing initial '1.' from the revision, replace @MACRO_SERIAL@ - with this new variable. - * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number - as some shells don't like a '.' when using test. - - * m4/ltversion.in: Add a serial number to this file otherwise - libtoolize will refuse to copy it into $pkgdatadir, where it - is needed by m4/libtool.m4. - -2004-02-15 Peter O'Gorman - - * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds. - -2004-02-13 Scott James Remnant - - * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly - quote usage of $basename and $dirname to avoid (unlikely) path - expansion. - - * tests/sh.test: Test the config/ltmain.sh and libtoolize in the - build directory not the source directory, where they won't exist - during 'make distcheck'. - * ltmain.in: Revert one line of previous intendation clean-up - to enable one of the sh.test checks to pass. - - * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this - was debris from Gary's cvsapply going mad and wasn't backed - out. - - * Makefile.am (pkgmacro_DATA): We have to distribute - m4/ltversion.m4 because it can be needed before the Makefile - that generates it exists. - -2004-02-13 Gary V. Vaughan - - * commit (MKSTAMP): Look for mkstamp in the right place. - -2004-02-12 Scott James Remnant - - * Makefile.maint, Makefile: Move rules intended for Libtool - maintainers only out of the Makefile we distribute and into one - that we only need keep in CVS. - * README-alpha: Add -fMakefile.maint to the instructions where - needed. - -2004-02-12 Albert Chin-A-Young - Scott James Remnant - - * ltmain.in: Fix typo: duplcations -> duplications, - Fix indentation of a handful of badly indented blocks, - Fix last remaining use of 'grep' to $GREP, - Remove unnecessary trailing slash where we break a line on a - command separator. - * m4/libtool.m4: Also remove unnecessary trailing slash where - we break a line on a command separator. - -2004-02-12 Scott James Remnant - - * m4/ltoptions.m4: This got committed by an over-keen Gary, - but the support for this isn't ready yet and if aclocal decides - to m4_include this (which it will) you'll get a non-functioning - libtool. Removed. - - * ltmain.in: Remove duplicated version checking block. - - * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply - went crazy and backed out more than he should've. This patch puts - some of it back again. - - * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove - $SED from definitions of $dirname and $basename and prefix each - use with it instead. Some shells (zsh) treat the expansion as - a single command instead of a command with arguments. - - * config/mailnotify (func_sendmail): Look for sendmail in a - couple of common non-PATH locations as well. - - * ltmain.in: Fix typo: macro's -> macros. - - * ltmain.in: Correct definition of basename sed expression to - not include single quotes. - -2004-02-12 Gary V. Vaughan - - * libtoolize.in: Use $progpath as for ltmain.in to work around the - IRIX bug described below. - * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD. - -2004-02-12 Albert Chin-A-Young , - Gary V. Vaughan - - * ltmain.in (progpath): Work around backward compatibility issue - on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked - as "sh" and the current value of the _XPG environment variable is - not equal to 1 (one), the special positional parameter $0, within - a function call, is the name of the function. So, rather than - using "$0" in functions, we set $progpath in the body and use that - everywhere instead (incase of code refactoring later). - (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity. - -2004-02-12 Gary V. Vaughan - - * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it - is of no use in a distribution tarball. - -2004-02-11 Gary V. Vaughan - - * commit: Fix cut-n-paste error. - - * commit: Completely change CVS/Root->name sed script to actually - work when :ext: is not shown. - - * commit: Improve CVS/Root->name sed script to work when :ext: is - not shown. - -2004-02-11 Albert Chin-A-Young - - * m4/libtool.m4: Fix typo: testring -> teststring. - -2004-02-11 Gary V. Vaughan - - * commit: Mail a nicer commit notification. - -2004-02-10 Gary V. Vaughan - - * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: - * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just - went crazy and committed a bunch of stuff that shouldn't have been - in the last changeset. The patch backs it all out. - - * config/mailnotify: New file for mailing commit notifications, - imported from cvs-utils. - * commit: Updated from cvs-utils and tweaked for libtool. - * Makefile.am (EXTRA_DIST): Add config/mailnotify. - -2004-02-06 Gary V. Vaughan - - * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. - * Makefile.am (vcl.tmp): Move comment out of multi-line command, - as this rule is called from bootstrap as if it were a Makefile. - - * m4/ltversion.in: New file to capture what version number macros - are being used. - * Makefile.am (m4/ltversion.m4): New rule to create it from - m4/ltversion.in. - (nodist_pkgmacro_DATA): Add m4/ltversion.m4. - (EXTRA_DIST): Add m4/ltversion.in. - * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION - from ltversion.m4. - * bootstrap: Call the Makefile.am to create an initial - m4/ltversion.m4. - * ltmain.in: Diagnose version mismatches of various flavours. - * TODO: Remove mismatch item. - * NEWS: Updated. - - * Makefile.am ($(top_builddir)/config.status): Removed. - * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is - how automake-1.8 now informs all Makefiles when config.status - needs to be rebuilt. - Reported by Alexandre Duret-Lutz - - * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. - * Makefile.am (libtool, libtoolize): These rules are redundant. - Automake generates better rules for remaking these files. - - * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with - beginning with LT_ and _LT_. - * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed - to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the - unexpanded macros error. - - * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require - Autoconf 2.58, which ships this macro anyway. - - * Makefile.am: Comment typo. - - * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number - that is required for the calling code. - * doc/libtool.texi (AC_PROG_LIBTOOL): Document it. - * NEWS: Updated. - -2004-02-05 Peter O'Gorman - - * ltmain.in (infer_tag, win32_libid): Style changes. Rename - infer_tag to func_infer_tag and win32_libid to func_win32_libid. - * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid. - -2004-02-04 Peter O'Gorman - - * ltmain.in (infer_tag): Move tag inferrence to a shell function. - Also test $base_compile against $CC with escaped arguments. Bug - reported by Geoff Keating . - -2004-02-03 Scott James Remnant - - * Makefile.am (install-data-hook): Manually make config.guess - and config.sub executable after they are installed as _DATA. - We can't use _SCRIPTS because the various program name - transforms may be applied to them. - (dist_pkgdata_DATA): List config.guess and config.sub here - (pkgdata_SCRIPTS): instead of here. - -2003-02-03 Scott James Remnant - - * ltmain.in: Create temporary directory under a strict umask - rather than running chmod afterwards, preventing a race - condition where the directory could be replaced with a symbolic - link in the time between the two commands. - -2004-01-31 Peter O'Gorman - - * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to - `$echo, causes problems when builtin echo is broken. Reported - by Ralf Wildenhues . - -2004-01-27 Scott James Remnant - - This fixes release procedure problems discovered whilst making - the 1.5.2 release. - - * Makefile.am (cvs-dist): Because we check whether ChangeLog - has been committed, this rule can't be run with uncommitted - source so we can't run 'commit' and don't need to run - 'make dist' a second time. Fix CVS tag as it should be - "release-X" not "Release-X". - (cvs_commit): New rule for the cvs-release chain that runs - 'commit' - (cvs-release): Depend on cvs-commit, depend on deltas instead of - cvs-diff and xdelta. - (cvs-diff): Removed, replaced with delta-diff. - (delta-diff): Unpack and diff the old and new tarballs rather - than using CVS, so we get a genuinely complete diff. - (xdelta): Removed, replaced with delta-xdelta. - (got-xdelta): New rule for improved reading. - (delta-xdiff): Copied and cleaned up version of old xdelta rule. - (deltas): Depends on delta-diff and delta-xdelta (make deltas). - (cvs-news): Don't depend on timestamps, cvs-dist itself does now. - (prev-tarball): This is the only place we need a LASTRELEASE check - so copy the code here and remove the CHECK_RELEASE variable. - (new-tarball): Check there's a new tarball (did cvs-dist work?) - (FETCHFILES): Remove obsolete libltdl mentions. - * README-alpha: Update CVS instructions as everything's changed - on Savannah. - (Release procedure): Update NEWS and ChangeLog after changing - the version number (both times); Run 'make fetch' after running - 'configure' (difficult to do it beforehand); Require 'commit' - before 'make cvs-dist' as that checks ChangeLog is committed; - 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE - to make instead of OLDVERSION (and it's mandatory); Clean up - uploading paragraph; Clearer announcement sending instruction; - Removed ftp-upload@gnu.org mail as that's not necessary now; - Make web page updating instructions a bit clearer; Add an instruction - to update the manual for non-alphas. - (Alpha release note template): Add a Subject; update CVS instructions. - (Full release note template): Add a Subject; update CVS instructions. - * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk - about bz2 files in our release announcements; remove old reference - to OLDVERSION. - -2004-01-25 Scott James Remnant - - * NEWS: Include 1.5.2 release information. - -2004-01-22 Gary V. Vaughan - - This fixes a bug in the libtoolize ltdl source installation rules, - which were copying Makefile.in from the libtool tree into the - package running libtoolize. Now we explicitly list the files to - copy to force the package to generate its own Makefile.in: - - * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES): - Add ltdl.h. - (ltdldatadir): New variable for installation directory of - libtoolize --ltdl files. - (ltdldata_DATA): Tell automake what files to copy there at install - time (and remove at unistall time!). - (local-install-files): Removed. This hack is not required - anymore, the automake generated install rules are much more - advanced than this. - * Makefile.am (install-data-hook, uninstall-local): Removed. - Libltdl files for libtoolize are installed by their own Makefile - now. - -2004-01-22 Jeff Squyres - - * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers - (e.g. Intel Linux icc compiler) write temporary files to the current - directory. These compilers do support -c and -o simultaneously but - wrongly fail the test due to the failure to create temporary - files. It is incorrect to penalize compilers which write temporary - files to the current directory so the 'chmod -w .' is therefore - removed. - -2004-01-22 Gary V. Vaughan - - * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP. - AIX has a brain-dead grep that only handles lines < 2048 - characters. Default GREP incase we are not using a future - autoconf that sets it for us :-) Changed all callers to use $GREP - instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP. - Declare GREP as a libtool config var. - * ltmain.in: Use it. - * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by - tightening the regexp. - Reported by Albert Chin-A-Young - -2004-01-21 Nick Hudson - - * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove - gratuitous ${libname}${release}${shared_ext} from - library_names_spec. - -2004-01-21 Peter O'Gorman - - * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the - reload_cmds to use $CC, otherwise ld will thin out any fat - objects. - -2004-01-18 Benjamin Reed - - * ltmain.in: Fix handling of frameworks in search paths. Also - a one-liner fix to eval shrext in the libtool library search. - -2004-01-16 Gary V. Vaughan - - * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or - else aclocal.m4 is huge, and m4 directory is not distributed. - - * configure.ac (AC_CONFIG_HEADERS): Create config.h in - $top_srcdir. - * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if - necessary. Calculate filename from first argument to - AC_CONFIG_HEADERS, and substitute as CONFIG_H. - * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in - $top_srcdir for headers. - (DEFS): Override the default HAVE_CONFIG_H with the config.h - filename. - (ltdl.lo): Reference config.h via $(CONFIG_H). - * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto. - -2004-01-15 Scott James Remnant - - * m4/lt~obsolete.m4: Add a file containing aclocal-fooling - macro definitions which stop the contents of an installed - libtool.m4 ending up in our aclocal.m4 when we bootstrap. - * Makefile.am (pkgmacro_DATA): Note that we don't need to add - lt~obsolete.m4 to this list. - -2004-01-12 Gary V. Vaughan - - * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it - only needs to be updated in one place. - (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add - tags if a compiler was found; ie if you have no gcj compiler, - don't tack the GCJ tag onto the generated libtool script. - -2004-01-13 Peter O'Gorman - - * m4/libtool.m4: Quote shrext as it is evaled in ltmain. - -2004-01-11 Scott James Remnant - - * ltmain.in: new -precious-files-regex link mode option - to prevent removal of matching files from the temporary - output directory. - (Debian Bug #221420) - * doc/libtool.texi: document the new option. - * NEWS: announce the new option. - -2004-01-11 Gary V. Vaughan - - * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. - Now the test can actually succeed sometimes. - -2004-01-09 Gary V. Vaughan - - * libtoolize.in: Break out of the command argument parse loop when - -- is encountered. - -2004-01-08 Gary V. Vaughan - - * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep - tests/sh.test happy. - -2004-01-07 Gary V. Vaughan - - * Makefile.am (aclocal_macros, aclocal_DATA): Removed. - (EXTRA_DIST): Remove m4 macro files; they are automatically - added by automake. - (pkgmacrodir): Where to install libtool macro files. - (pkgmacro_DATA): List installable libtool macro files. - (install-data-local): Remove previous versions of ltdl.m4 and - libtool.m4 from their old location. - * libtoolize.in: Use new pkgmacrodir installed macros when - libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially, - and func_serial_update() any other files from pkgmacrodir. - (pkgmacrodir): Where to find installed libtool macro files. - (aclocaldir): Removed. - (func_copy_all_files): Add an optional callback parameter to - control how files are copied. If the callback is passed, don't - tell it whether it can copy or not. - (func_serial): Exchange parameters and make macro_regex optional, - so that this function can be used to extract serial numbers from - files with the traditional /^# serial [1-9][0-9]*$/ syntax. - Changed all callers. - (func_serial_update): Make macro_regex optional last parameter, so - that this function can be used as a callback for - func_copy_all_files(). Changed all callers. - * m4/ltsugar.m4: Add a serial number. - -2004-01-07 Gary V. Vaughan - - A complete rewrite of the m4 code involved in the generation of - libtool via config.status. The old way involved manually - synchronising disparate bits of shell code in several macros, to - quote a copy of a shell variable, put that in config.status, maybe - add it to some quotation loops to prevent early expansion, and - then add a block to _LT_CONFIG_COMMANDS to bring it into the - libtool script. The new way is to mark shell variables for - propogation using _LT_DECL for language independent variables, or - _LT_TAGDECL for those that need to be propogated in several - language flavours. The marking can be done in the macro that - probes the variables, and this new m4 machinery takes care of - synchronising all the other bits of code at autoconf time: - - * m4/ltsugar.m4: New file. Macros that are useful outside the - context of libtool. Initially, contains some generalised list - management macros, and the scaffolding for dictionary type data - storage and retrieval. - * Makefile.am (aclocal_macros): Install ltsugar.m4. - * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to - the libtool script, along with a comment, and hints for quoting - and renaming. - (_LT_TAGDECL): Similarly mark a tagged shell variable for export - in each tag. - (lt_decl_tag_varnames, lt_decl_quote_varnames) - (lt_decl_dquote_varnames, lt_decl_varnames_tagged) - (lt_decl_all_varnames): New utility macros for managing lists of - shell variable names from _LT_DECL and _LT_TAGDECL. - (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE): - Expand to correctly quoted variable declarations in config.status - from all marked shell variables. - (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable - declaration for libtool tag section. - (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked - variables to _LT_LIBTOOL_DECLARE. - (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and - friends to generate all the variable passing shell code for - config.status, to get marked variables from libtool.m4 into - libtool itself eventually. - (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag - configuration. Changed all client macros to mark variables - suitably rather than the hand pasting that was necessary - previously. - (AC_PROG_SED): Renamed from LT_AC_PROG_SED. - (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for - propogation to the libtool script. - -2004-01-07 Gary V. Vaughan - - * libtoolize.in (seen_gettext): Removed unused variable. - -2004-01-06 Gary V. Vaughan - - * libtoolize.in (func_scan_files): Don't assume the existence of - aclocal.m4. Make the comment more descriptive. - Reported by Alexandre Duret-Lutz - - * NEWS: Note libtoolize changes. - - * ChangeLog.2003: New file, containing all the ChangeLog entries - from 2003. Trimmed ChangeLog accordingly. - - * ltmain.in: Output 2004 in the copyright from libtool --version. - -2004-01-03 Stefan Nordhausen - Scott James Remnant - - * ltmain.in: Don't use the mkdir -p option when creating a - temporary output directory so a symlink attack can't be used to - arbitrarily chmod other directories on the system if libtool - gets run as root. - -2004-01-02 Peter O'Gorman - - * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. - - * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it - allows for zsh differences, as noted in the autoconf manual's - Portable Shell - Special Shell Variables section. - -2004-01-02 Scott James Remnant - - * .cvsignore: Ignore stamp-vcl created by the Makefile. - -2004-01-02 Bob Friesenhahn - Joe Orton - - * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash - in front of all the inner double-quotes as this is removed - on Solaris, IRIX and AIX leading to broken definitions - in config.status. - -2004-01-02 Scott James Remnant - - * NEWS: Next release will be in 2004. - -Continued in ChangeLog.2003 +Continued in ChangeLog.2004 $Revision$ $Date$ diff --git a/ChangeLog.2004 b/ChangeLog.2004 new file mode 100644 index 00000000..215e5fa6 --- /dev/null +++ b/ChangeLog.2004 @@ -0,0 +1,3591 @@ +2005-01-08 Gary V. Vaughan + + * m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, + m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4: RMS says, + 'I think the [license of autoconf macro files] should be: + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, + # with or without modifications, as long as this notice is + # preserved.'. + +2005-01-08 Gary V. Vaughan + + * ChangeLog: Reformatting. + * HACKING: Fix section numbering. + (Editing 'ChangeLog'): New notes on ChangeLog entry format. + +2005-01-03 Ralf Wildenhues + + * tests/am-subdir.at tests/testsuite.at (AT_BOOTSTRAP, + AT_LIBTOOLIZE, AT_CHECK_LIBTOOLIZE): Rename to ... + (LT_AT_BOOTSTRAP, LT_AT_LIBTOOLIZE, LT_AT_CHECK_LIBTOOLIZE): + ...and make use of new names. + +2004-12-30 Ralf Wildenhues + + * config/getopt.m4sh (func_version, func_usage, func_help): + Use `$SED -n' instead of `$SED RANGE {..}; d' as AIX sed cannot + handle the latter. + (func_help): start autoconf and automake in subshells to avoid + error messages from ash or Bourne shell if not available. + +2004-12-28 Ralf Wildenhues + + * config/general.m4sh (func_quote_for_eval): Move backslash to + beginning of character class, to work around old Bash bug. + (func_quote_for_expand): Also test to avoid unnecessary fork. + +2004-12-28 Ralf Wildenhues , + Gary V. Vaughan + + * Makefile.am, bootstrap, clcommit.m4sh, libtoolize.m4sh, + config/ltmain.m4sh: Replace `set --' with `set dummy [...]; shift' + for portability. + * tests/sh.test: Test for this. + +2004-12-28 Ralf Wildenhues + + * libtoolize.m4sh, config/ltmain.m4sh (most functions): New + variable $opt_debug is either `:' or `set -x' depending on + --debug. Execute at most function entries to cater for ksh which + resets `-x'. + * tests/defs.m4sh: Ditto for VERBOSE=debug. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: + _LT_TAGVAR missing for `fix_srcfile_path'. + [sysv4, sysv5]: _LT_TAGVAR missing for + `export_dynamic_flag_spec'. + + * doc/libtool.texi (all over): Use @option and @command. + Some more minor formatting updates, typos. + + * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix variable quoting; + allows lt_ECHO to match --fallback-echo again. + + * config/ltmain.m4sh (func_extract_archives): Not all shells grok + `read -r' (unnecessary in this case). + Reported by Ralf Menzel . + + * config/general.m4sh: New variable quote_scanset... + (func_quote_for_eval, func_quote_for_expand): ...use it to work + around SunOS ksh `case' backslash-escaping bug: protect character + class by variable expansion. + Reported by Alexander Kurz . + + * tests/quote.test: Restart under the correct shell (the one + $ECHO was computed for). + +2004-12-21 Ralf Wildenhues + + * libltdl/lt__dirent.c: Include lt__private.h. + * libltdl/libltdl/lt__private.h: Include lt__strl.h. + +2004-12-20 Peter O'Gorman + + * config/ltmain.m4sh (func_extract_archives) + (func_extract_an_archive): On darwin, uniq can not take the flags + -cd together, thanks to Ralf for the fix, also ar does not accept + N, so we use the fact that ar x libfoo.a foo.o will always extract + the first foo.o in the archive and we then delete foo.o from the + archive, which will also delete only the first foo.o, then rinse + and repeat. Also add markers for the testuite. + * m4/libtool.m4 (_LT_CONFIG): Add a marker so that we can use a + sed expression to find the shell functions in libtool. + * tests/functests.at: Test this feature. + * tests/testsuite.at: Add the test. + * tests/Makefile.am: Add the test. + +2004-12-20 Ralf Wildenhues + + * libtoolize.m4sh: Install `install-sh' as well, needed for + configure. + * Makefile.am, Makefile.maint: Install, update it. + * NEWS, doc/libtool.texi (Distributing): Document it. + Reported by Ross Boylan . + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Add '${wl}-z + ${wl}text' to archive_cmds and archive_expsyms_cmds. I.e., do not + allow nopic in shared libraries. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Change + no_undefined_flag back to ' -z defs'. Problems with linking + against libgcc.a will have to be resolved differently. + + * tests/demo-nopic.test [solaris, sunos]: Skip test. + +2004-12-18 Ralf Wildenhues + + * libtool.m4 [linux] (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG): + Match icpc* and ecpc* (ia64 version of icpc) instead of only icpc. + + * libltdl/lt__dirent.c (opendir) [mingw]: Fix write of constant + strings past end of buffer. + (opendir, readdir): Fix read past end of buffer. + +2004-12-17 Ralf Wildenhues + + * HACKING: Update list of non-Libtool-owned files. + +2004-12-17 Akim Demaille + + * libtoolize.m4sh (func_copy_all_from_path): Remove spurious eval. + +2004-12-16 Ralf Wildenhues + + * libltdl/ltdl.c (trim): Return error rather than do bogus + null pointer arithmetic when parsing a malformed .la file. + +2004-12-13 Bob Friesenhahn + + * libltdl/lt__strl.c, libltdl/libltdl/lt__strl.h: New files to + emulate strlcat and strlcpy, which support size-bounded string + copying and concatenation for improved security. + * libltdl/Makefile.am: Optionally build source files + libltdl/lt__strl.c and libltdl/libltdl/lt__strl.h. + * m4/ltdl.m4 (LTDL_INIT): Add checks for strlcat and strlcpy. + +2004-12-13 Albert Chin-A-Young + + * libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): + Append -G to link command-line on AIX to honor -brtl on + command-line (runtime linking). Already done for IBM C/C++ + compilers. + +2004-12-12 Patrick Welche + + * configure.ac: Fix aclocaldir to use ${datadir}, not ${prefix}. + Necessary for removal of old libtool.m4 files. + +2004-12-10 Ralf Wildenhues + + * config/ltmain.m4sh (func_extract_archive): Send stderr of $NM + to /dev/null. + Reported by Martin Waitz . + +2004-12-09 Albert Chin-A-Young + + * config/ltmain.m4sh: Preserve -model [arg] option, used + with the Tru64 UNIX C++ compiler. This option selects the + layout of C++ classes, name mangling, and exception handling. + +2004-12-09 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_finish) [solaris]: Fix [] escaping + bug. + + * config/ltmain.m4sh (all over the map): Make use of func_basename + and func_dirname in most occasions. + + * m4/libtool.m4 (_LT_CHECK_XSI_SHELL, _LT_PROG_XSI_SHELLFNS): New + macros to detect at `configure' time whether the shell supports + some XSI extensions and to copy appropriate versions of new shell + functions into `libtool' through `config.status'. Copied + functions are Bourne and XSI variants of func_basename, + func_dirname (a variant of `dirname' suitable for libtool). + (_LT_SETUP): Require _LT_CHECK_XSI_SHELL. + (_LT_CONFIG): Use _LT_PROG_XSI_SHELLFNS to insert into `libtool' + at marker. + + * config/ltmain.m4sh: Set marker for insertion of shell functions. + + * config/general.m4sh (func_quote_for_eval): Only fork if the + substitution matches. + +2004-12-03 Gary V. Vaughan + + * TODO: Paste Peter's summary of the TODO thread starting at + http://lists.gnu.org/archive/html/libtool/2004-11/msg00130.html. + +2004-12-02 Bob Friesenhahn + + * config/ltmain.m4sh: Remove code which is no longer needed + now that temp_rpath only contains fully-qualified elements. + +2004-11-30 Ralf Wildenhues + + * config/general.m4sh: basename sed-subst is anchored and thus + does not need the `g' flag. + (func_quote_for_eval): Return both the possibly double-quoted + backslashified as well as only the backslashified argument. + * config/ltmain.m4sh (func_mode_link): Use both return values, + to save another sed_quote_subst application per cmdline arg. + +2004-11-29 Ralf Wildenhues + + * config/ltmain.m4sh (func_lalib_p): Update function + description. + (func_lalib_unsafe_p): New function with same functionality but + written without forks; this function is safe to use for cases + where the argument either does not exist or is required to be a + lalib for correct operation. + * NEWS: Mention the fact that stdin is not to be used. + * config/ltmain.m4sh (func_mode_execute, func_mode_install) + (func_mode_link): Use func_lalib_unsafe_p where appropriate. + (func_mode_execute): For the program wrapper, use + func_ltwrapper_p instead of func_lalib_p. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Treat linux-dietlibc with + the `diet' compiler wrapper (as opposed to the `diet-dyn' wrapper) + as a static-only platform. + * NEWS: Updated. + + * libltdl/ltdl.c (trim): Use memcpy instead of strncpy here, to + avoid problems with non-conforming strncpy. This is safe here. + + * m4/ltdl.m4 (LT_LIB_DLLOAD): Define HAVE_LIBDLLOADER if we + have a dlloader to preload. + * libltdl/ltdl.c (lt_dlinit): Only preload if HAVE_LIBDLLOADER, only + declare preloaded_symbols then. Fixes libltdl on static platforms. + * NEWS: Updated. + +2004-11-29 Gary V. Vaughan + + Add a search path option to libtoolize so that we can run it from + the testsuite without pulling in the last installed macros and + ltdl sources: + + * libtoolize.m4sh: Add a -I option to change libtoolize's search + path for macro files, and libltdl master sources. + (pkgvdatadir, pkgvmacrodir): Renamed... + (pkgvdatadirs, pkgvmacrodirs): ...as they can now contain a ':' + delimited list of directories. Adjust all callers. + (func_copy_all_from_path): New function to search a ':' delimited + search path for a directory to copy. + (func_serial_update, func_ltmain_update, func_config_update): New + first parameter is a filename to search for. srcdir parameter can + now be a ':' delimited search path. Adjust all callers. + (func_copy_some_files): Ditto. + Put srcfile_spec first in parameter list for consistency with + other functions. Adjust all callers. + (func_copy_cb): func_copy adapter function to call func_copy + correctly from func_copy_some_files. + (func_filename_path_search): Return the full path to the first + occurence of a named file found in a list of directories. + * tests/testsuite.at (LIBTOOLIZE): Wrap exported LIBTOOLIZE + initialisation in PREPARE_TESTS diversion to stop it being + discarded when testsuite is generated. + (AT_LIBTOOLIZE): Factor out libtoolize calls, + and set search path to find macros and libltdl source files from + the source tree. + (AT_CHECK_LIBTOOLIZE): Test it. + (AT_BOOTSTRAP): Adjust. Split out call to make. + * tests/am-subdir.at: Call make explicitly. + (Makefile.am): Fix typo in ACLOCAL_AMFLAGS, + +2004-11-28 Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link): $dlsymsobj is really + $symfileobj, bug exposed only in the static preloading case + (symfileobj is created, but not linked into output). + + * tests/demo-relink.test, tests/depdemo-relink.test: SKIP, don't + FAIL if no shared libs available in demo/. Do not try to access + nonexistent files. + + * libltdl/loaders/loadlibrary.c: Remove unneeded + file-static variable. + +2004-11-27 Bob Friesenhahn + + * config/ltmain.m4sh: Add fully-qualified paths to temp_rpath + rather than unqualified paths in order to avoid possible errors + when computing the fully-qualified path later. + +2004-11-24 Jeff Squyres + + * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) + (_LT_LANG_CXX_CONFIG) [linux]: Support for Portland Group (aka + "pgi") compilers. + * NEWS, THANKS: Updated. + +2004-11-24 Gary V. Vaughan + + * Makefile.am: Move Autotest rules from here... + * tests/Makefile.am: ...to here. + * bootstrap: Adjust. Also, create temporary Makefile from + tests/Makefile.am so that bootstrap can create the Autotest + testsuite. + +2004-11-23 Gary V. Vaughan + + If the user's login shell is something crazy like, oooh, + /bin/tcsh, trying to execute bourne shell helper scripts with + the `$SHELL /path/to/helper $helper_flags' idiom incase the + execute bits were lost by say, eeer, cvs, is gonna blow up in + our faces. This changeset tries to save these people from + their shells^H^H^H^H^H^H^H^H^Hmselves :-> + + * tests/defs.m4sh (SHELL): Move definition from here... + * config/general.m4sh (SHELL): ...to here. + +2004-11-23 Gary V. Vaughan + + The ltdl.h header is the published interface to libltdl, and + is thus not installed to $prefix/include/libltdl. It has always + been used with `#include ', so move just that one file + back to where it was before: + + * libltdl/libltdl/ltdl.h: Moved from here... + * libltdl/ltdl.h: ...to here. + * libltdl/Makefile.am: Adjust. + +2004-11-23 Peter O'Gorman + + Do not require that libtoolize --ltdl=/some/path end in libltdl. + Move most libltdl headers to libtldl/libltdl to allow + `#include ' to always work: + + * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for includes + in the new location. + * libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, + libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, + libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, + libltdl/libltdl/lt_system.h, libltdl/libltdl/ltdl.h, + libltdl/libltdl/slist.h: Added files, moved from libtdl/. + * libltdl/lt__alloc.h, libltdl/lt__dirent.h, libltdl/lt__glibc.h, + libltdl/lt__private.h, libltdl/lt_dlloader.h, libltdl/lt_error.h, + libltdl/lt_system.h, libltdl/ltdl.h, libltdl/slist.h: Removed, moved + to libltdl/libltdl. + +2004-11-23 Ralf Wildenhues + + * doc/libtool.texi (LT_INIT): s/libtool 1.6/libtool 2.0/. + (Invoking libtoolize): Fix typo. + +2004-11-22 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_install): Now that func_mktempdir + has been improved, the default directory template is perfectly + fine. + + * doc/libtool.texi (Invoking libtoolize): Improve documentation + for use of ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR. + +2004-11-22 Ralf Wildenhues + + * m4/libtool.m4 (_LT_TAG_COMPILER): Document that with_gcc is + tag-dependent. + + * m4/libtool.m4, tests/demo-nopic.test: Undo bogus commit. + + * config/ltmain.m4sh (func_mode_link), tests/objectlist.test: + Make sure the argument to `-objectlist' may contain spaces. + +2004-11-19 Gary V. Vaughan + + * config/m4general.m4sh, config/mailnotify.m4sh, + clcommit.m4sh: Updated from cvs-utils--tla--1.0 to allow + parallel commits, and use safer tmpfiles. + +2004-11-19 Ralf Wildenhues + + * doc/libtool.texi (Libltdl interface): Typos. + + * doc/libtool.texi (Libltdl interface): Document public macros + LT_PATHSEP_CHAR, LT_DIRSEP_CHAR, use in path descriptions. + +2004-11-18 Daniel Reed + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Interpret + `include' statements in toplevel ld.so.conf file. + +2004-11-18 Ralf Wildenhues + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32]: + tag-protect setting of ld_shlibs. + +2004-11-17 Ralf Wildenhues + + * doc/libtool.texi (Libltdl interface): The path separator + is system-dependent. + + * doc/libtool.texi (Linking static libraries): Typo. + + * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) + [aix4/aix5 !ia64]: Set whole_archive_flag_spec to '$convenience' + so convenience libs are really added to the link cmdline. + +2004-11-17 Mats Rynge + + * libtool.m4 [linux]: Use only the CC basename in case statment + when checking for icc/ecc. Allows for setting CC to the full path + to the compiler. + + * libtool.m4 [solaris]: Added missing 'with linker' flags to + -z allextract ... -z defaultextract flags + +2004-11-14 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Typo: s/--rpath/-rpath/g. + (_LT_LANG_CXX_CONFIG): Ditto. + + * configure.ac (APIVERSION): New substituted variable. + (pkgvdatadir): Ditto. Versioned data directory. + (pkgvmacrodir): Ditto. Versioned aclocal directory. + (LN): New check for LN command. + * Makefile.am (aclocal_DATA): Replaced with... + (pkgvmacro_DATA): ...this. + (install-data-local): Remove old shared resources. + (install-exec-hook): Make versioned links to executables. + (uninstall-hook): Remove versioned files. + * libltdl/Makefile.am (ltdldatadir): Redefine in terms of + pkgvdatadir. + * libltdl/loaders/Makefile.am (ltdldatadir): Ditto. + * libtoolize.m4sh: Copy macro files from versioned macro directory + instead of shared aclocal directory. + * doc/libtool.texi: Document it. + * NEWS: Updated. + +2004-11-10 Gary V. Vaughan + + From James Henstridge : + * m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4: Added commented out + empty macro definitions to match each AU_DEFUN to help aclocal + from automake-1.4 regexps find the right libtool macro files. + +2004-11-10 James E Wilson , + Ralf Wildenhues + + * config/ltmain.m4sh (func_mode_link), tests/Makefile.am, + Fix error message with `-objectlist' file that does not exist. + * tests/objectlist.test: New test for this. + + * Makefile.am: config/ltmain.sh is generated by + config/ltmain.m4sh. + +2004-11-09 Ralf Wildenhues + + * doc/libtool.texi (Compile mode, Link mode, + Libltdl interface, Test descriptions, libtool script + contents): Some quote cleanup, more use of texinfo types. + + * doc/libtool.texi (libtool script contents): + echo is now ECHO; mention argument restriction. + + * doc/libtool.texi (Multiple dependencies): Minor rewording. + + * doc/libtool.texi (User defined module data, References): + indentation and word-wrap cleanup. + + * doc/libtool.texi (all over): White space cleanup: + two spaces at start of sentence, no TABs. + +2004-11-09 Gary V. Vaughan , + Ralf Wildenhues + + * doc/libtool.texi (libtool script contents): Fix description + of need_lib_prefix. + +2004-11-08 Peter Ekberg + + * config/ltmain.m4sh (func_mode_link): forward thread + related flags to dependent applications and libraries + by adding them to `inherited_linker_flags'. + +2004-11-07 Ralf Wildenhues + + * m4/ltoptions.m4: Change all references of LT_LIBTOOL_INIT + to LT_INIT. + +2004-11-05 Peter Ekberg + + * ltmain.m4sh (cwrappersource): clean up other warning on MinGW. + +2004-11-04 Bernhard Fischer , + Ralf Wildenhues + + * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS), m4/ltoptions.m4 + (_LT_SET_OPTIONS), README, README.alpha: Typos. + +2004-11-03 Ralf Wildenhues + + * libtldl/ltdl.c (parse_dotla_file): Fix memleak. + + * ltmain.m4sh (cwrappersource): Cast isalpha arguments correctly. + +2004-11-03 Peter Ekberg + + * ltmain.m4sh (cwrappersource): clean up warnings and + #include errors on MinGW. + +2004-11-01 Peter Ekberg + + * config/ltmain.m4sh (cwrappersource): clean up warnings and + #include errors. + +2004-11-01 Peter Ekberg + + Sometimes, a wrapper script is generated for an executable that, + itself, does not link against an uninstalled library. It appears + that this can happen if you are building a project where: + + (1) there is a library + (2) there is an executable that does not, itself, link against + that library + + In this case, notinst_deplibs is empty, and when the wrapper + script is loaded by libtool during ./libtool mode=install, there + is a check for "is notinst_deplibs empty". In this case, it is, + so libtool reports an error. + + I don't think it is wrong to have a wrapper script for an exe that + *technically* doesn't need it. But instead of checking for + notinst_deplib nonempty as a proxy for "did wrapper script get + sourced into my environment properly" a different var should be + used. + + * config/ltmain.m4sh (func_mode_install): set new variable + `generated_by_libtool_version' in wrapper script when using + libtool_install_magic. When verifying that wrapper script was + properly sourced, check that `generated_by_libtool_version' is + non-empty, instead of using notinst_deplibs. + +2004-11-01 Charles Wilson , + Peter Ekberg + + * config/ltmain.m4sh (func_mode_install): On Windows based hosts, + ensure that import libraries don't get stripped. + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): On Windows based hosts, + use postinstall_cmds to strip DLL (not import lib!) when symbol + stripped installation was requested. + +2004-10-30 Ralf Wildenhues + + * libltdl/ltdl.c (loader_init_callback): Back out broken cast. + + * libltdl/ltdl.c (loader_init_callback, lt_dlexit): Add casts to + target type. + + * tests/defs.m4sh (func_exec): `shift'ing when there is nothing + to shift is non-portable. + +2004-10-28 Patrick Welche , + Ralf Wildenhues + + * Makefile.am, Makefile.maint: Use path for dependencies built + in the source tree, to cater for BSD make. + +2004-10-24 Noah Misch + + * config/ltmain.m4sh (func_lalib_p, func_ltwrapper_p): New + functions that abstract .la sanity checking. + (func_mode_execute, func_mode_install, func_mode_link) + (func_mode_uninstall): Use them. + +2004-10-24 Gary V. Vaughan + + * config/ltmain.m4sh (opt_silent): Whether --silent was given. + (run, show): Deleted. All callers converted to opt_dry_run, + opt_silent or calls to func_show_eval. + * tests/mdemo-dryrun.test: Adjust. + + * HACKING: Fix a typo in the gpg --verify instructions. + + * Makefile.maint (cvs-dist): Generate signatures and directives + for bz2 upload. + +2004-10-23 Peter O'Gorman + + * config/ltmain.m4sh (func_mode_link): Make Gary's new tests + pass. When the output wrapper script is not in the current + directory, we can not use an rpath which is relative to the + current directory. Use an absolute path instead. + +2004-10-22 Gary V. Vaughan + + * clcommit.m4sh: Add --rcfile option. + + * clcommit.m4sh: Updated again, to support file list limited + commits to CVS, and to fix another occurence of the bash bug + that was preventing non-tla users from sending a commit mail. + +2004-10-22 Ralf Wildenhues + + * TODO, libltdl/lt_error.h, libltdl/ltdl.c, libltdl/ltdl.h: + Undo accidental commit. + + * Makefile.maint: Fix typo. + +2004-10-22 Gary V. Vaughan + + * clcommit.m4sh, config/mailnotify.m4sh: Updated from + cvs-utils--tla--1.0 to fix quoting of metachars in patch names. + + * HACKING: Updated: `.in' files are now `.m4sh'; document some + more coding standards for these files. + + * config/general.m4sh (sed_double_backslash): Undo an + over-optimisation. + +2004-10-21 Gary V. Vaughan + + * AUTHORS: Reformatted to better reflect the current state of + Libtool maintainership. + * THANKS: Reformatted to give maintainers a quick way to look + up who has supplied FSF paperwork. + +2004-10-21 Noah Misch , + Gary V. Vaughan + + * config/general.m4sh (sed_double_backslash): Improve this sed + expression to correct left anchored \$ input to + double_quote_subst, as well as backslash escaped $ preceded by + any odd-numbered amount of \ characters. + +2004-10-20 Gary V. Vaughan + + * config/general.m4sh (sed_double_backslash): New sed expression + to escape \$ properly in combination with double_quote_subst. + (func_quote_for_eval): Four space indent margin for functions! + (func_quote_for_expand): Use $sed_double_backslash. + (func_show_eval): New function that echos an escaped but variable + expanded command, and then evaluates it. + +2004-10-20 Noah Misch , + Gary V. Vaughan + + * m4/libtool.m4 (sed_quote_subst): Remove superfluous backslashes + from the match character set. + (double_quote_subst): Ditto. + * config/general.m4sh (sed_quote_subst): Ditto. + (double_quote_subst): New variable, copied from + m4/libtool.m4. Much the same as sed_quote_subst, but variable + references are not quoted. + (func_quote_for_eval): Given any $foo; $bar and + $foo must be identical after the following commands: + func_quote_for_eval "$foo" + eval "bar=$func_quote_for_eval_result" + (func_quote_for_expand): In a similar vein to to func_quote_for_eval, + except that variable expansions are not protected when quoting the + command for subsequent display. + * config/ltmain.m4sh: Factor away use of $sed_quote_subst now that + it has been subsumed into func_quote_for_eval. + (func_mode_link): Instead of `2004-10-14 Peter O'Gorman' below, + use func_quote_for_expand so that ${wl} is expanded properly in + the $show expression. + +2004-10-16 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_finish): solaris-2.6 also has + crle(1). + Reported by Albert Chin-A-Young + +2004-10-16 Gary V. Vaughan + + Add some new tests for Libtool's support of Automake + subdir-objects builds. This marks the beginning of a move to an + Autotest driven test framework, which will eventually allow us to + trim away many of the generated files in the current test demo + subdirectories: + + * configure.ac (AC_CONFIG_TESTDIR): Re-enable commented out + Autotest macros. + (AUTOTEST, M4SH): Use --language long hand. + * bootstrap: Generate tests/testsuite, and by implication + tests/package.m4. + * Makefile.am (edit): Add substitutions needed to generate + tests/package.m4 from bootstrap. + (check-recursive): Add tests/testsuite. + (TESTSUITE): The new Autotest testsuite target. + (TESTSUITE_AT): The Autotest sources. + (EXTRA_DIST): Distribute the generated testsuite and sources. + (tests/package.m4): Use $(edit) to propagate package metadata to + the new tests. + (tests/testsuite): Build the testsuite. + (tests/atconfig): How to regenerate the file. + (check-local): Hook Autotest into `make check'. + (installcheck-local): Run the testsuite on the installed tree. + (clean-local): Tidy our file droppings. + * tests/Makefile.am: Remove bitrotted code from Autotest + experiments in Autoconf 2.52 era. Updated the rest and moved into + Makefile.am. + * tests/testsuite.at: New container for Autotest test groups. + * tests/am-subdir.at: New test group for compatibility with + Automake's subdir-objects builds. Currently holds two tests, one + for a C project and another similar project in C++. + * TODO: Add an entry to remind us that these new tests expose a + bug in libtool. + * NEWS: Updated. + +2004-10-14 Peter O'Gorman + + * config/ltmain.m4sh: Revert most of my last commit, only eval + \$show \"$cmds\", and only when building a library. I'm a wimp. + Thanks Gary for pointing out errors in previous commit. + +2004-10-13 Gary V. Vaughan + + * config/ltmain.m4sh (func_mode_finish): Mention crle(1) on + solaris 2.7 and higher in the finalisation notes. + Reported by Kurt J. Lidl + + * tests/cdemo-undef.test: New test for hosts that allow shared + libraries with undefined symbols, but have no C++ compiler + installed. + * tests/Makefile.am (COMMON_TESTS): Add it. + +2004-10-13 Peter O'Gorman + + * config/ltmain.m4sh: Make sure that we $show what we will $run, + use eval $show if we do $run eval. + +2004-10-13 Charles Wilson + + * config/ltmain.m4sh: add foo/bin for every foo/lib + in dllsearchpath when creating wrapper script. Fixes + depdemo-relink test failure. + +2004-10-12 Charles Wilson + + * config/ltmain.m4sh (func_mode_link): don't relink + on cygwin/mingw; no need. But do ensure that wrappers + are created unless doing a purely static build. + +2004-10-13 Gary V. Vaughan + + * tests/tagdemo-undef.test: New test for hosts that allow shared + libraries with undefined symbols. + * tests/Makefile.am (CXX_TESTS): Add it. + +2004-10-11 Charles Wilson + + * tests/link.test: Fix check for use of libnlsut.a under + Cygwin. + +2004-10-11 Noah Misch + + * tests/quote.test: Do not look for $preargs in the output, + because libtool may change them. + +2004-10-10 Charles Wilson + + * config/ltmain.m4sh: Really don't require versions of GNU + sed newer than 3.02 for Cygwin and MinGW, and don't break + dryrun mode. + +2004-10-10 Bob Friesenhahn + + * config/getopt.m4sh: Under MinGW, reported paths may include ':' + so ':' should not be used as the sed delimiter. Use '*' instead + since it is very unlikely to appear in a path. + +2004-10-10 Albert Chin-A-Young + + * config/ltmain.m4sh: Don't require versions of GNU sed newer than + 3.02 for Cygwin and MinGW. + +2004-10-10 Bob Friesenhahn + + * tests/pdemo-inst.test: Correction for mis-application of + Charles Wilson's earlier patch. + +2004-10-09 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_F77_CONFIG): Make sure the save and + restore code for CC is nested at the same depth. + (_LT_LANG_CXX_CONFIG): Ditto, but for several variables. + +2004-10-08 Gary V. Vaughan + + Update to the latest commit and mailnotify scripts from + gary@gnu.org--2004/cvs-utils--tla--1.0: + + * commit, config/mailnotify: Removed. Now built from... + * clcommit.m4sh, config/mailnotify.m4sh: ...these new sources. + * Makefile.maint (commit, config/mailnotify): How to build them. + * bootstrap: If we have a checked out tree (i.e. clcommit.m4sh + is present), then build them. + +2004-10-08 Gary V. Vaughan + + Fix some issues that mangled the reexecution path to a script, + and thus prevented it from finding itself: + + * config/general.m4sh (progname): Don't actually change the name + of the script if it begins with a `-', just prepend `./'. + (progpath): Add a new clause that first searches the execution + PATH, and then finally assumes this script is in the current + working directory if $progname has no directory separators (e.g + when invoked as `$SHELL progname'). + +2004-10-08 Gary V. Vaughan + + * config/general.m4sh (func_verbose): Work around a bash bug in + shell functions. + +2004-10-08 Charles Wilson + + * tests/pdemo-inst.test: pdemo-inst should depend on pdemo-make. + * config/ltmain.m4sh: Windows and Cygwin reserve the .lnk + extension to represent shortcuts. Use the extension ".lnkscript" + rather than ".lnk" for the piecewise linking ld script in order to + avoid the conflict. + +2004-10-07 Ralf Wildenhues + + * libltdl/ltdl.c (lt_dlexit, lt_dlpath_insertdir): Fix memleaks, + free user_search_path on lt_dlexit. + +2004-10-07 Ralf Wildenhues + + * tests/sh.test: Remove tests which fail on AS_SHELL_SANITIZE + from autoconf >= 2.59. + + * TODO: Remove item: no need for a libltdl without stdio. + +2004-10-07 Gary V. Vaughan + + * tests/defs.m4sh (scripts): Actually scan the generated ltmain.sh + for shell portability problems. + + * m4/libtool.m4 (_LT_FORMAT_COMMENT): Shell meta-characters in + _LT_DECL descriptions were not being escaped before injection into + TAG CONFIG here documents in config.status. + +2004-10-06 Peter O'Gorman + + * m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77): New macros to work + around the deficiencies in AC_PROG_CXX and AC_PROG_F77. + * configure.ac: Cleaned up, having moved the checks for compilers + which do not exist to libtool.m4. + +2004-10-05 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Move .la file parsing + part.. (parse_dotla_file): ..here. Adjust. + + * libltdl/ltdl.c (load_deplibs, try_dlopen): Revert unnecessary casts + to int from my patch from 2004-10-01. + + * AUTHORS: Add myself. + +2004-10-05 Peter O'Gorman + + * config/ltmain.m4sh [darwin]: Make the -dylib_file flag work on + older darwins too. Reported by Christoph Egger. + +2004-10-05 Gary V. Vaughan + + * configure.ac: Bumped version to 2.1a. + +2004-10-04 Gary V. Vaughan + + * m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Don't confuse $ECHO + with $lt_ECHO, or we always get a libtool with ECHO=echo, rather + than testing for a mechanism that quotes \ properly. + * NEWS: Updated. + + * config/ltmain.m4sh: Need to include getopt.m4sh earlier so that + progpath is set before it is called to --no-reexec. + * NEWS: Updated. + +2004-10-04 Gary V. Vaughan + + Without this change, the distributed libtool tarball has a + dependency on autom4te. There was some inconsistency in the + filenames: now we have foo.m4sh -> m4sh -> foo.in -> configure + -> foo[.sh]. Bootstrap runs the m4sh steps and the resulting .in + files are distributed: + + * tests/Makefile.am (EXTRA_DIST): Distribute defs.m4sh. + * Makefile.am (EXTRA_DIST): Distribute libtoolize.m4sh. + (libtoolize.in, libtoolize): Split into bootstrap and runtime + stages. + ($(top_srcdir)/tests/defs.in, $(top_srcdir)/tests/defs): Ditto. + ($(top_srcdir)/config/ltmain.sh): Swap ltmain.m4sh and ltmain.in + names. + * bootstrap: Make libtoolize.in and tests/defs.in. + * NEWS: Updated. + +2004-10-03 Bob Friesenhahn + + * README, README.alpha: Update notes regarding available VERBOSE + settings. + +2004-10-03 Bob Friesenhahn + + * config/ltmain.in: Change $XSED to $Xsed to fix hang noticed + under MinGW. + * tests/defs.in: Support VERBOSE=debug to enable shell tracing + while running tests. + +2004-10-03 Gary V. Vaughan + + * NEWS: Updated. + * configure.ac: Bumped version to 1.9e. + + GNU libtool 1.9d was released. + + * configure.ac: Bumped version to 1.9d. + * NEWS: Updated. + + * libltdl/lt__alloc.h (lt__alloc_die): Declare with LT_SCOPE as + per Ralf's original patch. + Reported by Bob Friesenhahn + + * libltdl/Makefile.am (libltdlc_la_LIBADD): Don't use + libdlloader_la_OBJECTS, an undocumented Automake internal + variable... + (libltdlc_la_SOURCES): ...use libdlloader_la_SOURCES here + instead. + Reported by Bob Friesenhahn + + * libltdl/argz_.h: Forgot to spell lt_system.h with just one `_'. + + * libltdl/argz_.h: Forgot to include lt__system.h for LT_SCOPE + definition. + +2004-10-03 Ralf Wildenhues , + Gary V. Vaughan + + * libltdl/lt__alloc.h: Declare exported functions with LT_SCOPE + for mingw32. + * libltdl/lt__dirent.h: Ditto. + * libltdl/argz._h: Ditto. Be careful about not requiring + additional libltdl files when used outside of libltdl. + * libltdl/slist.h: Ditto. + * HACKING: Add a section on libltdl implementation layering. + +2004-10-03 Gary V. Vaughan + + * tests/quote.test: echo is called ECHO now. Make sure we extract + the value of ECHO from the libtool script. + Reported by Bob Friesenhahn + +2004-10-02 Gary V. Vaughan + + * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7*]: Revert my + hack from 2004-09-30 now that I've removed /lib/hello.la and the + tests work properly for me again. + +2004-10-02 Jim Tison + + Initial support for s390x-ibm-tpf: + + * m4/libtool.m4: Correct obvious spelling errors in remarks. + (_LT_ENABLE_LOCK): Make s390x-ibm-tpf hosts adopt elf64_s390 + conventions. + (_LT_SYS_DYNAMIC_LINKER): Set defaults for s390x-ibm-tpf host. + (_LT_CHECK_MAGIC_METHOD): Skip all dependency checks for + s390x-ibm-tpf hosts. + (_LT_LINKER_SHLIBS): Make s390x-ibm-tpf hosts adopt GNU/Linux OS + attributes. + * NEWS: Updated. + +2004-10-01 Ralf Wildenhues + + * config/ltmain.in (func_mode_install): Need to set $tmpdir before + using it. + + * config/ltmain.in (func_mode_link): Fix quoting bug. Fixes + e.g. the quoting of the -export-symbols-regex argument in .la + files' relink_command. + + * libltdl/lt__alloc.c (lt__memdup): Allocation can fail, so we + need to guard against null pointer dereference here. + * libltdl/ltdl.c (lt_dlcaller_register): Ditto. + + * libltdl/slist.c (slist_foreach): result was declared as + inner variable, shadowing the actually returned value. + + * libltdl/ltdl.c (load_deplibs, try_dlopen): Cast argument + to isspace/isalnum to the correct range. Also, cast to int to + avoid compiler warnings. + +2004-09-30 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Fix null pointer dereference in + case the name given to lt_dlopen contains no extension. + + * libltdl/lt_dlloader.c (lt_dlloader_remove), libltdl/ltdl.c + (tryall_dlopen, lt_dlhandle_next): Show usage of function pointers. + + * doc/libtool.texi (LT_INIT, Using libltdl) + (Module loaders for libltdl, Multiple dependencies) + (libtool script contents): Fix several typos (trivial change). + Also, libltdl consists of more than two small files. + +2004-09-30 Gary V. Vaughan + + * m4/libtool.m4 (hardcode_shlibpath_var) [darwin7]: My Panther + workstation doesn't hardcode the shared library path, although it + used to, so this is more likely a function of the binutils and/or + gcc I am using at the moment. The hardcode value setting code for + the configure script sucks at the moment though... + * TODO: ...and needs to do a test compile instead of a table + lookup before 2.0 final. + + * m4/libtool.m4 (echo): Use ECHO throughout for consistency with + config/ltmain.in. + Reported by Ralf Wildenhues + + * m4/libtool.m4 (rm): Use RM throughout for consistency with + config/ltmain.in. + Reported by Charles Wilson + +2004-09-27 Peter O'Gorman + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v + output during configure. (Really this time, honest) + +2004-09-26 Albert Chin-A-Young + + * m4/libtool.m4 (_LT_LINKER_SHLIBS) [aix]: In archive_expsym_cmds, + move -bnoentry linker option before $compiler_flags to honor any + possible -e entries in LDFLAGS. + +2004-09-25 Gary V. Vaughan + + * config/ltmain.in (func_mode_link): When linking an installed + libtool library on the command line using -lfoo we need to find + the library in the search paths and add it's dependency_libs to + the link in the conv pass so that any libtool libs listed are + correctly expanded in the link pass. + +2004-09-24 Charles Wilson + + * libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Revert changeset from + `2004-09-22 Charles Wilson '. + +2004-09-24 Gary V. Vaughan + + * config/general.m4sh (Xsed): Set a default when not used from + ltmain.in. + (ECHO): Audit for (and correct!) uses of $ECHO with more than one + argument, which breaks when ECHO='printf %s\n', and with possible + `-' as first character of the argument, which breaks `print -r' + and some implementations of `echo'. + * config/ltmain.in, tests/defs.in, libtoolize.in (ECHO): Ditto. + Reported by Albert Chin-A-Young + +2004-09-24 Peter O'Gorman + + * m4/libtool.m4 (_LT_CMD_STRIPLIB) [darwin]: strip archives too. + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [darwin]: Don't echo gcc -v + output during configure. + +2004-09-24 Gary V. Vaughan + + * m4/libtool.m4 (_LT_DECL_EGREP): Only the newest CVS autoconf + AC_SUBSTs for GREP. Do our own here too to cater for release + autoconfen. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [openbsd3.3]: Set + need_version to yes or no depending on the os release. + Reported by Dalibor Topic + +2004-09-23 Gary V. Vaughan + + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-deplibs.test, tests/demo-exec.test, + tests/demo-hardcode.test, tests/demo-inst.test, + tests/demo-make.test, tests/demo-nofast.test, + tests/demo-noinst-link.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-relink.test, + tests/demo-shared.test, tests/demo-static.test, + tests/demo-unst.test, tests/depdemo-conf.test, + tests/depdemo-exec.test, tests/depdemo-inst.test, + tests/depdemo-make.test, tests/depdemo-nofast.test, + tests/depdemo-relink.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/depdemo-unst.test, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/link-2.test, tests/link.test, + tests/mdemo-conf.test, tests/mdemo-dryrun.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/mdemo-make.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/mdemo-unst.test, + tests/mdemo2-conf.test, tests/mdemo2-exec.test, + tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/pdemo-make.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test, + tests/tagtrace.test: POSIX `.' searches only in user's $PATH, so + we must use `. ./defs' to source the common code. + Reported by Alexandre Duret-Lutz + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Gah. Merge error + corrected. + +2004-09-23 Gary V. Vaughan + + Since defs can change (path to grep for example) when it is made + for a different host, it can't be shipped. That also means that + defs will always be generated in the build tree, so each test case + can have the srcdir discovery factored away into tests/defs.in: + + * Makefile.am (EXTRA_DIST): s/defs/defs.in/g + * tests/Makefile.am (defs): New rule to remake defs from the + parent directory's Makefile. + * tests/cdemo-conf.test, tests/cdemo-exec.test, + tests/cdemo-make.test, tests/cdemo-shared.test, + tests/cdemo-static.test, tests/demo-conf.test, + tests/demo-deplibs.test, tests/demo-exec.test, + tests/demo-hardcode.test, tests/demo-inst.test, + tests/demo-make.test, tests/demo-nofast.test, + tests/demo-noinst-link.test, tests/demo-nopic.test, + tests/demo-pic.test, tests/demo-relink.test, + tests/demo-shared.test, tests/demo-static.test, + tests/demo-unst.test, tests/depdemo-conf.test, + tests/depdemo-exec.test, tests/depdemo-inst.test, + tests/depdemo-make.test, tests/depdemo-nofast.test, + tests/depdemo-relink.test, tests/depdemo-shared.test, + tests/depdemo-static.test, tests/depdemo-unst.test, + tests/f77demo-conf.test, tests/f77demo-exec.test, + tests/f77demo-make.test, tests/f77demo-shared.test, + tests/f77demo-static.test, tests/link-2.test, tests/link.test, + tests/mdemo-conf.test, tests/mdemo-dryrun.test, + tests/mdemo-exec.test, tests/mdemo-inst.test, + tests/mdemo-make.test, tests/mdemo-shared.test, + tests/mdemo-static.test, tests/mdemo-unst.test, + tests/mdemo2-conf.test, tests/mdemo2-exec.test, + tests/mdemo2-make.test, tests/nomode.test, tests/pdemo-conf.test, + tests/pdemo-exec.test, tests/pdemo-inst.test, + tests/pdemo-make.test, tests/quote.test, tests/sh.test, + tests/suffix.test, tests/tagdemo-conf.test, + tests/tagdemo-exec.test, tests/tagdemo-make.test, + tests/tagdemo-shared.test, tests/tagdemo-static.test, + tests/tagtrace.test: Removed srcdir discovery boilerplate... + * tests/defs.in: ...and put it here. + +2004-09-23 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): move symcode calculation + to correct place. + * doc/libtool.texi (libtool script contents): update description + of global_symbol_to_cdecl. + +2004-09-23 Gary V. Vaughan + + * configure.ac (M4SH): AC_SUBST m4sh expander. + * config/general.m4sh, config/getopt.m4sh: New files with factored + out functionality from... + * config/ltmain.in, libtoolize.in: ...here. m4_include the shared + code, and call AS_SHELL_SANITIZE. Also quote all `[' and `]' to + survive m4 run. + (func_serial): No need to double up m4sh quotes after a `#'. + (func_check_macros): Escape `dnl' to stop m4sh interpreting it as + a macro. + * tests/defs.in: New file expanded into tests/defs by autom4te. + * m4/libtool.m4 (_LT_DECL_EGREP): Also require fgrep for the tests + that use it. + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Now built with + M4SH. + (libtoolize): Ditto. + * bootstrap: Set M4SH for call to make. + * HACKING: No need to sync to AS_SHELL_SANITIZE by hand any more. + + * m4/libtool.m4: _LT_DECL uppercase ECHO. + * config/ltmain.in: Use it throughout. + (func_mkdir_p): Now matches the other implementations in + tests/defs and libtoolize.in. + * tests/sh.test: Updated to detect ECHO misuse. + +2004-09-22 Gary V. Vaughan + + * config/ltmain.in (func_mode_link): Propagate a convenience + library's dependency libs correctly when it is being linked into a + libtool library. Deplibs are now propagated whether libdir is set + or not. + +2004-09-22 Andreas Schwab + + The dlpreopen pass over libraries reverses the elements in the + $deplibs list. This causes problems when the link pass tries to + find libraries when they are located in non-standard places + denoted by -L options. Due to the reversed order these -L options + occur after the libraries that need them, and they are not found: + + * config/ltmain.in: (Un)Reverse $deplibs list at the start of the + link pass in lib mode. + +2004-09-22 Charles Wilson + + * ltmain.in (func_generate_dlsyms) [cygwin, mingw]: when creating + a .exp file for an executable, also create a .def file, and add + that file to the link command via SYMFILES. This causes binutils + to generate an .edata section, and allows self dlopening to work. + * NEWS: Updated. + + * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better quoting for + postinstall_cmds and postuninstall_cmds to allow spaces in install + paths. + + * config/ltmain.in (func_generate_dlsyms): Addresses in + _preloaded_symbols[] cannot go into .rdata section if symbols are + DATA imported from DLL, on windows, because runtime relocations + must happen. + * m4/libtool.m4 (_LT_LINKER_SHLIBS([TAGNAME])): Build exports for + symbols in .rdata sections. + +2004-09-19 Gary V. Vaughan + + The checks in assign.test are trying to catch case of this ilk: + `foo=bar break', but unfortunately they also choke on `foo=bar; + break' and `foo=bar && break'. Writing a sophisticated test to + catch just the intended case seems like more trouble than it's + worth, but leaving the test in causes the testsuite to fail on + valid m4sh output: + + * tests/assign.test: Removed; chokes on perfectly valid shell + syntax. + * tests/Makefile.am (COMMON_TESTS): Remove assign.test. + * tests/defs.in (scripts): Don't check the m4sh inputs, go back + to checking the generated ltmain.sh script. + +2004-09-17 Gary V. Vaughan + + * config/ltmain.in (func_echo): Except for multi-line warnings and + errors, always use func_echo. $show is for command output, and + $echo is for internal use in backtick expressions and similar. + +2004-09-17 Gary V. Vaughan + + Missed a couple of MKDIR_P references in ltmain.in in my last + patch; fix them carefully. Introduce an opt_dry_run to ltmain.in + so that the implementations of func_mkdir_p can converge, and a + func_mktempdir to do a better job of temporary directory creation: + + * libtoolize.in (func_mkdir_p): Don't fail if the directory wasn't + created in dry run mode. + * tests/defs (func_mkdir_p): Ditto. We don't actually have a dry + run mode for the tests, but the function is written carefully to + be kept in synch and work correctly here too. + * config/ltmain.in (func_mkdir_p): Ditto. This copy of the + function now only differs in its use of $echo over $ECHO. + (func_extract_archive): Removed first redundant mkdir call. + (func_mktempdir): New function that tries to avoid races when + making temporary directories. + (opt_dry_run): Set this if --dry-run is given at the CLI, or if + tests/mdemo-dryrun.test has forced the value of $run. + (func_mode_install): Call $MKDIR directly and error out if the + directory cannot be created. + (func_mode_link): Rather than copying func_mkdir_p into the + wrapper script as a replacement for $MKDIR_P, we know that the + script won't be called my `make -j', so write the current value of + $MKDIR. + +2004-09-17 Peter O'Gorman + + * m4/libtool.m4: remove an extra "]" + + * m4/libtool.m4 [darwin] (_LT_LANG_CXX_CONFIG): Changes for 10.4. + * config/libtool.in [darwin]: ditto. + +2004-09-16 Gary V. Vaughan + + My most recent `2004-09-02 Gary V. Vaughan' patch for mkdir_p + below is horrendously broken since it makes the installed libtool + try to run the mkinstalldirs or install-sh helper scripts. This + patch fixes the `make -j' mkdir race condition internally: + + * libtoolize.in (func_mkdir_p): New slice and dice algorithm + to build the directory tree one dir at a time, ignoring errors + until the end incase they are transient due to a concurrent + identical mkdir. + * tests/defs (func_mkdir_p): Ditto. + * config/ltmain.in (func_mkdir_p): Ditto, except that ltmain.in + uses $echo rather than $ECHO, and uses $show and $run to interact + correctly with the command line. + * configure.ac (AM_INIT_AUTOMAKE): 1.8 is sufficient again. + * Makefile.am (edit): Don't substitute automake's $(mkdir_p). + * NEWS: Updated. + +2004-09-15 Bob Friesenhahn + + * libltdl/loaders/loadlibrary.c: Compilation fixes (originally + from Gary V. Vaughan) to compile under MinGW. + * config/mkstamp: Translate input data so that it is assured to + use the Unix line terminations. This is necessary under Windows if + the files are checked out with CR/NL line terminations. A + side-effect of this change is that input must always be from + stdin. Previously a filename argument was accepted as well. + +2004-09-15 Ralf Wildenhues + + * tests/Makefile.am: Use the same CPP, F77, CXX and CXXFLAGS + for the test suite. + +2004-09-15 Ralf Wildenhues + + * m4/libtool.m4 (_LT_ENABLE_LOCK):Replace AC_TRY_LINK with + AC_LINK_IFELSE to get rid of `autoconf -Wobsolete' warning. + * m4/ltdl.m4 (LT_LIB_DLLOAD): Ditto. + +2004-09-15 Gary V. Vaughan + + * config/ltmain.in (func_quote_for_eval): Set a return value to + avoid forking at every call. Changed all callers. + (func_mode_link): Simplified, and removed the final non-portable + nested escaped double quotes in back quotes usage in the process. + +2004-09-14 Gary V. Vaughan + + * config/ltmain.in (func_quote_for_eval): Factor out the ugly + shell meta-character quoting. Changed all callers. + +2004-09-14 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Simplification: + distinguish between data and code symbols on every system. + +2004-09-14 Albert Chin-A-Young + + Unfortunately, libtool has no way of telling if unrecognized + compiler flags need an argument or not, and can disect options and + pass parts through incorrectly. This changeset reverts both + 2004-09-06 Albert Chin-A-Young (topmost) and 2004-09-05 Albert + Chin-A-Young below, and recognises more options explicitly: + + * config/ltmain.in (func_mode_link): Pass through options needed + to compile in 64-bit mode with gcc, and the SGI, Sun, HP and IBM + compilers. + +2004-09-13 Gary V. Vaughan + + * m4/libtool.m4 (_LT_CMD_GLOBALS_SYMBOLS): Fix a typo I made when + applying 2004-09-11 Ralf Wildenhues. + +2004-09-12 Brad + + * libtool.m4: Fixes for the OpenBSD support + +2004-09-12 Peter O'Gorman + + Our fortran tests were not very good. All the libraries created + were convenience libs, so we did not test the creation of shared + libraries on any platform. Also none of the libs used any actual + fortran library calls, adding a call to write(*,*) in each lib + causes the tests to fail on darwin (and presumably other platforms). + These new tests would likely cause many more fortran test failures, + so if there is an error during make it is reported as SKIP. + + * tests/f77demo-make.test: Don't fail hard, skip on failure. + * tests/f77demo/foof2.f: New file. + * tests/f77demo/foof3.f: New file. + * tests/f77demo/fprogram.f: Call routine in new lib. + * tests/f77demo/foof.f: Call routine in another new lib. + * tests/f77demo/Makefile.am: Make a couple of new libraries, add + $(FLIBS) to cprogram LDADD. + +2004-09-11 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes + data and code symbols on linux-gnu/ia64. Fixes multiple testsuite + failures. + * NEWS: Updated. + +2004-09-06 Gary V. Vaughan + + * libltdl/loaders/shl_load.c (get_vtable): Typo. + +2004-09-06 Albert Chin-A-Young + + Hopefully, passing unrecognised compiler arguments through + unmolested will prove to be a good plan for the 2.0 release. If + it goes awry, we can get back to where we were by reverting this + patch and the 2004-09-05 Albert Chin-A-Young patch, aka + gary@gnu.org--2004/libtool--devo--1.0--patch-169,172: + + * config/ltmain.in (func_mode_link): Because we now pass through + compiler arguments we doesn't recognize, the code to pass + through GCC's -m* arguments is not needed. + +2004-09-06 Albert Chin-A-Young + + * Makefile.am (clean-ltmain-sh): Using '==' to test for equality + in a shell script is not portable. Use '=' instead. + +2004-09-05 Andreas Schwab + + * m4/ltdl.m4 (LT_WITH_LTDL): Remove excess quoting in argument of + AC_CONFIG_SUBDIRS. + +2004-09-05 Albert Chin-A-Young + + * config/ltmain.in (func_mode_link): Pass otherwise unrecognised + + and - style switches to the compiler. + * NEWS: Updated. + +2004-09-05 Gary V. Vaughan + + * Makefile.am (libtool): Force libtool to be regenerated if + stamp-vcl has changed. + +2004-09-05 Albert Chin-A-Young + + * m4/libtool.m4, config/ltmain.in: When calling $LTCC, + pass default $CFLAGS through with $LTCFLAGS. + +2004-09-03 David Edelsohn + + * config/ltmain.in (func_mode_link): Use $pic_object as + $non_pic_object if $non_pic_object=none. + * NEWS: Updated. + +2004-09-03 Gary V. Vaughan + + * bootstrap: Remember that the ltmain.sh generated by bootstrap + is missing most of its substitution values, so force it to be + rebuilt at make time by touching $(top_srcdir)/config/ltmain.in. + + From Martin Quinson + * m4/libtool.m4 (_LT_SETUP, _LT_ENABLE_LOCK, LT_PATH_LD): Use + AS_HELP_STRING to get rid of autoconf -Wobsolete warning + messages. + * m4/ltdl.m4 (LT_WITH_LTDL, _LT_ENABLE_INSTALL): Ditto. + * m4/ltoptions.m4 (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC) + (_LT_ENABLE_FAST_INSTALL, _LT_WITH_PIC): Ditto. + * TODO: Updated + +2004-09-03 Ralf Wildenhues + + * libltdl/slist.c (slist_cons): Don't leak the tail of a list. + +2004-09-03 Albert Chin-A-Young + + * m4/libtool.m4 (_LT_ENABLE_LOCK): Reformatted. + +2004-09-03 Gary V. Vaughan + + * HACKING: Explain how to verify detached signatures with gpg in + the release announcement templates. + + * AUTHORS: Fix typo in my address. + +2004-09-02 Gary V. Vaughan , + + Builds of packages that use libtool and make -j produce "directory + already exists warnings" for .lib directory. Build on automake + wisdom to support make -j builds where a suitable mkdir is + available: + + * configure.ac (AM_INIT_AUTOMAKE): Require 1.9, which goes to some + trouble to find a $(mkdir_p) that doesn't interfere with make -j. + * Makefile.am (edit): Substitute for @mkdir_p@. + * config/ltmain.in (MKDIR_P): Take @mkdir_p@ value. + (mkdir): Removed. + (func_mkdir_p): New function to use $MKDIR_P. Factor out all + previous mkdir calls to use this function. + (RM, MV): Declared as in libtoolize.in. Changed all callers. + * libtoolize.in (MKDIR_P): Take @mkdir_p@ value from automake. + (func_mkdir_p): Use it, similarly to new config/ltmain.in. + * tests/defs: Synchronize boiler plate code with ltmain.in. + Adjust all callers. + Add missing copyright preamble. + * tests/demo-static.test: Add missing copyright preamble. + * NEWS: Updated. + Reported by Daniel Reed + +2004-09-02 Gary V. Vaughan , + + * Makefile.am (clean-ltmain-sh): Quote $(top_builddir) for the + shell, incase it is not set when running maintainer rules with + `make -fMakefile.maint'. + Don't show the shell commands. + + * AUTHORS: Fix my email address. + +2004-09-02 Ralf Wildenhues + + * libltdl/ltdl.c (try_dlopen): Fix memory leak. + * NEWS: Updated. + +2004-09-02 Gary V. Vaughan , + Ralf Wildenhues + + * libltdl/slist.c, libltdl/slist.h: Merge in changes from latest + upstream. Mostly comments, formal item boxing, a sort function, + and const madness reduction. + (slist_new): Removed. + (slist_box, slist_unbox, slist_sort): New. + (SListCompare, SListCallback): Swapped! + (slist_remove, slist_find): Change order of parameters for + orthogonality with slist_foreach. Changed all callers. + * libltdl/lt_dlloader.c (loader_cmp): Renamed to... + (loader_callback): ...this. Return boxed item. + (lt_dlloader_remove): Adjust to new loader_callback semantics; + unbox each removed item before returning. + Remove unused variable. + Remove const from name parameter, since the slist API cannot + guarantee userdata const-ancy for its callback functions. + (lt_dlloader_find): Adjust to new loader_callback semantics; need + to return the contents of the boxed item. + Remove const from name parameter, since the slist API cannot + guarantee userdata const-ancy for its callback functions. + * libltdl/lt_dlloader.h (lt_dlloader_find, lt_dlloader_remove): + Adjust to new constless footprint. + * libltdl/ltdl.c (ltdl_exit): The global `loaders' list is changed + by `lt_dlloader_remove' while cleaning up, so the address in local + variable `loader' is invalidated. Since some loaders may be + resident modules that cannot be unloaded (though we have none + yet), we must save each `next' address before calling + `lt_dlloader_remove'. + * NEWS: Updated. + * THANKS: Added Ralf. + +2004-09-01 Gary V. Vaughan + + * libltdl/lt_dlloader.c (lt_dlloader_add): Handle malloc failure + from slist_new. + * libltdl/ltdl.c (loader_init): Trust lt_dlloader_add(), don't + overwrite its error type, and simplify. + Reported by Ralf Wildenhues + +2004-09-01 Ralf Wildenhues + + * libltdl/slist.c (slist_new): Handle malloc failure gracefully. + +2004-09-01 Gary V. Vaughan + + * libtoolize.in, config/ltmain.in: Add CDPATH protection to + preamble. + * tests/defs: Put a full m4sh.m4 style 'Be Bourne compatible' + preamble in here too. + * HACKING: Note that tests/defs needs synching with m4sh.m4 too. + * TODO: Add new item. + + * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Use correct cpp + macro name, LT_DLSEARCH_PATH. + + * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Fix gcc parentheses + warning. + (foreach_dirinpath, try_dlopen, lt_dlpath_insertdir): Fix gcc + signed vs unsigned warning. + Reported by Bob Friesenhahn + + * m4/libtool.m4 (_LT_PROG_LTMAIN): Simplified in light of + ltmain.sh no longer being in the build tree. + Reported by Ralf Wildenhues + +2004-09-01 Ralf Wildenhues + + * libltdl/loaders/preopen.c: Initialise memory in get_vtable. + + * tests/sh.test: Look in the source tree for ltmain.sh. + +2004-09-01 Gary V. Vaughan + + Don't use C99 flexible array types as we want to be C89 + compatible. Instead, revert to the old way of doing things with + an array of symbol name vs. address, and adding the originator as + the first symbol but with a NULL address: + + * config/ltmain.in (func_extract_dlsyms): Store originator as a + NULL address symbol. + * libltdl/ltdl.h (lt_dlsymbol): Removed. + (lt_dlsymlist): Remove originator field. + (LTDL_SET_PRELOADED_SYMBOLS): Adjust. + * libltdl/loaders/preopen.c (vm_open, lt_dlpreload_open): Adjust + for new types. + (vm_sym): Skip the new originator symbol when scanning symbol + names. + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust preloaded symbols + test file to match. + * NEWS: Updated. + Reported by Andreas Schwab + +2004-09-01 Gary V. Vaughan + + Libtool currently assumes that certain characteristics, such as + enable_shared, apply to the host architecture rather than per- + language. Running the tests over a broken compiler can corrupt + these values, when there is no C++ compiler for example, so we + skip most of the tests in those cases. + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): If caught_CXX_compiler was + set from configure.ac, then don't run all the compiler tests. + (_LT_LANG_F77_CONFIG): Similarly for caught_F77_compiler. + +2004-08-31 Gary V. Vaughan + + * Makefile.am (clean-ltmain-sh): Remove stale config/ltmain.sh + from the build tree that were left behind by previous versions of + libtool. + ($top_srcdir)/stamp-vcl: Since this rule is already called on + every invocation of make, hook clean-ltmain-sh in here too. + Suggested by Ralf Wildenhues + +2004-08-31 Ralf Wildenhues + + * bootstrap: Update warning message to reflect having split + libtool.m4 into several files. + Also, add config/ltmain.sh to list of stale files from previous + versions to be removed before bootstrap. + + * libltdl/ltdl.c: Replace strdup with lt__strdup. + +2004-08-30 Gary V. Vaughan + + * config/ltmain.in: Double quote even $# for the sake of sh.test. + (exec_cmd): Be careful about "`\"foo\"`" quoting, even in comments + to avoid triggering the tests in sh.test. + + * configure.ac: Because of the way the autoconf C++ testing + works, we need to call the C test first to work in an environment + that has no C++ compiler. + + * libltdl/lt_dlloader.c (lt_dlloader_remove): Since the return + value of this function is often passed to free, don't declare it + `const'. Responsibility for this memory is given back to the + caller on return. + * libltdl/lt_dlloader.h (lt_dlloader_remove): Ditto. + * libltdl/ltdl.c (lt_dlexit): Adjust. + * NEWS: Updated. + +2004-08-30 Andreas Schwab + + * libltdl/ltdl.c (lt_dlexit): Remove lvalue cast. + + * libltdl/slist.h (SListCallback): Fix missing type. + + * config/ltmain.in: Accept --mode=relink. + +2004-08-29 Gary V. Vaughan + + * NEWS: Updated. + * configure.ac: Bumped version to 1.9c. + + GNU libtool 1.9b was released. + + * configure.ac: Bumped version to 1.9b. + * NEWS: Updated. + * INSTALL, config/config.guess, config/config.sub, + config/texinfo.tex: Updated from canonical source. + * Makefile.maint, HACKING: Update instructions for releasing in a + VPATH build. + + * Makefile.am (dist-hook): Only run if README-alpha exists. + * README.alpha: Renamed from README-alpha to stop automake from + automatically adding it to DIST_COMMON. + + * NEWS: Merge changes from branch-1-5. + + * Makefile.am (dist-hook): Always distribute just a README file, + but take its contents from README-alpha for alpha releases. + + * TODO: Reformat. Removed some items that have been implemented. + +2004-08-29 Gary V. Vaughan + + Add a new `-weak' flag to tell libtool when not to propogate + dependency libraries from dlpreopened modules to libraries: + + * config/ltmain.in: Support new -weak link mode option. Adjust + help message. + * libltdl/Makefile.am (libltdlc_la_LDFLAGS): Use it. + * doc/libtool.texi (Linking with dlopened modules): Document it. + (Link mode): Mention -weak. + * NEWS: Updated. + +2004-08-29 Gary V. Vaughan + + * config/ltmain.in (opt_help): Defer showing help messages until + after a possible following --mode argument has been parsed, so we + can handle `libtool --help --mode=foo'. + +2004-08-29 Gary V. Vaughan + + We have had shell functions in ltmain.in for a few years without + complaint now, and recently a few more have crept in. Make a + start at refactoring the code with shell functions, and + standardising on option parsing style: + + * config/ltmain.in (func_echo, func_verbose, func_error) + (func_fatal_error, func_fatal_help, func_missing_arg) + (func_version, func_usage, func_help): Boiler plate shell + functions mostly copied from libtoolize.in. Changed *lots* of + shell snippets to call these functions as appropriate, rather than + inlining the same code over and over. + (func_config, func_features, func_enable_tag, func_mode_help): + Factored out from the shared option parsing loop. Write a new + shared option parser based on the one in libtoolize.in. + (func_check_version_match): Factored out from global scope. + (func_mode_compile, func_mode_execute, func_mode_finish) + (func_mode_install, func_mode_link, func_mode_uninstall): Break + each of the top level mode handlers out into a function. Adjust + main loop. + (modename, prevopt, prev, optarg, show_help): Removed in the + course of cleaning up the shared option parser. + (opt_duplicate_deps): Use `:' and `false' instead of `yes' and `', + so we can run it directly, rather than calling test. + +2004-08-28 Gary V. Vaughan + + To help users submit better bug reports, improve the general + instructions, and provide additional useful info alongside the bug + reporting address in --help output: + + * Makefile.am (edit): Substitute $host_triplet. + * libtoolize.in: Output useful debug info with --help. + * config/ltmain.in: Ditto. + * README: Rewritten. Added copyright info. + * README-alpha: Rewritten. Added copyright info. + * HACKING: New file, partly taken from old README-alpha. + +2004-08-27 Gary V. Vaughan + + Two things to stop `make distcheck' from trying to rebuild + distributed files (m4/ltversion.m4 and config/ltmain.in) in the + readonly source tree: + + * Makefile.am (stamp-vcl): Keep only one copy of stamp-vcl; in + $(top_srcdir), so that an up-to-date version is rolled into the + dist tarball even from a VPATH build. + ($(top_srcdir)/config/ltmain.sh): Don't depend on Makefile, + otherwise ltmain.sh needs to be rebuilt after every config.status + run, and then configure needs to be rebuilt, and it all goes + horribly wrong :-/ Unfortunately, we can't depend on Makefile.am + either, because that is a circular dependency. The downside of + this change is that it is now possible to edit Makefile.am to + change the way ltmain.sh is generated, and the dependency + information can't tell that ltmain.sh needs regenerating. + +2004-08-27 Gary V. Vaughan + + * doc/libtool.texi (Cheap tricks): Escape the `@' for texinfo. + +2004-08-27 Gary V. Vaughan + + * doc/libtool.texi (Cheap tricks): Fix the instructions for making + a ltmain.in wrapping libtool in light of recent changes to the + version checking code. + +2004-08-26 Peter O'Gorman + + * config/ltmain.in [darwin]: Use the -dylib_file flag and avoid + linking to so many libraries on darwin. + + * m4/libtool.m4 [darwin]: Don't use a libname triplet, a couplet + is perfectly fine. + + * m4/ltdl.m4: Don't use the dyld loader on darwin 8 or later. + +2004-08-25 Paolo Bonzini + + * config/ltmain.in (piecewise linking): Use a GNU ld script if + possible. + * m4/libtool.m4 (_LT_LINKER_SHLIBS): Add per-tag variable + with_gnu_ld. + (_LT_LANG_CXX_CONFIG): Don't set unused variable with_gnu_ldcxx. + +2004-08-22 Gary V. Vaughan + + The Grand Renaming. In preparation for libtool-2.0, move all of + the many and varied m4 symbols accumulated by libtool over the + years, considering also that modern autoconf can detect unexpanded + macros even without AC in the macro name: + + * bootstrap: Remove libltdl/config.h from previous releases. + * m4/libtool.m4, m4/ltdl.m4, doc/libtool.texi: Basically, run a + giant sed transformation like this: + s,AC_LIB_LTDL,LTDL_INIT,g + s,AC_LIBLTDL_CONVENIENCE,LTDL_CONVENIENCE,g + s,AC_LIBLTDL_INSTALLABLE,LTDL_INSTALLABLE,g + s,AC_WITH_LTDL,LT_WITH_LTDL,g + s,AC_LTDL_ENABLE_INSTALL,_LT_ENABLE_INSTALL,g + s,AC_DEPLIBS_CHECK_METHOD,_LT_CHECK_MAGIC_METHOD,g + s,AC_LIBTOOL_OBJDIR,_LT_CHECK_OBJDIR,g + s,AC_LTDL_OBJDIR,_LT_CHECK_OBJDIR,g + s,AC_LTDL_DLPREOPEN,_LT_CHECK_DLPREOPEN,g + s,AC_LIBTOOL_SYS_MAX_CMD_LEN,LT_CMD_MAX_LEN,g + s,AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE,_LT_CMD_GLOBAL_SYMBOLS,g + s,AC_LIBTOOL_SYS_OLD_ARCHIVE,_LT_CMD_OLD_ARCHIVE,g + s,AC_PROG_LD_RELOAD_FLAG,_LT_CMD_RELOAD,g + s,AC_LIBTOOL_SYS_LIB_STRIP,_LT_CMD_STRIPLIB,g + s,AC_CHECK_LIBM,LT_LIB_M,g + s,AC_LTDL_DLLIB,LT_LIB_DLLOAD,g + s,AC_LIBTOOL_COMPILER_OPTION,_LT_COMPILER_OPTION,g + s,AC_LIBTOOL_PROG_CC_C_O,_LT_COMPILER_C_O,g + s,AC_LIBTOOL_PROG_COMPILER_NO_RTTI,_LT_COMPILER_NO_RTTI,g + s,AC_LIBTOOL_PROG_COMPILER_PIC,_LT_COMPILER_PIC,g + s,AC_LIBTOOL_SYS_HARD_LINK_LOCKS,_LT_COMPILER_FILE_LOCKS,g + s,AC_LTDL_DLSYM_USCORE,LT_FUNC_DLSYM_USCORE,g + s,AC_LIBTOOL_LINKER_OPTION,_LT_LINKER_OPTION,g + s,AC_LIBTOOL_PROG_LD_SHLIBS,_LT_LINKER_SHLIBS,g + s,AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH,_LT_LINKER_HARDCODE_LIBPATH,g + s,AC_PATH_MAGIC,_LT_PATH_MAGIC,g + s,AC_PATH_TOOL_PREFIX,_LT_PATH_TOOL_PREFIX,g + s,AC_PROG_LD,LT_PATH_LD,g + s,AC_PROG_LD_GNU,_LT_PATH_LD_GNU,g + s,AC_PROG_NM,LT_PATH_NM,g + s,AC_LTDL_SYS_DLOPEN_DEPLIBS,LT_SYS_DLOPEN_DEPLIBS,g + s,AC_LIBTOOL_DLOPEN_SELF,LT_SYS_DLOPEN_SELF,g + s,AC_LIBTOOL_POSTDEP_PREDEP,_LT_SYS_HIDDEN_LIBDEPS,g + s,AC_LTDL_SYSSEARCHPATH,LT_SYS_DLSEARCH_PATH,g + s,AC_LTDL_SHLIBEXT,LT_SYS_MODULE_EXT,g + s,AC_LTDL_SHLIBPATH,LT_SYS_MODULE_PATH,g + s,AC_LTDL_SYMBOL_USCORE,LT_SYS_SYMBOL_USCORE,g + s,AC_LIBTOOL_SYS_DYNAMIC_LINKER,_LT_SYS_DYNAMIC_LINKER,g + s,_LT_AC_TAGVAR,_LT_TAGVAR,g + s,_LT_AC_SYS_COMPILER,_LT_TAG_COMPILER,g + s,_LT_AC_PROG_ECHO_BACKSLASH,_LT_PROG_ECHO_BACKSLASH,g + s,_LT_AC_SYS_LIBPATH_AIX,_LT_SYS_MODULE_PATH_AIX,g + s,_LT_AC_SHELL_INIT,_LT_SHELL_INIT,g + s,_LT_AC_LOCK,_LT_ENABLE_LOCK,g + s,_LT_AC_CHECK_DLFCN,_LT_HEADER_DLFCN,g + s,_LT_AC_TRY_DLOPEN_SELF,_LT_TRY_DLOPEN_SELF,g + s,LT_AC_PROG_EGREP,_LT_DECL_EGREP,g + s,LT_AC_PROG_SED,_LT_DECL_SED,g + * doc/libtool.texi (Autoconf macros): Document exported macros. + * libtoolize.in: Compare ltdl.m4 serial numbers for LTDL_INIT + instead of newly obsoleted AC_LIB_LTDL. + (func_scan_files): Also set seen_ltdl for LTDL_INIT and + LT_WITH_LTDL. + +2004-08-12 Peter O'Gorman + + * m4/libtool.m4 [GNU/linux] (AC_DEPLIBS_CHECK_METHOD): Cleanup, + thanks to Daniel Reed. + +2004-08-11 Daniel Reed + + * tests/demo-nopic.test: Do not run on x86_64 or s390* + +2004-08-06 Gary V. Vaughan + + * libltdl/ltdl.c (lt_dlforeachfile): LT_SYS_LIBSEARCH_PATH is not + an environment variable, it is an actual path. + + * bootstrap: Remove `-f Makefile.am' now that we have an actual + Makefile to build ltmain.sh. + Reported by Noah Mish + +2004-08-05 Gary V. Vaughan + + * bootstrap: Run the bootstrap rules from a file named Makefile, + copied from Makefile.am for fresh checkouts. + +2004-08-05 Alexandre Duret-Lutz + + * m4/libtool.m4 (_LT_PROG_LTMAIN): Require ltmain.sh using + using Autoconf's new AC_REQUIRE_AUX_FILE. + +2004-08-05 Gary V. Vaughan + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Depends on + Makefile. + (timestamp): Factor out timestamp setting and edit it based on the + version number, so that it is empty for release versions. + ($(top_srcdir)/config/ltmain.sh): Use it. + (libtoolize): Ditto. + + * Makefile.am (libtool): Depends on ltmain.sh. + (libtoolize): Set and substitute TIMESTAMP. + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Actually run + $(MKSTAMP) before changing directories, or it won't be found. + Forgot to save before my last commit :-( + + * Makefile.am ($(top_srcdir)/m4/ltversion.m4): Since we already did + `cd $(top_srcdir)' for this rule, we can't mv ltversion.tmp to the + relative $(top_srcdir) again! Also, run $(MKSTAMP) before changing + directories, or it won't be found. + ($(top_srcdir)/config/ltmain.sh): Ditto. + (EXTRA_DIST): We should distribute ltversion.m4 too. + +2004-08-04 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Since CONFIG_SHELL may + not actually be set, we should use SHELL here, also make darn sure + that SHELL is set to something. Bug from Willem Jan Palenstijn + . + +2004-08-03 Jacob Meuser + + * ltmain.in: Allow some static libraries to be used in generating a + shared library on NetBSD and OpenBSD. match-pattern_regex decides + which are good. + +2004-08-02 Geoffrey Keating + + * m4/libtool.m4 [darwin]: Don't use -all_load. + +2004-08-01 Maciej W. Rozycki + + * m4/libtool.m4 (LT_AC_PROG_SED): Set SED when running from cache as + well. + +2004-07-31 Gary V. Vaughan + + Although libtool is optimised to not need to subconfigure libltdl, + the installed libltdl sources for libtoolize need to put + libltdl/configure.ac in the parent package so that *it* can + subconfigure libltdl. That way we don't put any constraints on + the build system used by the parent package because the + libtoolized libltdl subtree is a self-contained sub-project: + + * libltdl/Makefile.am (EXTRA_DIST): Add configure.ac. + (nobase_ltdldata_DATA): Change back to libltdl's own + configure.ac. + +2004-07-30 Gary V. Vaughan + + My thanks to Alexandre Duret-Lutz for the insight + required to write this changeset -- especially that ltmain.sh is + the same on any machine for a given release, which I hadn't + noticed for some bizarre reason: It turns out that generating + distributed files from configure causes no end of hassle, as + evidenced by the many patches I've generated over the last few + days to try and get the dist and distcheck make rules to work. + Instead of all that hair, we now simply generate our distributed + files (now including ltmain.sh) with make rules -- and since + automake creates make variables for all AC_SUBSTs, that is really + easy. The code looks a lot more like automake and autoconf + Makefile.ams now, and doesn't have all the rough edges the earlier + hacky solution suffered from. We still generate libtool from + config.status, but that is not a distributed file, and doesn't + break the golden rule. Besides, there is way more going on there + than a bunch of substitutions: + + * Makefile.am (edit): New common sed substitutions for files now + generated by make instead of config.status. + (CLEANFILES): Clean new tmp files. + (EXTRA_DIST): Add ltmain.sh. + (vcl-tmp): Reinstated. + (m4/ltversion.m4, config/ltmain.sh): New rules. Generate from + here instead of config.status. + (libtoolize): Ditto. + (libtool): Call config.status to regenerate if necessary. + (dist-hook): Removed. + * config/ltmain.in: Moved here from top_srcdir. + * README-alpha: Update instructions to check AS_SHELL_SANITIZE is + up to date. + * bootstrap: Rewritten. Generate m4/ltversion.m4 and + config/ltmain.sh because configure depends on them. + * configure.ac (AC_CONFIG_SRCDIR): Use libtoolize.in now that + ltmain.in has moved. + (AC_CONFIG_FILES): Don't generate distributed files, + config/ltmain.sh and libtoolize from config.status. We have make + rules to do that now. + +2004-07-30 Peter O'Gorman + + * m4/libtool.m4, ltmain.in: readd the comments that I erased. + + * ltmain.in [darwin]: We already had a module var, there can be + only one. + + * m4/libtool.m4, ltmain.in: autoconf now says the best thing to do + with CDPATH is to (unset CDPATH) >/dev/null 2>&1 && unset CDPATH, + so do it. + +2004-07-29 Gary V. Vaughan + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Ugh. More hair to + help `make distcheck'; not only do we have to make a copy of + ltmain.sh available in the source tree, but we have to be really + careful about permission bit twiddling when we copy it across into + the possible read-only $(top_srcdir)/config directory! + + * tests/tagtrace.test: Skip this test when running a VPATH build + against a read-only source tree (as in distcheck for example), + since autoconf wants to write temporary files in $top_srcdir + otherwise. + + * Makefile.am ($(top_srcdir)/config/ltmain.sh): Automake assumes, + quite rightly for every project except libtool, that there will be + an ltmain.sh in the source tree. + (EXTRA_DIST): As do the dist rules it generates. + (dist-hook): Even though we definitely don't want to distribute + our local ltmain.sh. + + * config/config.guess, config/config.sub: Don't check these in, + they cause spurious conflicts on cvs commit and update, and are + added by bootstrap in any case. + + * configure.ac (AC_INIT): Revert an accidental commit from my + testing of package_revision. + +2004-07-29 Alexandre Duret-Lutz + + * doc/libtool.texi (Tags): Document CC. + * m4/libtool.m4 (_LT_SETUP): Register CC as supported tag so that + Automake uses it. + +2004-07-28 Gary V. Vaughan + + Fix a long-standing bug where macro_version was always empty in + the generated m4/ltversion.m4. Except for CVS revisions: + + * ltmain.in (package_revision): Don't try to deduce it from + TIMESTAMP, since that is empty for release versions; simply + substitute it... + * configure.ac (package_revision): ...from here, having + precalculated it before resetting TIMESTAMP for release versions. + * bootstrap: Force regeneration of m4/ltversion.m4, but retain + timestamps if there is no change to the content. + +2004-07-28 Gary V. Vaughan + + To take full advantage of this, libtool must be bootstrapped with + CVS autoconf, otherwise pdksh chokes on some nested escaped quotes + from libtool.m4. Using CVS autoconf protects configure from + non-bourne compatible shells in the same way this changeset + protects libtool and libtoolize: + + * libtoolize.in: Include latest CVS autoconf AS_SHELL_SANITIZE + expansion to make various shells fully bourne compatible. + * ltmain.in: Ditto. + * m4/libtool.m4 (AC_PATH_TOOL_PREFIX): Remove spurious quotes, the + RHS of = assignment is not IFS split. + (_LT_LANG_CXX_CONFIG): Ditto. + (AC_LIBTOOL_POSTDEP_PREDEP): Ditto. + +2004-07-27 Gary V. Vaughan + + This change fixes another VPATH build bug, where the vcl.tmp + target forced a rebuild of stamp-vcl in the build tree (and + hence regeneration of m4/ltversion.m4, thus an automake driven + rebootstrap that doesn't know about $fakes) requiring a fresh + ./bootstrap after every cvs/tla update: + + * Makefile.am (vcl.tmp): Removed. + (stamp-vcl): Adopt former vcl.tmp target rules. + +2004-07-25 Gary V. Vaughan + + * ltmain.in: Make sure that dependency libraries of -dlpreopened + libraries are propogated properly. + +2004-07-23 Joe Orton + + * libtool.m4: Treat bsdi5* like bsdi4*. + +2004-07-22 Peter O'Gorman + + * ltmain.in [darwin](func_extract_archives): $SED not sed. + + * ltmain.in [darwin](func_extract_archives): Clean up last commit + a little, some suggestions are from Albert Chin, those that are + broken are mine. + + * libltdl/Makefile.am, libltdl/loaders/Makefile.am: Look for + included files in the right places. + +2004-07-18 Peter O'Gorman + + * ltmain.in [darwin](func_extract_archives): Because fat archives + on darwin can not be extracted using ar, we need to use lipo to + extract the thin archives and then use lipo again to generate the + individual fat objects. This should allow people to run configure + with CC set to "cc -arch ppc -arch ppc64" or "cc -arch ppc -arch + i386" or whatever to match the toolchain they have available. + +2004-07-18 Greg Eisenhauer + + * libltdl/loaders/Makefile.am: Use AM_MAKEFLAGS not MAKEFLAGS. + +2004-07-18 Peter O'Gorman + + * libltdl/Makefile.am: Ensure that lt__dirent.h is part of the dist, + also make failed looking for configure.ac, look for + $(top_srcdir)/configure.ac instead. + +2004-07-15 Gary V. Vaughan + + * libltdl/lt__private.h (lt_dlhandle_struct): Renamed to + lt__handle to better reflect the naming scheme. + * libltdl/ltdl.h (lt_dlhandle): Be truly opaque with a void *. + * libltdl/lt_dlloader.c (lt_dlloader_remove): Party to + lt__private.h, so use internal lt__handle instead of opaque + lt_dlhandle. + * libltdl/ltdl.c (LT_DLGET_FLAG, LT_DLSET_FLAG): Add a cast to + internal lt__handle type. + (try_dlopen, tryall_dlopen, load_deplibs, unload_deplibs): Ditto. + (lt_dlexit, lt_dlclose, lt_dlsym): Use lt__handle to iterate + throught the handle list. + (try_dlopen): Use lt__zalloc instead of MALLOC and memset. + * libltdl/ltdl.h (lt_dlcaller_id): Be truly opaque with a void *. + (lt_dlhandle_interface): New callback type for filtering handles + according to the interface they present. + * libltdl/ltdl.c (lt_dlcaller_register): Take an id and an + interface check callback, and generate a caller_id. + (iterator): New static variable for the use of... + (lt_dlhandle_first): New function. Set the iterator for + subsequent calls to lt_dlhandle_next. + (lt_dlhandle_next): Either work as before when iterator is unset, + or else skip handles that fail the interface check in iterator set + by lt_dlhandle_first. + * libltdl/ltdl.h (lt_dlhandle_first): Declaration. + * doc/libtool.texi (User defined module data): Document the new + APIs. + * NEWS: Updated. + +2004-07-15 Gary V. Vaughan + + Split lt_dlloader management into a separate file, and factor + `loaders' list management into a new SList ADT. In the process, + the API for writing loaders is a little cleaner, so all the + existing loaders were tweaked to take advantage of that: + + * libltdl/slist.h, libltdl/slist.c: New files implementing a + generic singly linked list container ADT. The ADT is purely + internal, and none of its API's are visible from an installed + libltdl. + * libltdl/lt_dlloader.h (lt_dlloader): Removed next field again + :-) Renamed to lt_dlvtable for API. Changed all callers. + (lt_dlloader_get): New function to turn an lt_dlloader into its + associated lt_dlvtable. + (lt_dlloader_add): Removed unused data parameter. The caller + data belongs to (and is set by) the loader itself, not the + loader's client. Changed all callers. + (lt_dlloader_name, lt_dlloader_data): Removed. Use + lt_dlloader_get instead! + * libltdl/lt__private.h: Include slist.h. + (lt__alloc_die_callback): Add missing LT_SCOPE to declaration. + (lt_dlhandle_struct): Use lt_dlvtable instead of opaque + lt_dlloader. + * libltdl/ltdl.c (lt_dlexit): Rewritten for the new loader API. + (loaders, lt_dlloader_add, lt_dlloader_remove, lt_dlloader_next, + lt_dlloader_find): Moved from here... + * libltdl/lt_dlloader.c ((loaders, lt_dlloader_add, + lt_dlloader_remove, lt_dlloader_next, lt_dlloader_find): ...to + here. And rewritten in terms of new SList interface. + * libltdl/ltdl.c (lt_dlexit, tryall_dlopen): Rewritten in terms of + new lt_dlloader interface. + * libltdl/Makefile.am (libdlloader_la_SOURCES): Add slist.h and + slist.c. Move lt_dlloader.h from here... + (pkginclude_HEADERS): ...to here. + (libltdl_la_SOURCES): Add lt_dlloader.c and lt_dlloader.h. + +2004-07-15 Gary V. Vaughan + + Collapse two almost identical structures into one: + + * libltdl/lt_dlloader.h (lt_dlloader): Add next field. + * libltdl/ltdl.c (lt_user_dlloader): Remove entirely. Change all + callers to use lt_dlloader instead. Add a compatibility macro. + (lt_dlloader_add): Remove copy and allocate stage, just hook + directly into the loaders list. + +2004-07-15 Gary V. Vaughan + + A cleaner way to access the private fields of an lt_dlhandle + than my move of the module field into lt_dlinfo: + + * libltdl/ltdl.c (lt_caller_data, lt_dlhandle_struct): Move from + here... + * libltdl/lt__private.h (lt_caller_data, lt_dlhandle_struct): + ...to here. And put the module field back here... + * libltdl/ltdl.h (lt_dlinfo): ...instead of here. + * libltdl/loaders/loadlibrary.c (vm_open): Adjust. + +2004-07-15 Gary V. Vaughan + + * libltdl/lt__private.h (streq, strneq): New macros to make strcmp + calls as used for simple comparison easier to read. + * libltdl/loaders/dyld.c, libltdl/loaders/preopen.c, + libltdl/ltdl.c: Use them! + +2004-07-15 Gary V. Vaughan + + This pervasive changeset makes two intertwined deep changes to the + operation of libtool (neither would work alone). First, there is + a new feature that allows libraries to preopen modules. This + entails a backwards incompatible change to the libltdl API for + separating out the preloaded symbol lists by owner. Second, in + the tradition of "eating our own dogfood", libltdl now preloads + its own dlloaders. The internal API for dlloaders has also had to + change in a backwards incompatible way in support of the new + library preloading feature. If you don't use preloaded libraries, + you needn't change your project sources, though you will need to + recompile against the new libltdl. The API changes are mostly + confined to dlloaders, so you probably needn't worry about those + (unless you have written a custom loader that you want libltdl to + use): + + * configure.ac (AC_CONFIG_FILES): Add libltdl/loaders/Makefile. + * libltdl/configure.ac (AC_CONFIG_FILES): Add loaders/Makefile. + * libltdl/loaders: New directory for module loaders, to simplify + Makefile rules, and to give the loaders themselves names that are + unique in the first few characters. + * libtoolize.in (func_copy_all_files): Copy recursively to pick up + the loaders directory contents. + * libltdl/loaders/Makefile.am: New file. Move module building + rules to here... + * libltdl/Makefile.am: ...from here. + (VERSION_INFO): Bumped version info to signify interface changes. + (libltdl_la_CPPFLAGS, libltdlc_la_CPPFLAGS): Set LTDLOPEN + appropriately for each library. + * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, + libltdl/loader-loadlibrary.c libltdl/loader-preopen.c, + libltdl/loader-shl_load.c: Moved from here... + * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, + libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, + libltdl/loaders/loadlibrary.c libltdl/loaders/preopen.c, + libltdl/loaders/shl_load.c: ...to here. + (get_vtable): New entry function for each. + * libltdl/loaders/preopen.c (lt_dlsymlists_t): Replaced by... + (symlist_chain): ...a new structure which maps lists of preloaded + symbols from the object that loads them. + (lt_dlpreload_open): New function to automatically open all + preloaded modules belonging to a named object (ORIGINATOR). + * libltdl/lt__alloc.c (lt__zalloc): New function to return a block + of zeroed out new memory. + * libltdl/lt__alloc.h (lt__zalloc): Prototype it. + * libltdl/lt__private.h (lt__alloc_die_callback): Add missing + prototype. + (lt__error_strings): Make this opaque to callers. + * libltdl/lt_error.c (lt__error_strings): Move the implementation + to here. + * libltdl/lt_dlloader.h (lt_user_dlloader): Add extra fields to + make originator focused preloading possible. *BREAKS BACKWARDS + COMPATIBILITY* + (lt_dlloader_add): Take advantage of new fields to simplify + paramater list. + * libltdl/lt_system.h (LT_STR): New ANSI stringification macro. + (LT_CONC): Fix it to work from within macros. + * libltdl/ltdl.c (loader_init, loader_init_callback): Simplify + dlloader loading. + (get_vtable, preloaded_symbols): Point these at the preopen.c + symbols to bootstrap the loader chain. + (lt_dlinit): Load the preopen dlloader manually, and then use it + to load any other preloaded dlloaders. + (lt_dlloader_add): Simplify parameter list. Populate new + fields. Chain new loaders according to priority field. + * libltdl/ltdl.h (lt_dlsymlist): Add a new originator field. + (lt_dlpreload_callback_func): Type of a callback for automatic + lt_dlpreload_open loading. + (LTDL_SET_PRELOADED_SYMBOLS): Adjust to hook into preloaded + symbols from the "@PROGRAM@" originator. + * tests/demo/dlmain.c (main): Use mangled preloaded_symbols symbol. + * tests/pdemo/longer_file_name_dlmain.c (main): Ditto. + * ltmain.in: Don't spew spurious warnings when dlopening and + dlpreopening modules. + (func_generate_dlsyms): Factored out from multiple copies in the + rest of the code. Generate originator keyed symbol lists. + (func_extract_archives): Also factored. Extract the contents of + convenience archives for linking with dependent libraries when + --whole-archive is not available. + [darwin]: Don't try to link $old_library unless it exists, and + $lib is a bundle. + * m4/ltdl.m4 (AC_LTDL_DLLIB): Check for all possible dynamic + loading libraries/apis rather that stopping when an acceptable one + is discovered. + (LT_DLLOADERS): New variable for holding dlloaders that can be + preloaded. + * doc/libtool.texi: Document interface changes. + * NEWS: Updated. + +2004-07-12 Peter O'Gorman + + * m4/libtool.m4 [darwin]: Set whole_archive_flag_spec to '' for xlc, + or it does not pass it's tests. xlc passes -noall_load (the default) + and when -all_load is also specified Apple's /usr/bin/libtool barfs + and dies. + +2004-07-07 Gary V. Vaughan + + * libltdl/ltdl.h (lt_dlinfo): Move private module field to here... + * libltdl/ltdl.c (lt_dlhandle_struct): ...from here. Changed all + callers. + * libltdl/loader-loadlibrary.c (sys_wll_open): Use new inteface to + scan loaded handle->info.module fields for previously loaded + modules. + * doc/libtool.texi (User defined module data): Document changes to + the interface. + * NEWS: Updated. + Reported by Chuck Wilson + +2004-07-07 Brad + + * m4/libtool.m4: Fixes for the OpenBSD support + +2004-06-24 Noah Misch + + * ltmain.in: Unset the zsh GLOB_SUBST option, which makes zsh + handle backslash quoting poorly, before doing anything else. + * tests/defs: Likewise. + +2004-06-21 Gary V. Vaughan + + * libtoolize.in (libtoolize_flags): With the --ltdl option, we + libtoolize the libltdl subdirectory automatically. + * m4/ltdl.m4 (AC_WITH_LTDL): Fix overquoted args. + +2004-06-21 Peter O'Gorman + + * ltmain.in (dependency_libs) [darwin]: Remove -framework stuff from + dependency_libs. Instead, invent a new .la var "inherited_linker_flags" + to keep any linker flags which should be used when linking the library, + but are outside the usual -L -l, -R etc that can be used in + dependency_libs. Any unusual flags in dependency_libs cause recent + versions of libtool to die with "cannot find the library `'", so + it is required to move frameworks out of there. :( + +2004-06-21 Gary V. Vaughan + + From Ralf Wildenhues : + * libtoolize.in: Quote $# to make sh.test happy again. + + * m4/ltdl.m4 (AC_WITH_LTDL): Remove redundant AC_REQUIRE calls. + Either set variables to allow a client to link with the installed + libltdl, or else compile a local libltdl as a convenience library. + * libtoolize.in (opt_ltdl): Removed in favour of... + (ltdldir): ...this, which is defaulted to "libltdl" or can be set + by the user with an argument to --ltdl. + (Main): Use it! + * doc/libtool.texi (Distributing libltdl): Improved documentation + on libltdl. + (Invoking libtoolize): Document new optional --ltdl target + directory argument. + +2004-06-17 Gary V. Vaughan + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Fix a typo + in allow_undefined_flag: s,${Wl},${wl},g + + * libtoolize.in (func_scan_files): Accept AC_WITH_LTDL as an + indication that libltdl is being used. + (Main): Without AC_CONFIG_MACRO_DIR, don't just dump all the + macro files in `.' since they are never used, and aclocal will + copy them from $aclocaldir into aclocal.m4 anyway. + Reported by Alexandre Duret-Lutz + +2004-06-16 Brad + + * m4/libtool.m4: More improvements to OpenBSD support. + * NEWS: Updated. + +2004-06-16 Gary V. Vaughan + + libltdl uses LIBOBJS, which leak out into a parent project if both + share the same configure.ac. Libtool itself doesn't compile any + code, so it is okay to do it during bootstrap, but other projects + need to treat libltdl as a configurable subproject to keep their + respective LIBOBJS separate: + + * libltdl/configure.ac: New file, based on configure.ac. + * libltdl/Makefile.am (AC_LOCAL_AMFLAGS): Use our own m4 + directory. + (ltdldata_DATA): List *all* the files that libtoolize --ltdl will + install. + +2004-06-16 Gary V. Vaughan + + Automake 1.9 won't have the AC_PROG_EGREP bug (aclocal used to + pull an old installed libtool.m4 as well as the bootstrap + m4/libtool.m4 if an AC_DEFUN was removed), and we have + lt~obsolete.m4 to work around it in the mean time. libtoolize + can install macro files from $prefix/share/aclocal perfectly well + without us needing to move to a whole other directory: + + * Makefile.am (pkgmacro_DATA): Renamed to aclocal_DATA, so m4 + files are installed to $prefix/share/aclocal again. + (install-data-local): Don't remove just installed macros! + * libtoolize.in (pkgmacrodir): Renamed to aclocaldir. + (func_copy_some_files): New function factored out of... + (func_copy_all_files): ...here. Adjust to use func_copy_some_files. + (re_pkgaux_files): Renamed to glob_pkgaux_files, since it is not + a regular expression. + (re_pkgmagro_files): Replaced with... + (pkgmacro_files): ...a colon delimited list of libtool installed + m4 files from aclocaldir. + (Main): Copy macro files from aclocaldir again. + * NEWS: Updated. + +2004-05-21 Bob Friesenhahn + + * ltmain.sh (check_executable): The WIN32 API and MinGW do not support + S_IXOTH and S_IXGRP so use of these modes should be conditional. + +2004-05-21 Gary V. Vaughan + + * tests/tagtrace.test: Forgot to add this file to the repository + for Alexandre's 2004-05-16 patch below. + +2004-05-18 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun, + test the tags compiler to see if it is GCC, not the CC compiler. + +2004-05-16 Alexandre Duret-Lutz + + * doc/libtool.texi (Invoking libtool): Mention --tag=TAG. + (Tags, Trace interface): New nodes. + * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro. + (_LT_LANG): Call it. + * tests/tagtrace.test: New file. + * tests/Makefile.am + (TESTS): Add tagtrace.test. + * tests/defs: Define AUTOCONF. + +2004-05-14 Mike Gorchak + + * ltmain.in: Add new qnx version type support. + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set + ldqnx.so linker type. + (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib + checking, so use pass_all. + (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. + (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. + * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on + dlopen. + * NEWS: Updated. + +2004-05-05 Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space + around = for a test and a comma between runpath_var and $1. Bug + reported by Max Bowsher. + +2004-04-22 Gary V. Vaughan + + * libltdl/argz.h: Moved from here... + * libltdl/argz_.h: ...to here, so as not to shadow system + argz.h when we `#include ' for example. + #include stdlib.h and sys/types.h to ensure we get a size_t + definition. + * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when + used by another client. + * m4/argz.m4: New file. + (gl_FUNC_ARGZ): Try to find an error_t definition, and a system + argz.h. + * m4/ltdl.m4: Use it. + (AC_LTDL_FUNC_ARGZ): Removed. + * libltdl/lt__glibc.h: #include to pick up either the + system argz.h or our libltdl/argz.h if necessary. + * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from + here... + (ltdldata_DATA): ...here. Along with argz.c. + (argz.h): Generate from argz_.h if the system file is missing. + Reported by Ralf Wildenhues + +2004-04-22 Gary V. Vaughan + + According to Howard Chu : + Applications should assume that the native dlopen is NOT + thread-safe, and take care of locking themselves. All application + calls into libltdl should thus be protected by the caller. + + * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed. + * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h. + (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h. + * libltdl/ltdl.h: Don't include lt_mutex.h. + * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR) + (LT__MUTEX_SETERRORSTR): Renamed to... + (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this. Changed + all callers. + (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock) + (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror): + Removed. Changed all callers. + * doc/libtool.texi (Thread Saftey in libltdl): + * NEWS: Updated. + +2004-04-19 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler + version more idiomatically. + +2004-04-19 Albert Chin-A-Young + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on HP-UX 11.x. On HP-UX 10.x, the + C compiler doesn't grok -b so we continue to use ld. + + * m4/libtool.m4: Use cc rather than ld to create a + shared library on Solaris. When using the Sun + Workshop compiler 5.0 (and I presume any previous + version), revert to ld due to compiler errors. + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on Tru64 UNIX. + + * m4/libtool.m4: Use cc rather than ld to created + a shared library on IRIX. + + * libltdl/loader-shl_load.c: Fix typos during reorg. + +2004-04-19 Alexandre Duret-Lutz + + * doc/libtool.texi (LT_INIT): Properly display options in a table. + +2004-04-19 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and + newer adds predep_objects and postdep_objects itself, so don't + duplicate them in $archive_cmds and $archive_expsym_cmds. + * NEWS: Updated. + Reported by Roberto Bagnara + +2004-04-17 Peter O'Gorman + + * libltdl/loader-dyld.c: Fix compilation issues. Set Original author + to me. + +2004-04-17 Todd Vierling , + Peter O'Gorman + + * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the + max cmd length on BSD* and darwin. Make sure that there is a safety + factor too. + +2004-04-15 Scott James Remnant + + * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none' + and 'all' options, this now always assumes automatic mode as that + works so well. + (_LT_LANG_DEFAULT): Remove definition + * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options. + * configure.ac: Invoke LT_LANG for each desired supported language. + * doc/libtool.texi: Remove documentation for the LT_INIT options, + rewrite LT_LANG documentation. + +2004-04-14 Alexandre Duret-Lutz + + * bootstrap: Delete acinclude.m4. + +2004-04-14 Gary V. Vaughan + + * libtoolize.in (configure_ac): Don't complain about the lack of + aclocal.m4. + Reported by Alexandre Duret-Lutz + +2004-04-13 Gary V. Vaughan + + * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove + and strcpy. + + * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c, + libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove + half-assed pre-c89 support entirely. + * libltdl/lt__private.h: Don't refer to lt__pre89.h. + * libltdl/Makefile.am (ltdldata_DATA): Remove references to + deleted files. + * NEWS: Mention it. + + * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c, + libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h, + libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h, + libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h, + libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-loadlibrary.c, + libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h: + Autoconf either defines to 1 or undefs the discovery macros it + puts in config.h, and many (non-GNU) compilers throw a spurious + warning when testing an #undef macro with #if. For consistency, + while we are touching all these lines, use defined(MACRO) style + throughout. + Reported by Bob Friesenhahn + +2004-04-13 Gary V. Vaughan + + Factor out the individual loaders, in preparation for preloading + them as libtool modules. Currently loader-preopen.c is linked + unconditionally and other appropriate loaders discovered by + AC_LTDL_DLLIB are built and linked in: + + * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen + module. + * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate + loaders to libltdl. + * libltdl/lt_system.h (LT_SCOPE): Moved to here. + * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module) + (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit) + (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find) + (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add) + (lt_dlloader_remove): Moved declarations... + * libltdl/lt_loader.h: ...to here. + * libltdl/ltdl.c: Include lt_loader.h. Move loader implementation + code from here... + * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c, + libltdl/loader-dyld.c, libltdl/loader-load_add_on.c, + libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c, + libltdl/loader-shl_load.c: ...to here. + * tests/cdemo/Makefile.am, tests/demo/Makefile.am, + tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, + tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, + tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS): + Add -I$(top_srcdir)/../.. so that libltdl include files can be + written as #include and found correctly. + +2004-04-13 Gary V. Vaughan + + Factor out the mutex handling and error handling into their own + modules. Mutex handling is not currently useful in combination + with posix threads, and should be easier to replace if it is in a + separate module. Additionally, we can factor out the loaders in + such a way as to depend on only the portability layer and these + new mutex and error modules now: + + * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and + lt_mutex.h to $includedir/libltdl. + (libltdl_la_SOURCES): Build lt_error and lt_mutex objects. + * libltdl/ltdl.h (LT_SCOPE): Moved from here... + * libltdl/lt_system.h (LT_SCOPE): ...to here. + * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from + here... + * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to + here as additional internal interfaces to lt_error. Changed all + callers. + * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK) + (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func) + (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func) + (lt_dllast_error): Moved from here... + (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR) + (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func) + (lt__mutex_geterror_func, lt__last_error): ...to here as + additional internal interfaces to lt_mutex. Changed all callers. + (LT_MUTEX_SETERROR): Take an errorcode rather than a string. + Changed all callers. + * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from + here... + * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register): + ...to here. New files. + * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror) + (lt_dlerror_table): + Moved from here... + * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror) + (lt_dlseterror, lt_dlerror_table): ...to here. New files. + +2004-04-13 Scott James Remnant + + * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that + generates huge xdeltas. + +2004-04-08 Gary V. Vaughan + + * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert) + (argz_next, argz_stringify): Move from here... + * libltdl/argz.c: New file. ...to here. + * libltdl/lt__glibc.h: New file. Rename global symbols into the + lt__ namespace. + * libltdl/lt__private.h: Include lt__glibc.h. + * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files. + (AM_CPPFLAGS): Add -DLTDL. + * libltdl/argz.h (argz_append, argz_create_sep, argz_insert) + (argz_next, argz_stringify): New file. Declare argz functions + here, including lt__glibc.h when LTDL is defined to rename global + symbols for libltdl. + * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of + our argz_* functions are missing from the system libraries. + + * libltdl/ltdl.c: Move standard headers and preprocessor guards + from here... + * libltdl/lt__private.h: ...to here. New file to declare ltdl's + internal interfaces. + * libltdl/ltdl.c: Include lt__private.h. + * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of + opendir, readdir and closedir are missing. + (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h, + stdio.h and stdlib.h; these headers are all available in standard + c89 environments and newer. + * libltdl/lt__private.h: Include them here unconditionally. + * libltdl/lt__dirent.c (opendir, readdir, closedir): New file. + Windows dirent emulation functions moved to here... + * libltdl/ltdl.c (opendir, readdir, closedir): ...from here. + * libltdl/lt__dirent.h: New file. Rename the global symbols from + lt__dirent.c into the lt__ namespace so they don't clash with + other libraries. + +2004-04-08 Gary V. Vaughan + + Factor out the bottom portability layer from ltdl. Code in this + layer has global symbols renamed by lt__pre89.h, and may not + refer to any symbols except those provided by the system libraries + or other code in the portability layer: + + * libltdl/lt__pre89.h: New file. Rename all the symbols from + LTLIBOBJS into the lt__ namespace so that they don't clash with + other libraries. + * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp) + (rpl_strrchr): Moved from here... + * libltdl/memcpy.c (memcpy): ...to here, and fixed void * + dereference bug... + * libltdl/memmove.c (memmove): ...to here, and fixed void * + dereference bug... + * libltdl/strchr.c (strchr): ...to here... + * libltdl/strcmp.c (strcmp): ...here... + * libltdl/strrchr.c (strrchr): ...and here. + * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h. + (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS). + (ltdldata_DATA): Add replacement sources files. + * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ + setting for missing pre89 functions. + +2004-04-08 Gary V. Vaughan + + * libltdl/ltdl.h (LT_PARAMS): Removed. Changed all users to + ANSI prototypes. + (lt_ptr): Keep backwards compatibility stub. + * libtldl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations + throughout. s/lt_ptr/void */g. + +2004-04-08 Fredrik Estreen + + * m4/ltdl.m4: Rename shrext to shrext_cmds here too. + +2004-04-06 Gary V. Vaughan + + There was no clean separation of abstraction layers in libltdl. + The first step in fixing this is to factor out the memory + management abstraction, making a start on removing promiscuity + from the underlying portability layer: + + * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc, + lt_dlrealloc and lt_dlfree references. The memory management + layer used by libltdl is now private. + * libltdl/lt_system.h: New installed header for system portability + abstraction. + * libltdl/ltdl.h: Use it. + * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above + system portability layer to abstract ltdl's memory management. + * libltdl/ltdl.c: Use lt__alloc.h. + (closedir): Use free. + (opendir): Use malloc/free. + (lt__xalloc_die_callback): Report memory failures through + lt_dlerror. + (lt_dlinit): Use it to initialise memory management. + (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC) + (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc): + Removed in favour of... + (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls + from libltdl/lt__alloc.h. Changed all callers. + (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part + of the portability layer, these functions no longer use libltdl + memory management API. + (free_vars): Factored out. + (LT_DLMEM_REASSIGN): While redoing memory handling, renamed... + * libltdl/lt__alloc.h (MEMREASSIGN): ...to this. + * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track + dependencies automatically. + (pkgincludedir): Override from parent package's setting. + (pkginclude_HEADERS): Install lt_system.h. + (libltdl_la_SOURCES): Add new files. + * NEWS: Updated. + Reported by Dalibor Topic + +2004-04-01 Peter O'Gorman + + * ltmain.in: Remove an extra eval concat_cmds that some idiot added. + Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller. + + * NEWS: Add a news item about xlc support that I forgot yesterday. + +2004-03-31 Peter O'Gorman + + * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++. + +2004-03-31 Gary V. Vaughan + + * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then + don't call the macros that test it. + (_LT_LANG_CXX_CONFIG): Ditto. + (_LT_LANG_F77_CONFIG): Ditto. + (_LT_LANG_GCJ_CONFIG): Ditto. + (_LT_LANG_RC_CONFIG): Ditto. + +2004-03-30 Gary V. Vaughan + + * libtoolize.in (func_scan_files): sed BRE have no alternation, so + break LT_INIT matcher out. + (func_serial): Don't escape literal parens for grep BRE. + + * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use + AC_DEFUN and m4_define. + * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE... + (func_grep): ...so mere grep is sufficient again... + (EGREP): ...and this is no longer required. + +2004-03-29 Gary V. Vaughan + + * m4/libtool.m4: Use LT_INIT as #serial tag. + * libtoolize.in: Grok LT_INIT! Pass A[CM]_PROG_LIBTOOL to... + (func_serial_update): ...here, we now take an additional parameter + containing another regex to match ancient serialed files. + (func_serial): Accept AC_DEFUN_ONCE of the #serial tag... + (func_grep): ...which requires egrep... + (EGREP): ...substituted by config.status. + (func_scan_files): Set seen_libtool if LT_INIT goes by. + + * Makefile.am (pkgmacro_DATA): Install ltoptions.m4. + + * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for + config.h. + (ltdl.o): config.h is in $top_builddir. + +2004-03-24 Scott James Remnant + + * NEWS: Explain more fully why we no longer load libraries + with global symbol resolution. + * doc/libtool.texi (libtool script contents): Add missing + documentation for 'inherit_rpath' variable. + + * configure.ac: Catch errors during calls to AC_PROG_CXX, + AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT. Only set the + HAVE_CXX and HAVE_F77 conditions to true if an error didn't + occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one). + Set HAVE_GCJ and HAVE_RC to true correctly as well. + * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are + defined, expand to the definition of those instead of our own. + Define GCJ to '' instead of 'no' if not found. + (LT_PROG_RC) Define RC to '' instead of 'no' if not found. + (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first. + (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first. + + * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global + symbol resolution. + * NEWS: Updated. + +2004-03-24 Albert Chin-A-Young + + * m4/libtool.m4: Add new variable, inherit_rpath, if the + RPATHs of the libraries being linked are inherited in + the output file. For systems with a linker exhibiting + this feature, programs/libraries must be relinked at + installation time. + + * m4/libtool.m4: When linking convenience libraries on Solaris + with the Sun C++ compiler, pass convenience libraries through + to the linker with -Qoption between allextract/defaultextract. + The Sun C++ compiler bundles -Qoption arguments so + convenience libraries are linked with defaultextract + otherwise. + * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h, + tagdemo/conv.cpp: Augment tagdemo test to link a convenience + library with a libtool library. + + * ltmain.in: Piecewise linking doesn't work when the output + file is an absolute path, use the basename only instead. + + * ltmain.in: When a library is installed, dependent on a + convenience library, and it involves relinking, the object + files extracted from the convenience library are not removed + after the relink. This is a problem if you build as non-root, + install as root, then try to remove the build directory as + non-root; Clean up properly if relink fails; Change + "$realname"U to ${realname}T to be consistent. + +2004-03-24 Scott James Remnant + + * ltmain.in : Always add -L options to + $newlib_search_path instead of just in scan mode to ensure that + non-libtool libraries in user-specified directories can be found. + +2004-03-22 Scott James Remnant + + * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition + code, now the support determination is done in m4. + (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch. + +2004-03-21 Scott James Remnant + + * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT + and AGE of libltdl, warranted by the addition of lt_dlhandle_find() + since 1.5.2. + +2004-03-21 Scott James Remnant + + Further sweeping changes to the user interface to libtool from + `configure.ac' to allow users to better control the list of + supported languages. Three LT_INIT options 'no-lang', 'all-lang' + and 'auto-lang' (the default) control the initial list and others + may be added with LT_LANG. + + * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG + which is more consistent with our own namespace and gets us further out + of Autoconf's. + (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely + on the value of _LT_TAGS. + (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags, + always append tag configuration if the tag is available. + (LT_LANG): New macro to enable support for a language that accepts + tag names (eg. "CXX") or human language names (eg. "C++"). + (_LT_LANG): Internal support macro for above that appends the + tag to _LT_TAGS and calls the appropriate config macro. + (LT_INIT): Ensure that LT_LANG is not called before LT_INIT. + (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now. + (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls. + (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support + based on options passed to LT_INIT. + (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG. + (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG. + (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed, + automatic language support inclusion now handled by + _LT_LANG_DEFAULT_CONFIG. + (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++). + (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77). + (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java). + (AC_LIBTOOL_LANG_C_CONFIG_: Removed. + (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to + new _LT_LANG_C_CONFIG macro. + (AC_LIBTOOL_LANG_CXX_CONFIG): Removed. + (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_F77_CONFIG): Removed. + (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed. + (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (AC_LIBTOOL_LANG_RC_CONFIG): Removed. + (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call + _LT_CONFIG instead of AC_LIBTOOL_CONFIG. + (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ. + (LT_AC_PROG_RC): Renamed to LT_PROG_RC. + * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang' + options which set the default for _LT_LANG_DEFAULT_CONFIG. + * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG, + _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no + long referenced in any way. + * configure.ac: Enable all languages. + * tests/cdemo/configure.ac, tests/demo/configure,ac, + tests/depdemo/configure.ac, tests/f77demo/configure.ac, + tests/mdemo/configure.ac, tests/pdemo/configure,ac, + tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS, + the default 'auto-lang' mode now does the right thing. + * doc/libtool.texi (The LT_INIT macro): Add documentation for + new LT_INIT options and the LT_LANG macro, replacing the old + documentation of AC_LIBTOOL_TAGS which is no more. + * NEWS: Updated. + +2004-03-17 Scott James Remnant + + * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP + which is no more. + * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced, + it can be removed from this file. Remove _AC_PROG_LIBTOOL also. + +2004-03-14 Ralf Wildenhues + + * m4/libtool.m4: Remove newlines from lt_ld_extra, so + variable can safely be stored in config.cache. + +2004-03-14 Michael Pruett + + * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define + archive_expsym_cmds so that --export-symbols will work. + +2004-03-11 Peter O'Gorman + + * ltmain.in (link_all_deplibs,darwin): Link libraries in the + correct order. Bug from Zachary Pincus . + +2004-03-14 Scott James Remnant + + * m4/ltmain.in: Only check precious_files_regex if it is not empty. + +2004-03-14 Gary V. Vaughan + + * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version + of Autoconf is 2.54. + From Alexandre Duret-Lutz + +2004-03-13 Gary V. Vaughan + + * doc/libtool.texi (Using Automake): Cite correct Automake version + for -dlopen quoting. + (Autoconf and LTLIBOBJS): Cite correct Autoconf versions + throughout. + (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated. + From Alexandre Duret-Lutz + +2004-03-05 David Edelsohn + + * m4/libtool.m4: Disable building static libraries if building + shared libraries on AIX 5L. + +2004-03-05 Gary V. Vaughan + + * libtoolize.in: Remove --ltdl-tar. It doesn't work with the + current implementation, and seems more or less pointless. + * doc/libtool.texi (Invoking libtoolize): Updated. + * NEWS: Updated. + + * doc/libtool.texi: This manual has not been maintained properly + for a number of years. Much of what it said was outdated, or + plain wrong with reference to modern autotools. This change + represents a first pass edit to clean up the obviously wrong. + +2004-03-02 Gary V. Vaughan + + * bootstrap: Prune out my arch mirror dir before running + amok through the tree with 'rm -rf'! + +2004-03-02 Patrick Welche + + * doc/libtool.texi (LT_INIT): Dumb typos fixed. + +2004-02-23 Gary V. Vaughan + + * ltmain.in : Add missing --help doc for + -inst-prefix option. + + * ltmain.in : Add missing --help doc for -shrext + option. + + * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs + doesn't offer to strip trailing ' \t' on every save. + + * ltmain.in: Add missing --help doc for --preserve-dup-deps. + +2004-02-22 Gary V. Vaughan + + * Makefile.maint (web-manual): Generate the web manual carefully + so that links will still work when it is uploaded to gnu.org. + * README-alpha: Note that this rule should be used at release + time. + +2004-02-20 Gary V. Vaughan + + Sweeping changes to the user interface to libtool from + `configure.ac' to be more like AC_INIT and accept a space + delimited list of options. Instead of calling `AC_LIBTOOL_DLOPEN; + AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])': + + * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL) + (AC_LIBTOOL_SETUP): Removed. Added AU_DEFUNs. + (LT_INIT): Replace with an Autoconf like interface which accepts a + version number as a minimum required libtool release at configure + time. + * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4, + which additionally flags an error if the configuring libtool + macros are not new enough according to LT_INIT. + (LT_OPTION_DEFINE): New macro to declare option handlers. + (dlopen, win32-dll, shared, disable-shared, static) + (disable-static, fast-install, disable-fast-install, pic-only) + (no-pic): Newly LT_OPTION_DEFINEd option handlers that use... + (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL) + (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle + LT_LIBTOOL_INIT options... + * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC) + (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL): + ...to replace these user interface macros, now defined as + AU_DEFUNs. + (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): + Removed. No longer required with LT_INIT_LIBTOOL interface. + Added AU_DEFUNs. + (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC) + (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface. + (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP. + * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL) + (_LT_PROG_LTMAIN): More AC_DEFUNs that have been retracted. + * configure.ac: Use new interface. + * doc/libtool.texi: Document new interface. + * NEWS: Updated. + +2004-02-18 Gary V. Vaughan + + * commit (SHELL): Set it explicitly, incase some madman is using + tcsh as their login shell :-b + +2004-02-15 Scott James Remnant + + * Makefile.am (m4/ltversion.m4): Generate serial number by + removing initial '1.' from the revision, replace @MACRO_SERIAL@ + with this new variable. + * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number + as some shells don't like a '.' when using test. + + * m4/ltversion.in: Add a serial number to this file otherwise + libtoolize will refuse to copy it into $pkgdatadir, where it + is needed by m4/libtool.m4. + +2004-02-15 Peter O'Gorman + + * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds. + +2004-02-13 Scott James Remnant + + * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly + quote usage of $basename and $dirname to avoid (unlikely) path + expansion. + + * tests/sh.test: Test the config/ltmain.sh and libtoolize in the + build directory not the source directory, where they won't exist + during 'make distcheck'. + * ltmain.in: Revert one line of previous intendation clean-up + to enable one of the sh.test checks to pass. + + * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this + was debris from Gary's cvsapply going mad and wasn't backed + out. + + * Makefile.am (pkgmacro_DATA): We have to distribute + m4/ltversion.m4 because it can be needed before the Makefile + that generates it exists. + +2004-02-13 Gary V. Vaughan + + * commit (MKSTAMP): Look for mkstamp in the right place. + +2004-02-12 Scott James Remnant + + * Makefile.maint, Makefile: Move rules intended for Libtool + maintainers only out of the Makefile we distribute and into one + that we only need keep in CVS. + * README-alpha: Add -fMakefile.maint to the instructions where + needed. + +2004-02-12 Albert Chin-A-Young + Scott James Remnant + + * ltmain.in: Fix typo: duplcations -> duplications, + Fix indentation of a handful of badly indented blocks, + Fix last remaining use of 'grep' to $GREP, + Remove unnecessary trailing slash where we break a line on a + command separator. + * m4/libtool.m4: Also remove unnecessary trailing slash where + we break a line on a command separator. + +2004-02-12 Scott James Remnant + + * m4/ltoptions.m4: This got committed by an over-keen Gary, + but the support for this isn't ready yet and if aclocal decides + to m4_include this (which it will) you'll get a non-functioning + libtool. Removed. + + * ltmain.in: Remove duplicated version checking block. + + * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply + went crazy and backed out more than he should've. This patch puts + some of it back again. + + * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove + $SED from definitions of $dirname and $basename and prefix each + use with it instead. Some shells (zsh) treat the expansion as + a single command instead of a command with arguments. + + * config/mailnotify (func_sendmail): Look for sendmail in a + couple of common non-PATH locations as well. + + * ltmain.in: Fix typo: macro's -> macros. + + * ltmain.in: Correct definition of basename sed expression to + not include single quotes. + +2004-02-12 Gary V. Vaughan + + * libtoolize.in: Use $progpath as for ltmain.in to work around the + IRIX bug described below. + * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD. + +2004-02-12 Albert Chin-A-Young , + Gary V. Vaughan + + * ltmain.in (progpath): Work around backward compatibility issue + on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked + as "sh" and the current value of the _XPG environment variable is + not equal to 1 (one), the special positional parameter $0, within + a function call, is the name of the function. So, rather than + using "$0" in functions, we set $progpath in the body and use that + everywhere instead (incase of code refactoring later). + (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity. + +2004-02-12 Gary V. Vaughan + + * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it + is of no use in a distribution tarball. + +2004-02-11 Gary V. Vaughan + + * commit: Fix cut-n-paste error. + + * commit: Completely change CVS/Root->name sed script to actually + work when :ext: is not shown. + + * commit: Improve CVS/Root->name sed script to work when :ext: is + not shown. + +2004-02-11 Albert Chin-A-Young + + * m4/libtool.m4: Fix typo: testring -> teststring. + +2004-02-11 Gary V. Vaughan + + * commit: Mail a nicer commit notification. + +2004-02-10 Gary V. Vaughan + + * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4: + * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just + went crazy and committed a bunch of stuff that shouldn't have been + in the last changeset. The patch backs it all out. + + * config/mailnotify: New file for mailing commit notifications, + imported from cvs-utils. + * commit: Updated from cvs-utils and tweaked for libtool. + * Makefile.am (EXTRA_DIST): Add config/mailnotify. + +2004-02-06 Gary V. Vaughan + + * bootstrap: Remove vcl.tmp, otherwise it can interfere with make. + * Makefile.am (vcl.tmp): Move comment out of multi-line command, + as this rule is called from bootstrap as if it were a Makefile. + + * m4/ltversion.in: New file to capture what version number macros + are being used. + * Makefile.am (m4/ltversion.m4): New rule to create it from + m4/ltversion.in. + (nodist_pkgmacro_DATA): Add m4/ltversion.m4. + (EXTRA_DIST): Add m4/ltversion.in. + * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION + from ltversion.m4. + * bootstrap: Call the Makefile.am to create an initial + m4/ltversion.m4. + * ltmain.in: Diagnose version mismatches of various flavours. + * TODO: Remove mismatch item. + * NEWS: Updated. + + * Makefile.am ($(top_builddir)/config.status): Removed. + * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is + how automake-1.8 now informs all Makefiles when config.status + needs to be rebuilt. + Reported by Alexandre Duret-Lutz + + * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here. + * Makefile.am (libtool, libtoolize): These rules are redundant. + Automake generates better rules for remaking these files. + + * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with + beginning with LT_ and _LT_. + * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed + to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the + unexpanded macros error. + + * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require + Autoconf 2.58, which ships this macro anyway. + + * Makefile.am: Comment typo. + + * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number + that is required for the calling code. + * doc/libtool.texi (AC_PROG_LIBTOOL): Document it. + * NEWS: Updated. + +2004-02-05 Peter O'Gorman + + * ltmain.in (infer_tag, win32_libid): Style changes. Rename + infer_tag to func_infer_tag and win32_libid to func_win32_libid. + * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid. + +2004-02-04 Peter O'Gorman + + * ltmain.in (infer_tag): Move tag inferrence to a shell function. + Also test $base_compile against $CC with escaped arguments. Bug + reported by Geoff Keating . + +2004-02-03 Scott James Remnant + + * Makefile.am (install-data-hook): Manually make config.guess + and config.sub executable after they are installed as _DATA. + We can't use _SCRIPTS because the various program name + transforms may be applied to them. + (dist_pkgdata_DATA): List config.guess and config.sub here + (pkgdata_SCRIPTS): instead of here. + +2003-02-03 Scott James Remnant + + * ltmain.in: Create temporary directory under a strict umask + rather than running chmod afterwards, preventing a race + condition where the directory could be replaced with a symbolic + link in the time between the two commands. + +2004-01-31 Peter O'Gorman + + * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to + `$echo, causes problems when builtin echo is broken. Reported + by Ralf Wildenhues . + +2004-01-27 Scott James Remnant + + This fixes release procedure problems discovered whilst making + the 1.5.2 release. + + * Makefile.am (cvs-dist): Because we check whether ChangeLog + has been committed, this rule can't be run with uncommitted + source so we can't run 'commit' and don't need to run + 'make dist' a second time. Fix CVS tag as it should be + "release-X" not "Release-X". + (cvs_commit): New rule for the cvs-release chain that runs + 'commit' + (cvs-release): Depend on cvs-commit, depend on deltas instead of + cvs-diff and xdelta. + (cvs-diff): Removed, replaced with delta-diff. + (delta-diff): Unpack and diff the old and new tarballs rather + than using CVS, so we get a genuinely complete diff. + (xdelta): Removed, replaced with delta-xdelta. + (got-xdelta): New rule for improved reading. + (delta-xdiff): Copied and cleaned up version of old xdelta rule. + (deltas): Depends on delta-diff and delta-xdelta (make deltas). + (cvs-news): Don't depend on timestamps, cvs-dist itself does now. + (prev-tarball): This is the only place we need a LASTRELEASE check + so copy the code here and remove the CHECK_RELEASE variable. + (new-tarball): Check there's a new tarball (did cvs-dist work?) + (FETCHFILES): Remove obsolete libltdl mentions. + * README-alpha: Update CVS instructions as everything's changed + on Savannah. + (Release procedure): Update NEWS and ChangeLog after changing + the version number (both times); Run 'make fetch' after running + 'configure' (difficult to do it beforehand); Require 'commit' + before 'make cvs-dist' as that checks ChangeLog is committed; + 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE + to make instead of OLDVERSION (and it's mandatory); Clean up + uploading paragraph; Clearer announcement sending instruction; + Removed ftp-upload@gnu.org mail as that's not necessary now; + Make web page updating instructions a bit clearer; Add an instruction + to update the manual for non-alphas. + (Alpha release note template): Add a Subject; update CVS instructions. + (Full release note template): Add a Subject; update CVS instructions. + * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk + about bz2 files in our release announcements; remove old reference + to OLDVERSION. + +2004-01-25 Scott James Remnant + + * NEWS: Include 1.5.2 release information. + +2004-01-22 Gary V. Vaughan + + This fixes a bug in the libtoolize ltdl source installation rules, + which were copying Makefile.in from the libtool tree into the + package running libtoolize. Now we explicitly list the files to + copy to force the package to generate its own Makefile.in: + + * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES): + Add ltdl.h. + (ltdldatadir): New variable for installation directory of + libtoolize --ltdl files. + (ltdldata_DATA): Tell automake what files to copy there at install + time (and remove at unistall time!). + (local-install-files): Removed. This hack is not required + anymore, the automake generated install rules are much more + advanced than this. + * Makefile.am (install-data-hook, uninstall-local): Removed. + Libltdl files for libtoolize are installed by their own Makefile + now. + +2004-01-22 Jeff Squyres + + * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers + (e.g. Intel Linux icc compiler) write temporary files to the current + directory. These compilers do support -c and -o simultaneously but + wrongly fail the test due to the failure to create temporary + files. It is incorrect to penalize compilers which write temporary + files to the current directory so the 'chmod -w .' is therefore + removed. + +2004-01-22 Gary V. Vaughan + + * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP. + AIX has a brain-dead grep that only handles lines < 2048 + characters. Default GREP incase we are not using a future + autoconf that sets it for us :-) Changed all callers to use $GREP + instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP. + Declare GREP as a libtool config var. + * ltmain.in: Use it. + * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by + tightening the regexp. + Reported by Albert Chin-A-Young + +2004-01-21 Nick Hudson + + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove + gratuitous ${libname}${release}${shared_ext} from + library_names_spec. + +2004-01-21 Peter O'Gorman + + * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the + reload_cmds to use $CC, otherwise ld will thin out any fat + objects. + +2004-01-18 Benjamin Reed + + * ltmain.in: Fix handling of frameworks in search paths. Also + a one-liner fix to eval shrext in the libtool library search. + +2004-01-16 Gary V. Vaughan + + * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or + else aclocal.m4 is huge, and m4 directory is not distributed. + + * configure.ac (AC_CONFIG_HEADERS): Create config.h in + $top_srcdir. + * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if + necessary. Calculate filename from first argument to + AC_CONFIG_HEADERS, and substitute as CONFIG_H. + * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in + $top_srcdir for headers. + (DEFS): Override the default HAVE_CONFIG_H with the config.h + filename. + (ltdl.lo): Reference config.h via $(CONFIG_H). + * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto. + +2004-01-15 Scott James Remnant + + * m4/lt~obsolete.m4: Add a file containing aclocal-fooling + macro definitions which stop the contents of an installed + libtool.m4 ending up in our aclocal.m4 when we bootstrap. + * Makefile.am (pkgmacro_DATA): Note that we don't need to add + lt~obsolete.m4 to this list. + +2004-01-12 Gary V. Vaughan + + * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it + only needs to be updated in one place. + (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add + tags if a compiler was found; ie if you have no gcj compiler, + don't tack the GCJ tag onto the generated libtool script. + +2004-01-13 Peter O'Gorman + + * m4/libtool.m4: Quote shrext as it is evaled in ltmain. + +2004-01-11 Scott James Remnant + + * ltmain.in: new -precious-files-regex link mode option + to prevent removal of matching files from the temporary + output directory. + (Debian Bug #221420) + * doc/libtool.texi: document the new option. + * NEWS: announce the new option. + +2004-01-11 Gary V. Vaughan + + * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy. + Now the test can actually succeed sometimes. + +2004-01-09 Gary V. Vaughan + + * libtoolize.in: Break out of the command argument parse loop when + -- is encountered. + +2004-01-08 Gary V. Vaughan + + * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep + tests/sh.test happy. + +2004-01-07 Gary V. Vaughan + + * Makefile.am (aclocal_macros, aclocal_DATA): Removed. + (EXTRA_DIST): Remove m4 macro files; they are automatically + added by automake. + (pkgmacrodir): Where to install libtool macro files. + (pkgmacro_DATA): List installable libtool macro files. + (install-data-local): Remove previous versions of ltdl.m4 and + libtool.m4 from their old location. + * libtoolize.in: Use new pkgmacrodir installed macros when + libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially, + and func_serial_update() any other files from pkgmacrodir. + (pkgmacrodir): Where to find installed libtool macro files. + (aclocaldir): Removed. + (func_copy_all_files): Add an optional callback parameter to + control how files are copied. If the callback is passed, don't + tell it whether it can copy or not. + (func_serial): Exchange parameters and make macro_regex optional, + so that this function can be used to extract serial numbers from + files with the traditional /^# serial [1-9][0-9]*$/ syntax. + Changed all callers. + (func_serial_update): Make macro_regex optional last parameter, so + that this function can be used as a callback for + func_copy_all_files(). Changed all callers. + * m4/ltsugar.m4: Add a serial number. + +2004-01-07 Gary V. Vaughan + + A complete rewrite of the m4 code involved in the generation of + libtool via config.status. The old way involved manually + synchronising disparate bits of shell code in several macros, to + quote a copy of a shell variable, put that in config.status, maybe + add it to some quotation loops to prevent early expansion, and + then add a block to _LT_CONFIG_COMMANDS to bring it into the + libtool script. The new way is to mark shell variables for + propogation using _LT_DECL for language independent variables, or + _LT_TAGDECL for those that need to be propogated in several + language flavours. The marking can be done in the macro that + probes the variables, and this new m4 machinery takes care of + synchronising all the other bits of code at autoconf time: + + * m4/ltsugar.m4: New file. Macros that are useful outside the + context of libtool. Initially, contains some generalised list + management macros, and the scaffolding for dictionary type data + storage and retrieval. + * Makefile.am (aclocal_macros): Install ltsugar.m4. + * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to + the libtool script, along with a comment, and hints for quoting + and renaming. + (_LT_TAGDECL): Similarly mark a tagged shell variable for export + in each tag. + (lt_decl_tag_varnames, lt_decl_quote_varnames) + (lt_decl_dquote_varnames, lt_decl_varnames_tagged) + (lt_decl_all_varnames): New utility macros for managing lists of + shell variable names from _LT_DECL and _LT_TAGDECL. + (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE): + Expand to correctly quoted variable declarations in config.status + from all marked shell variables. + (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable + declaration for libtool tag section. + (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked + variables to _LT_LIBTOOL_DECLARE. + (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and + friends to generate all the variable passing shell code for + config.status, to get marked variables from libtool.m4 into + libtool itself eventually. + (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag + configuration. Changed all client macros to mark variables + suitably rather than the hand pasting that was necessary + previously. + (AC_PROG_SED): Renamed from LT_AC_PROG_SED. + (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for + propogation to the libtool script. + +2004-01-07 Gary V. Vaughan + + * libtoolize.in (seen_gettext): Removed unused variable. + +2004-01-06 Gary V. Vaughan + + * libtoolize.in (func_scan_files): Don't assume the existence of + aclocal.m4. Make the comment more descriptive. + Reported by Alexandre Duret-Lutz + + * NEWS: Note libtoolize changes. + + * ChangeLog.2003: New file, containing all the ChangeLog entries + from 2003. Trimmed ChangeLog accordingly. + + * ltmain.in: Output 2004 in the copyright from libtool --version. + +2004-01-03 Stefan Nordhausen + Scott James Remnant + + * ltmain.in: Don't use the mkdir -p option when creating a + temporary output directory so a symlink attack can't be used to + arbitrarily chmod other directories on the system if libtool + gets run as root. + +2004-01-02 Peter O'Gorman + + * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped. + + * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it + allows for zsh differences, as noted in the autoconf manual's + Portable Shell - Special Shell Variables section. + +2004-01-02 Scott James Remnant + + * .cvsignore: Ignore stamp-vcl created by the Makefile. + +2004-01-02 Bob Friesenhahn + Joe Orton + + * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash + in front of all the inner double-quotes as this is removed + on Solaris, IRIX and AIX leading to broken definitions + in config.status. + +2004-01-02 Scott James Remnant + + * NEWS: Next release will be in 2004. + +Continued in ChangeLog.2003