2015-02-15 Gary V. Vaughan version 2.4.6 * NEWS: Record release date. 2015-02-06 Gary V. Vaughan libtool: don't execute automake and autoconf on every invocation. Regression from 2.4.2 was causing noticable slow-down in builds that call libtool many times. * build-aux/ltmain.in (func_help): Override func_help() from gl/build-aux/options-parser to only run automake --version and autoconf --version when libtool --help is executed on the command line. * NO-THANKS: Add Robert Yang. Reported by Robert Yang 2015-01-20 Gary V. Vaughan maint: undo copyright years regression. * gl/build-aux/options-parser: Undo copyright years regression. * bootstrap: Regenerate. bootstrap: sync with upstream. * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/options-parser: Sync with upstream. * bootstrap: Regenerate. 2015-01-20 Pavel Raiskup libtool: respect config.site LT_SYS_LIBRARY_PATH Libtool generator code needs to remember the configure time LT_SYS_LIBRARY_PATH content to allow config.status properly instantiate default LT_SYS_LIBRARY_PATH libtool run-time value; Thats because config.status has no idea what the contents of config.site file is (by default). * m4/libtool.m4 (_LT_CONFIG): Use the _LT_DECLared $configure_time_lt_sys_library_path variable as the default for LT_SYS_DLSEARCH_PATH at run-time. (_LT_SYS_DYNAMIC_LINKER): Don't change ac_cv_* variable if it is not necessary. New $configure_time_lt_sys_library_path variable. * NEWS: Update. libtool.m4: typofix, subst last '$' with quadrigraph * m4/libtool.m4 (_LT_LIBTOOL_TAG_VARS): Encase the configure/libtool shared function into parseable borders; for testing purposes. (func_munge_path_list): Typo s/$/@S|@/. * tests/configure-funcs.at: New testcase. * Makefile.am (TESTSUITE_AT): Mention new testcase. * NEWS: Update. tests: fix an ltdl dryrun race condition. * tests/testsuite.at (LT_AT_ACLOCAL): Inject a 1 second sleep after aclocal to ensure subsequently generated autotools files will be newer. * NEWS: Update. 2015-01-19 Gary V. Vaughan maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.5 * NEWS: Record release date. 2015-01-18 Gary V. Vaughan maint: update copyright statements to include 2015. * AUTHORS, HACKING, Makefile.am, NEWS, README.md, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__argz_.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, 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, libltdl/lt__alloc.c, libltdl/lt__argz.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/autobuild.m4, m4/libtool.m4, m4/ltargz.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, m4/m4.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Update copyright statement to include 2015. * cfg.mk: Adjust old_NEWS_hash accordingly. 2015-01-16 Gary V. Vaughan gnulib: sync with upstream. * gnulib: Sync with upstream. * doc/.gitignore: Regenerate. 2015-01-16 Pavel Raiskup libtoolize: fix ltdl installation order. Fixes regression caused by commit 99a808be. Makefile.in has aclocal.m4 as prerequisite, so Makefile.in should be installed later to avoid unnecessary rebuild by (versioned) aclocal. * Makefile.am (pkgltdl_files): Move the Makefile.in file down in the list after aclocal.m4. * tests/libtoolize.at: Adjust to match reordered output. 2014-12-12 Gary V. Vaughan libtool: check Sun Pro CXX ABI postdeps at libtool time. * m4/libtool.m4 (_LT_PREPARE_CC_BASENAME): Factor cc_basename calculation into a shell function... (_LT_CONFIG_SAVE_COMMAND): ...and expand it into generated libtool script. (_LT_CC_BASENAME): Adjust accordingly. (_LT_FUNC_SUNCC_CSTD_ABI): Remove from here... * build-aux/ltmain.in (func_suncc_cstd_abi): ...and reimplement here. * m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Remove postdeps augmentation from here... * build-aux/ltmain.in (func_mode_link): ...and reimplement here just before postdeps are added. * NEWS: Update. libtool: more carefully avoid automatic -Cstd -Crun on Sun Pro CXX. * m4/libtool.m4 (_LT_FUNC_SUNCC_CSTD_ABI): New function factored out of repeated code. Take note of other known -Cstd incompatible compiler flags. (_LT_SYS_HIDDEN_LIBDEPS): Use it to determine whether -Cstd -Crun can be safely added to postdeps with Sun Pro CXX. * NEWS: Update. * NO-THANKS: Add Marc Glisse. Reported by Marc Glisse libtool: take care not to double-apply LT_SYS_LIBRARY_PATH. * m4/libtool.m4 (_LT_CONFIG_SAVE_COMMANDS): Copy configure-time LT_SYS_LIBRARY_PATH settings as default, but allow run-time override. (_LT_SYS_DYNAMIC_LINKER): Save the unmunged sys_lib_dlsearch_path_spec value, and use it for _LT_DECL, but then munge it with LT_SYS_LIBRARY_PATH for use in ltdl.m4 macros, such as LT_SYS_DLSEARCH_PATH. 2014-12-11 Pavel Raiskup libtool: support LT_SYS_LIBRARY_PATH for adjusting bad guesses. Revert 8728e07 and 440fee6. Some GNU/Linux distributions install libraries into /lib64 (or /usr/lib64) on 64-bit machines, while /lib (/usr/lib respectively) stays for multilib variant. Other distributions keep /usr/lib for 64-bit variant and reserve other directory for multilib. Detection of what approach a given system uses is difficult, however, especially because Glibc's ldconfig does not report the full and correct list of search paths. Allow the user to adjust Libtools heuristically determined search paths with the new LT_SYS_LIBRARY_PATH environment variable at both compile-time, when libtool is called, and at configure time. * m4/libtool.m4 (_LT_PREPARE_MUNGE_PATH_LIST): Define a new function to munge a libtool path list according to a user supplied colon-delimited path. (_LT_SYS_DYNAMIC_LINKER): Require _LT_PREPARE_MUNGE_PATH_LIST. Mark LT_SYS_LIBRARY_PATH as precious to autoconf (to survive automatic "autoreconf"). Call the new func_munge_path_list function on sys_lib_dlsearch_path_spec - this propagates results to generated libtool script. (_LT_CONFIG): Expand _LT_PREPARE_MUNGE_PATH_LIST into generated libtool script. * build-aux/ltmain.in (func_mode_link): Call it to adjust sys_lib_dlsearch_path according to LT_SYS_LIBRARY_PATH. * doc/libtool.texi: Document new LT_SYS_LIBRARY_PATH. * doc/notes.texi: Likewise. * NEWS: Update. References: http://thread.gmane.org/gmane.comp.gnu.libtool.general/8339/focus=8345 2014-12-11 Gary V. Vaughan maint: fix syntax-check failures. * m4/m4.m4 (AC_PROG_GNU_M4): Reverse some test arguments for sc_prohibit_test_const_follows_var. Remove some spurious braces for sc_useless_braces_in_variable_drefs. bootstrap: sync with upstream. * gl/build-aux/extract-trace (func_find_tool): Quote a bare variable expansion in a test argument. * bootstrap: Regenerate. 2014-12-05 Gary V. Vaughan libtool: s390x is also a 64bit glibc/ELF platform. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LIB): Add s390x to glibc/ELF compatible CPUs that have /lib64 and /usr/lib64 in sys_lib_dlsearch_path_spec. Reported by Pavel Raiskup 2014-12-04 Gary V. Vaughan libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) : If $host_cpu contains "64", add /lib64 and /usr/lib64 to sys_lib_dlsearch_path_spec. Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al. libltdl: fix gcc compiler warning for unused attributes. * libltdl/ltdl.c, 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: For at least gcc 4.8.3 and 4.9.1, __attribute__((__unused)) should follow the unused parameter declaration. * NO-THANKS: Add Дилян Палаузов. Reported by Дилян Палаузов 2014-12-04 Eric Bavier tests: do not assume compiler prefers shared libraries. Testing whether -static-libtool-libs causes a non-libtool library to be linked dynamically is effectively a test of the compiler's preference in this case. The Cray compiler prefers static libraries if not told otherwise. * tests/static.at [static linking flags for programs]: Do not expect -static-libtool-libs to fail. 2014-12-04 Norihiro Tanaka libtool: fix sys_lib_dlsearch_path_spec for ia64 HP-UX. The run-time loader does not search /usr/local or subdirectories by default on ia64 HP-UX. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix sys_lib_dlsearch_path_spec for ia64 HP-UX. * NEWS: Update. 2014-12-04 Gary V. Vaughan libltdl: edit AM_CPPFLAGS correctly for libltdl/Makefile.am. * libltdl/ltdl.mk (AM_CPPFLAGS): Make sure the sed expression to remove the first libltdl/ on each line is not confused by misuse of linebreaks. * Makefile.am (lt_Makefile_am): Also edit out the duplicated include paths after libltdl/ elimination. * NEWS: Update. Reported by Michael Wobst 2014-12-04 Tijl Coosemans libtool: commit forgotten soname_spec for freebsd-elf in bb7cef9. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) : Set soname_spec correctly, per original patch. * NEWS: Update. 2014-12-03 Gary V. Vaughan bootstrap: sync with upstream for runtime M4 checking functions. * gl/build-aux/extract-trace: Sync with upstream for runtime M4 checking functions. * bootstrap: Regenerate. * NEWS: Update. configury: bail out early if GNU M4 is not on the path. Now that libtoolize requires an installed GNU M4 to parse configure.ac and aclocal.m4 sources for libltdl macros, let the user know at configure time when it is missing. * m4/m4.m4: New file for rejecting non-GNU and buggy GNU versions of M4. Copied from GNU Autoconf m4.m4. * Makefile.am (lt_aclocal_m4_deps): Add m4/m4.m4. * configure.ac (AC_PROG_GNU_M4): Call it. * NEWS: Update. Reported by Michael Felt 2014-11-29 Gary V. Vaughan maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.4 * NEWS: Record release date. gnulib: sync with upstream. * gnulib: sync with upstream. 2014-11-29 Michael Haubenwallner libtool: optional filename-based shlib versioning on aix. Support filename-based shared library versioning on AIX with the lib.so library filename extension, which is used with runtime linking only. Runtime linking is enabled by the -brtl linker flag for executables and the -G linker flag for Shared Objects. The behaviour is similar to Linux/SVR4 DT_SONAME, hence the name "aix-soname=svr4". * Makefile.am (TESTS_ENVIRONMENT): Pass with_aix_soname value via lt_cv_with_aix_soname into testsuite. * configure.ac: AC_SUBST with_aix_soname for testsuite. * libltdl/loaders/dlopen.c (vm_open): Use RTLD_MEMBER flag for dlopen when the filename does specify an archive member between "()". Otherways, retry with appending LT_SHARED_LIB_MEMBER when loading fails without but archive file seems to exist. * m4/libtool.m4 (dynamic_linker): Describe configured shared library versioning variant according to with_aix_soname and runtime linking. (soname_spec, library_names_spec, shlibpath_overrides_runpath) (postinstall_cmds, postuninstall_cmds, hardcode_direct) (hardcode_direct_absolute, no_undefined_flag) (allow_undefined_flag): Set according to with_aix_soname and runtime linking configuration. (export_symbols_cmds): Decorate symbols with the weak keyword. (archive_expsym_cmds): Create both shared libraries according to with_aix_soname and runtime linking configuration. Filter -brtl linker flag from compiler_flags for shared libraries due to its side effects. (enable_static): Respect with_aix_soname for disabling as well. * m4/ltdl.m4 (LT_SHARED_LIB_MEMBER): Define, set based on the value of the shared_archive_member_spec libtool variable. * m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): New. Provides commandline option --with-aix-soname=aix|svr4|both. Declares $shared_archive_member_spec as libtool variable. (_LT_SET_OPTIONS): Define LT_INIT options "aix-soname=aix", "aix-soname=svr4", "aix-soname=both". Default is "aix-soname=aix". * doc/libtool.texi (LT_INIT): Document new options. * tests/deplibs-ident.at: To define whether this test should XFAIL, use hardcode_action, hardcode_direct, hardcode_direct_absolute configuration settings instead of platforms aix, bitrig, hppa-hpux, interix or openbsd. * tests/versioning.at: When shared_archive_member_spec is defined and LDFLAGS contain -brtl, we can run the versioning check. * NEWS: Update. 2014-11-28 Tijl Coosemans libtoolize: no need for umask 0 now that copying does not use tar. The umask calls seem to be left over as a workaround for several releases ago when libtoolize copied libltdl sources with the help of tar. Now that we use cp or ln -s exclusively, this just needlessly makes the files world writable; we should just respect the users' own umask setting. * libtoolize.in (func_copy): Remove umask 0 calls and simplify. 2014-11-28 Gary V. Vaughan maint: syntax-checks don't like ${ even in comments! * m4/ltdl.m4: Fix a comment to appease syntax-check rules. 2014-11-28 Tijl Coosemans libtool: use a modern library version scheme for freebsd-elf. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Adopt downstream patch used by FreeBSD for versioned library filenames. * build-aux/ltmain.in (func_mode_link): Replace conflicting freebsd-elf version_type case branches with a single calculation setting major and versuffix to match downstream FreeBSD. libtool: split sco version into its own type. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Set version type to "sco" for sco based hosts. * build-aux/ltmain.in (func_mode_link): Accept new "sco" version_type as equivalent to freebsd-elf. 2014-11-28 Gary V. Vaughan configury: detect dlsym underscore prefix without dlopen self. * m4/ltdl.m4 (LT_FUNC_DLSYM_USCORE): Compile, load and get the address of a symbol from a separate loadable module, rather than assuming dlopen self works. * NEWS: Update. Reported by KO Myung-Hun 2014-11-26 Gary V. Vaughan ltdl: fix a long standing duplicate `-ldl' bug in the link line. * m4/ltdl.m4 (LT_LIB_DLLOAD): Save contents of LIBS before calling AC_SEARCH_LIBS, which prepends to LIBS by default, and restore afterwards. We set LIBADD_DLOPEN and LIBADD_SHL_LOAD so that dynamic loader libraries can be added selectively only where they are needed. * NEWS: Update. 2014-11-21 Michael Haubenwallner tests: do not test undef symbols across shlibs on AIX. On AIX, undefined symbols across shared libraries can work only when the main program explicitly exports those symbols. As this is bad practice anyway and -no-undefined should be preferred, we skip this. * tests/template.at: Skip test with undef syms across libraries on AIX. tests: question mark is extended regex for non-GNU grep. Accepting \? for at-most-once in basic regex is a GNU grep extension, not accepted by AIX grep for example. * tests/libtool.at: Use \{0,1\} instead of ? with GREP. 2014-11-18 Gary V. Vaughan maint: Fox a resent smelling mystique. * build-aux/git-log-fix: ChangeLog edit. Reported by Eric Blake bootstrap: make sure gnulib file droppings are removed. * bootstrap.conf (libtool_cleanup_empty_dirs): Recent bootstrap updates set source_base to null, so we need to use ${x:-y} to override the null. Autoconf Shellology says that ancient BSD /bin/sh chokes on :- defaults, but bootstrap is a developer tool, and so we can reasonably expect a developer to have a working /bin/sh to run the bootstrap script. bootstrap: add missing debug preambles. * bootstrap.conf (libtool_prep, func_require_ltdl_dir) (libtool_require_package_url): Add missing $debug_cmd calls. 2014-11-18 Vincent Lefevre NEWS: Fix an ancient spelling mistake. * NEWS: s/propogate/propagate/. * cfg.mk (old_NEWS_hash): Update. 2014-11-17 Vincent Lefevre libtool: fix comment typo. * m4/libtool.m4: Fix -fvisbility=hidden typo in a comment. 2014-11-04 Gary V. Vaughan maint: fix a syntax-check failure. * tests/cmdline_wrap.at (fail_list): quote test arguments to satisfy failing syntax-checks. libtool: fix universal library building on darwin. * build-aux/ltmain.in (func_extract_archives): $basename is now spelled $sed_basename. * NO-THANKS: Update. Reported by Misty De Meo tests: update fat binary test case for modern darwin. * tests/darwin.at: Use "-arch x86_64", which works on modern Apple hardware, rather than "-arch ppc", which generally does not. tests: fix false positive in failed test check for cmdline_wrap.at. * tests/cmdline_wrap.at (fail_list): non-matching globs return as a plain unexpanded string, so we also need to test for file existence before expanding into fail_list. bootstrap: sync with upsteram. * gl/build-aux/bootstrap.in: Sync with upstream. * bootstrap: Regenerate. 2014-11-04 KO Myung-Hun libtool: support versioning on OS/2. * build-aux/ltmain.in (func_mode_link) <*-os2*>: Set major and versuffix. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) <*-os2*>: Set version_type to windows. Add a version information to soname_spec. * NEWS: Update. libtool: support -export-symbols and -export-symbols-regex on OS/2. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) <*-os2*>: Set archive_expsym_cmds. * NEWS: Update. libtool: add -os2dllname option. On OS/2, if there are many DLLs whose prefix is the same and very long, the resulting DLLs are overwritten. Provide a new option to force a DLL name. * build-aux/ltmain.in (func_mode_help): Add a description for -os2dllname. (func_mode_link): Add -os2dllname. * doc/libtool.texi: Document it. * NEWS: Update. libtool: fix DLL creation/installation/uninstallation on OS/2. OS/2 can only load a DLL with a base name of 8 characters or less. Also, on OS/2 don't install or uninstall using a link. * build-aux/ltmain.in: Do not strip an import lib. * m4/libtool.m4: Set variables to fix DLL creation, installation and uninstallation. libtool: support -Zxxx options used on OS/2. * build-aux/ltmain.in (func_mode_link): Add -Z* case, treating them specially on os2 only. libtool: set lt_cv_deplibs_check_method to pass_all on OS/2. * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Same as the title. libtool: there is no need to relink DLLs on OS/2. * build-aux/ltmain.in (func_mode_link) <*-os2*>: need_relink=no. ltdl: OS/2 uses other APIs to load a DLL than LoadLibrary() on Windows. * m4/ltdl.m4: Remove os2* from a list for loadlibrary.la. libtool: support to link against static libraries on OS/2. * m4/libtool.m4 (_LT_COMPILER_PIC): Set lt_prog_compiler_static to $wl-static. libtool: don't eliminate duplications in $postdeps and $predeps on OS/2 * build-aux/ltmain.h (libtool_validate_options): Add *os2* to the list. 2014-11-03 Gary V. Vaughan configury: create installation dir before writing to it. * Makefile.am (install-scripts-local): Don't forget to make the installation target directory before writing to it. * NO-THANKS: Update. Reported by Allan McRae maint: .PHONY rules to protect gmake from pathological file names. * Makefile.am (.PHONY): Add install-scripts-local, check-interactive, check-noninteractive-old, check-noninteractive-new and check-noninteractive. 2014-11-02 Arkadiusz Miśkiewicz tests: fix typo in cmdline_wrap skip check. * tests/cmdline_wrap.at (fail_list): fix a typo in loop script text. 2014-11-02 Gary V. Vaughan libtoolize: don't forget to remove old non-gnulib argz files. * libtoolize.in (all_pkgltdl_files): Add back argz.c and argz_.h, as installed by previous libtool releases. libltdl: move libltdl argz module into LT namespace. To avoid clashes with gnulib argz module in ltdl client projects, move ours into its own namespace. * libltdl/argz_.h, libltdl/argz.c, m4/argz.m4: Move from here... * libltdl/libltdl/lt__argz_.h, libltdl/lt__argz.c, m4/ltargz.m4: ...to here. * Makefile.am, libltdl/libltdl/lt__glibc.h, libltdl/ltdl.mk, libtoolize.in, m4/ltdl.m4: Adjust accordingly. * tests/libtoolize.at, tests/ltdl-api.at, tests/nonrecursive.at, tests/old-ltdl-iface.at: Adjust for different libtoolize output. * libltdl/.gitignore: Adjust accordingly. * NEWS: Update. Reported by Pavel Raiskup maint: whitespace cleanup. * Makefile.am ($(thanks)): Fix several whitespace syntax-check failures. 2014-11-02 Pavel Raiskup libtoolize: do not remove gnulib files with --force. * libtoolize.in (func_require_seen_libtool): Do not remove snippet/* files which are from Gnulib. 2014-10-30 Gary V. Vaughan tests: set bindir and libdir at configure time. In particular, openSuSE on x86_64 uses CONFIG_SITE to set libdir to "${exec_prefix}/lib64", which confuses testcases that check the contents of "${prefix}/lib". In general, tests that expect to find installed files in specific directories should explicitly set those directories at configure time. * tests/testsuite.at (LT_AT_CONFIGURE): Make sure exec_prefix, bindir and libdir point to known subdirectories we can check the contents of later on in a test case. (prefixdir): Rename from this... (prefix): ...to this. All test cases that set or use the config prefix directory must now refer to `prefixdir` for the helper macros in this file to work in hostile build environments such as CONFIG_SITE setting openSuSE. * tests/demo.at, tests/depdemo.at, tests/mdemo.at, tests/tagdemo.at: Adjust accordingly. Reported by Peter Breitenlohner. 2014-10-29 Reuben Thomas libtool: -rdynamic support for tcc. * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set export_dynamic_flag_spec appropriately when using tcc. libtool: preliminary support for tcc on linux*. * m4/libtool.m4 (_LT_LINKER_SHLIBS) : Set archive_cmds and ld_shlibs appropriately when using tcc. * NEWS: Update. 2014-10-29 Gary V. Vaughan maint: fix README-alpha version match. With simplified release version numbering (thank you, git!), be careful to recognize four part alpha versions, or short git revision suffixed alpha versions correctly. * Makefile.am (re_odd_version): Remove. (re_alpha_version): Recognize alpha version numbers. ($(readme)): Adjust accordingly. maint: autogenerate THANKS. More automation == less time wasted on menial tasks. * build-aux/thanks-gen: script inspired by coreutils. * Makefile.am (THANKS): Based on rule from coreutils/Makefile.am. * NO-THANKS: New file. Configure thanks-gen output. * THANKS: Remove. maint: fix prefix and suffix installs for libtoolize. * Makefile.am (install-data-local): Depend on new install-scripts-local, and move libtoolize install from here... (install-scripts-local): ...to here. Pass libtoolize destination through program transform expression. (uninstall-hook): Likewise, prior to removal. * NEWS: Update. * THANKS: Update. Reported by Václav Zeman 2014-10-27 Gary V. Vaughan maint: move Peter O'Gorman and Ralf Wildenhues to past maintainers. * AUTHORS: Move Peter O'Gorman and Ralf Wildenhues from current to past maintainers list. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. version 2.4.3 * NEWS: Record release date. bootstrap: sync with upstream. * gl/build-aux/bootstrap.in, gl/build-aux/funclib.sh: Sync with upstream. * bootstrap: Regenerate. testsuite: fixes required for `make distcheck CC=g++`. * tests/demo.at (Pdemo conf): Overide _LT_DEMO_SETUP foo.h to declare foo2. * tests/mdemo.at (_LT_SETUP): Don't wrap `sub` dectlaration in C++ guards, because sub.c is also compiled with g++ in this test. * tests/old-ltdl-iface.at (old.c): Add a return type to main declaration as required by C++. maint: fix a typo in THANKS. * THANKS: s/macports\.com/macports.org/ syntax-check: use strlcpy instead of strncpy. * libltdl/loaders/dyld.c (vm_sym): Use strlcpy to pacify syntax checks. * libltdl/ltdl.c (try_dlopen): Likewise. 2014-10-25 Gary V. Vaughan libtool: fix GCC linking with -fstack-protector. * build-aux/ltmain.in (func_mode_link): Pass -fstack-protector* to the linker as it is required at link time to resolve libssp symbols. From Yaakov Selkowitz libtool: support Mac OS 10.10 and newer. The current template mistakenly treats a MACOSX_DEPLOYMENT_TARGET value of "10.10" as "10.1" followed by junk. Thinking that the build is targeting 10.1 Puma instead of 10.10 Yosemite, it tells the linker to ignore undefined symbols instead of dynamically resolving them. This can cause runtime crashes* and will affect subsequent versions of OS X. * libtool.mk (_LT_REQUIRED_DARWIN_CHECKS): Improve case match so as to reject 10.10.x on the 10.1 and 10.2 branch. * THANKS: Add Lawrence Velázquez. From Lawrence Velázquez bootstrap: commit latest to avoid regeneration at build time. * bootstrap: Regenerate. gnulib: sync with upstream. * gnulib: Sync with upstream. 2014-05-13 Peter Rosin libtool: delay expansion of $ECHO until the wrapper script runs Expanding $ECHO too early leads to unquoted \n when ECHO='printf %s\n'. Fixes bug#17478. Reported by Egmont Koblinger. * build-aux/ltmain.in (func_emit_wrapper) [fast_install]: Quote the $ECHO, and delay the expansion. 2014-05-06 Peter Rosin libtool: fix nm test for MSYS/MinGW The check for the -B option of nm does not work as intended on MSYS/MinGW. MSYS converts /dev/null to the DOW/Windows "equivanent" special file NUL, but the MinGW nm treats this file as any empty file. This means that you might end up with some fallback nm instead of the desired nm. This is not normally a problem, but if one nm is built without lto support, it starts to matter. Fixes sr #108558, reported by LRN. * m4/libtool.m4 (LT_PATH_NM) [MSYS]: Use a non-existant file instead of /dev/null when checking if nm supports -B. 2014-05-05 Peter Rosin libtool: speed up ltwrapper_script detection in execute mode Execute mode is slow and might even DOS the computer in extreme cases when a parameter is a big binary file without newlines. Work around this with different truncation if a suitable dd utility is found. Fixes bug#13472 and bug#16662. Reported by Pavel Raiskup and Nick Bowler. * m4/libtool.m4 (_LT_PATH_DD): New macro, for finding a dd utility that works for the below purpose. (_LT_CMD_TRUNCATE): New macro, for finding out how to truncate binary pipes (fallback to the old sed truncation if no suitable dd is found in _LT_PATH_DD). (_LT_SETUP): Require _LT_CMD_TRUNCATE. (LT_INIT): Require Autoconf 2.62, as needed by _LT_PATH_DD. * build_aux/ltmain.in (func_lalib_p): Factor out the actual "generated by libtool" test into... (func_generated_by_libtool_p): ...this new function... (func_ltwrapper_script_p): ...so that it can be reused here, when truncating the pipe according to _LT_CMD_TRUNCATE. * THANKS: Update. 2014-05-02 Peter Rosin libtool: prevent lto from stripping the magic cookie from the cwrapper Whole program optimization may remove unused symbols unless told they are really needed. Fixes sr #108559 reported by LRN. * build-aux/ltmain.in (func_emit_cwrapperexe_src:MAGIC_EXE): Try to ensure that the magic cookie is preserved. 2014-02-12 Peter Rosin tests: sprinkle -no-undefined when linking libraries * tests/duplicate_conv.at, tests/f77demo.at, tests/fcdemo.at: Here. 2014-02-12 Peter Rosin libtool: actually strip -Wl when relinking with $LD Fixes the regression from commit v2.4.2.444 which is causing a testsuite failure in duplicate_conv.at (seen on Cygwin). * build-aux/ltmain.in (func_mode_link): $reload_cmds typically starts with "$LD$reload_flag ..." when $LD is used to relink. Make the case expression match that when checking if $LD is in fact used to relink. 2014-02-10 Peter Rosin bootstrap: fix description of func_sort_ver to match recent sort change gl/build-aux/funclib.sh: Update comment to match reality. bootstrap: Regenerate. 2014-02-05 Gary V. Vaughan doc: remove redundant "in order to" phrase where possible. * doc/libtool.texi: Remove many occurrences of the redundant phrase "in order to", where ever "to" is as clear or clearer. * THANKS: Add attribution. Reported by Dave Yost 2014-02-03 Bruce Korb (tiny change) bootstrap: check for git tree with .git/. in case of soft links. * gl/build-aux/bootstrap.in (func_require_git): Use `test -d .git/.` to defeat soft-links versus non-GNU test. * bootstrap: Regenerate. * THANKS: Remove duplicate Bruce Korb entry. 2014-01-27 Gary V. Vaughan (tiny change) bootstrap: use `-d .git` to check whether we are in a git tree. * gl/build-aux/bootstrap.in (func_require_git): .git is not a regular file, use -d to check its existence. * bootstrap: Regenerate. * THANKS: Add Bruce Korb. Reported by Bruce Korb 2014-01-17 Rainer Orth libtool: opt_duplicate_compiler_generated_deps is harmful on Solaris Fix for http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452. * build-aux/ltmain.in (libtool_validate_options): disable the opt_duplicate_compiler_generated_deps optimization for Solaris2 so that gcc-4.9+ compiled C++ code with -Wl,-Bdirect on 64-bit Solaris x86 can avoid unwinding failures caused by accidental mixing of the libc and libgcc_s unwinders in a single executable. 2014-01-15 Gary V. Vaughan bootstrap: check for git checkout correctly. * gl/bulid-aux/bootstrap.in (func_require_git): Use .git instead of .gitignore to recognise a git checkout. * bootstrap: Regenerate. 2014-01-11 Todd C. Miller (tiny change) libtoolize: don't remove install-sh. If you are not using automake, libtoolize would remove install-sh. It needs the same treatment as config.guess and config.sub. * libtoolize.in (func_require_seen_libtool): Remove install-sh from $all_pkgaux_files, the list of files removed by `libtoolize --force`. * THANKS: Add Todd C. Miller. * NEWS: Update. 2014-01-07 Gary V. Vaughan options-parser: --version works with 'DO NOT EDIT' preamble again. * gl/build-aux/options-parser (func_version): Don't quit on first leading '##' line, otherwise DO NOT edit warnings prevent version information from being extracted correctly. * bootstrap: Regenerate. bootstrap: specify particular version in buildreq with =x.y. * gl/build-aux/bootstrap.in (func_check_versions): If the version number begins with '=' then it must match the installed version of the named tool exactly. * gl/doc/bootstrap.texi (buildreq): Document the '=vernum' feature. * bootstrap: Regenerate. 2014-01-05 Gary V. Vaughan bootstrap: remove conftest.sed file droppings. * gl/build-aux/funclib.sh: Remove conftest.sed when no longer needed. * bootstrap: Regenerate. 2014-01-04 Gary V. Vaughan bootstrap: replace spurious hyphen in some section comments. * gl/build-aux/bootstrap.in: replace spurious hypen in same section header comments with a space. * gl/build-aux/extract-trace, gl/build-aux/options-parser: Likewise. * bootstrap: Regenerate. 2014-01-03 Gary V. Vaughan inline-source: DO NOT EDIT warning only for top-level file. * gl/build-aux/inline-source (func_include): When recursing, pass through the value of `magic` so that only the very first #! magic number has a DO NOT EDIT warning injected. * bootstrap: Regenerate. inline-source: gawk doesn't have boolean constants. I've been writing a lot of Lua lately, but still a silly mistake:( * gl/build-aux/inline-source (func_include): Use `magic` variable to count #! lines found, and only output the DO NOT EDIT warning after the first one. edit-readme-alpha: adjust for recent README edits. * build-aux/edit-readme-alpha: Adjust regexps for recent README improvements. * README.md: Fix a SPACE-TAB sanity check failure. bootstrap: fix test-dollar sanity check failure. * gl/build-aux/bootstrap.in (func_ensure_README): quote argument. * bootstrap: Regenerate. libtool: rearrange header comments for correct version/help extraction. * m4/libtool.m4 (_LT_COPYING): Rearrange the comments output to the generated libtool script so that --version and --help behave the same as pre-funclib.sh revisions. (_LT_CONFIG_SAVE_COMMANDS): Likewise. README: Tweak into markdown format and fix some bitrot. * README: Moved from here... * README.md: ...to here. Make some changes to be valid markdown format, and fix some inaccuracies in text that is out of date. * .gitignore: Add README. bootstrap: support automake README requirement. * gl/build-aux/bootstrap.in (func_ensure_README): New function. Link missing README to existing alternative naming. (require_automake_options): New functions. Fetch AM_INIT_AUTOMAKE options from configure.ac. (func_reconfigure): If we're using automake, and it's not in foreign mode, link a README file if possible. * bootstrap: Regenerate. configury: use bootstrap ChangeLog management feature. * gl/build-aux/bootstrap.in (func_autoreconf): Accept an optional directory argument to pass to $AUTORECONF. Update doc-comment. * bootstrap.conf (func_reconfigure): Remove. Don't completely overwrite bootstrap's func_reconfigure, shadowing auto-ChangeLog management. (func_autopoint, func_libtoolize): Overwrite these un-needed calls instead. (libtool_autoreconf_libltdl): New hook function to run second autoreconf in libltdl directory. (libtool_force_changelog): Remove. This is all handled by bootstrap's func_reconfigure again. * bootstrap: Regenerate. bootstrap: force remove file droppings from previous run. Now that we generate bootstrap.new with no write permission, we have to force remove it before writing now content to the file. * bootstrap.in (require_bootstrap_uptodate): Remove old bootstrap.new output. * bootstrap: Regenerate. inline-source: add a DO NOT EDIT notice to generated files. * gl/build-aux/inline-source (func_include): Add a DO NOT EDIT notice below the #! magic number of generated files. * gl/build-aux/bootstrap.in (func_require_bootstrap_uptodate): Remove write bit from regenerated bootstrap.new if it differs from incumbent bootstrap. Change the update instructions to recommend `mv -f` to cope with no write permission on old bootstrap script. bootstrap: move included files below DO NOT EDIT comment. * gl/build-aux/bootstrap.in: Reorder sections to load external libraries as late as possible, leaving DO NOT EDIT comment visible near the top of the generated bootstrap script. maint: use before-save-hook in Emacs footers. Updating to Emacs 24 now gives me warnings about write-file-hooks being obsolete. * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser: Set before-save-hook in Emacs file footers instead of obsolete write-file-hooks. libtoolize: use printf '%s\n' unconditionally. It's been a year since the as_echo probes were removed in Autoconf, so we can follow suit and remove our equivalent bs_echo probing now. Retain $ECHO in case users need to override default printf calls in museum piece environments. * gl/build-aux/funclib.sh (ECHO): Default to 'printf %s\n'. (bs_echo): Remove. Adjust all bs_echo callers to use $ECHO instead. * bootstrap: Regenerate. * NEWS: Update. 2014-01-02 Gary V. Vaughan bootstrap: push Peter's version sort fix back into funclib.sh. Peter's a7462c5 fix was applied to the generated bootstrap script instead of the funclib.sh source, and had have been overwritten the next time bootstrap was regenerated. * gl/build-aux/funclib.sh (func_sort_ver): Sort numerically on the non-primary keys as well. * bootstrap: Regenerate, with the change applied. 2014-01-01 Gary V. Vaughan maint: change history. * NEWS: Remove alpha release header. * cfg.mk (old_NEWS_hash): Update. libtool: only strip -Wl when linking with $LD. * build-aux/ltmain.in (func_mode_link): Don't strip -Wl from the linker flags, except when linking with $LD, otherwise compiler drivers that don't recognize and pass linker flags through will choke on unrecognized options. bootstrap: fix gitlog-to-changelog detection. * gl/build-aux/bootstrap.in (func_ifcontains): Use a for loop that relies on $IFS for element splitting instead of a one-shot case glob that is not tolerant to \n in $gnulib_modules. * THANKS: Add Reuben Thomas. Reported by Reuben Thomas maint: update copyright notices to include 2014. * .x-update-copyright: New file. Exclude files not owned by this project from update-copyright rules. * doc/libtool.texi: Replace m-dash with n-dash in texinfo copyright notice so that update-copyright matches correctly. Undo bogus copyright updates to example output from gdb session. Bump copyright year. * Changelog.old: Revert bogus updates from previous years without .x-update-copyright. AUTHORS, HACKING, Makefile.am, NEWS, README, THANKS, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, cfg.mk, configure.ac, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, 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, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Bump copyright year. gnulib: update to latest upstream revision. * gnulib: Update. tests: gcj cannot reliably compile directly to .o from .java Some 4.3.x and 4.4.x releases of gcj insert a spurious 'dummy' symbol into every object file when compiling directly from .java to .o: * tests/convenience.at (GCJ): make .class files from .java sources first, and then compile those to native objects. This works around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42143 2014-01-01 Gary V. Vaughan testsuite: with SunStudio12.x f77, don't fail on system symbols Modern SunStudio f77 is just a wrapper for f90, which explains why current master fails these test groups with: Undefined first referenced symbol in file __f90_slw_ch .libs/foof2.o __f90_sslw .libs/foof2.o __f90_eslw .libs/foof2.o ld: fatal: symbol referencing errors. No output written to .libs/libfoo2.so.0.0.0 So we allow some undefined symbols in the libraries, which are resolved by the $(FLIBS) added to the final binaries in the tests. This seems like the simpler, and less error inducing solution to me (compared to adding $(FLIBS) to every library LDFLAGS line). * tests/f77demo.at (libfoo_la_LDFLAGS, libfoo2_la_LDFLAGS) (libfoo3_la_LDFLAGS, libmix_la_LDFLAGS): Remove -no-undefined flag. * tests/fcdemo.at: Likewise. 2014-01-01 Gary V. Vaughan maint: use $SED and $GREP, not sed and grep in all scripts. Choosing between hardcoding a tool's name, or using the shell variable with a path to the user's prefered implementation or configure's idea of the best available is a premature optimisation. * build-aux/ltmain.in, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, libtoolize.in: Use $SED and $GREP consistently throughout, instead of hardcoding sed and grep. * bootstrap: Regenerate. tests: use TESTS_ENVIRONMENT for EGREP and FGREP. Be consistent about passing commands to the testsuite, and use TESTS_ENVIRONMENT consistent. * Makefile.am (TESTS_ENVIRONMENT): Add EGREP and FGREP. * tests/testsuite.at: Remove EGREP and FGREP extractions from generated libtool script. tests: use $GREP throughout. Trust the user, and use $GREP from TESTS_EVVIRONMENT uniformly. * Makefile.am (TESTS_ENVIRONMENT): Add GREP setting. * tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/destdir.at, tests/dumpbin-symbols.at, tests/early-libtool.at, tests/execute-mode.at, tests/export-def.at, tests/export.at, tests/f77demo.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlopen.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/static.at, tests/sysroot.at, tests/template.at, tests/testsuite.at, tests/versioning.at: Replace all hardcoded grep invocations with $GREP. tests: use $SED throughout. Trust the user, and use $SED from TESTS_ENVIRONMENT uniformly. Hardcoding 'sed' for "simple" edits is a premature optimisation. * tests/cdemo.at, tests/cmdline_wrap.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/duplicate_conv.at, tests/duplicate_members.at, tests/execute-mode.at, tests/export.at, tests/inherited_flags.at, tests/install.at, tests/libtoolize.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/old-m4-iface.at, tests/sysroot.at, tests/tagdemo.at, tests/testsuite.at: Replace all hardcoded sed invocations with $SED. tests: run cmdline_wrap last, or not at all if anything else failed. * Makefile.am (TESTSUITE_AT): Move stresstest.at and cmdline_wrap.at to the end of the list. * tests/cmdline_wrap.at: If previous tests have failed, then we already know that rerunning them will fail too, so save time by skipping in that case. configury: remove spurious g modifier in sed expression. * Makefile.am (rebuild): Remove useless g modifier from sed expression. configury: use $(SED) where input does not end in newline. On Solaris machines the system sed does not process the last line of input unless it ends with a newline, which means it cannot be used to massage the output of git-version-gen, because it deliberately omits the terminating newline. * Makefile.am (rebuild): Use the sed command found by configure, which has a better chance of working properly than the first sed on PATH. tests: skip fcdemo checks when $FC cannot compile fortran90. Avoid spurious fcdemo failures when Autoconf picks f77 or similar for a fortran90 compiler. * tests/testsuite.at (LT_AT_TAG): Using FC and FCFLAGS from make TESTS_ENVIRONMENT, check that we really can compile fortran90 or else skip. funclib.sh: improve comments. * gl/build-aux/funclib.sh: Add a comment explaining the need for extra SED and GREP searches. 2013-12-09 Peter Rosin maint: fix out-of-tree autoreconf w/o manual rebootstrap build-aux/ltmain.in: Look for funclib.sh and options-parser in the same location ltmain.in is found. 2013-11-19 Peter Rosin bootstrap: fix version sort Reported by Ozkan Sezer who suffered from makeinfo 4.13 being detected as lesser than the required makeinfo 4.8. * bootstrap (func_sort_ver): Sort numerically on the non-primary keys as well. 2013-11-08 Peter Rosin tests: Use a basic grep that matches the basic regexp style. Fixes a testsuite failure on Cygwin. * tests/tagdemo.at: Use grep instead of egrep. 2013-10-29 Gary V. Vaughan bootstrap: fix a quoting error. * gl/build-aux/bootstrap.in (func_require_buildreq_autoconf): Quote the extracted version number correctly so that it is displayed in verbose mode. 2013-10-28 Gary V. Vaughan funclib.sh: simplify version comparison functions. * gl/build-aux/funclib.sh (func_sort_ver): Much simplified. (func_lt_ver): New function, return true if arguments are in ascending order. * gl/build-aux/bootstrap.in: Simplify with func_lt_ver. * gl/build-aux/do-release-commit-and-tag.diff: Likewise. * bootstrap: Regenerate. Co-Authored-by: Paul Eggert 2013-10-28 Gary V. Vaughan bootstrap: show found GREP and SED in verbose mode. * gl/build-aux/bootstrap.in (EGREP, FGREP, GREP, SED): Remove. These are already set by funclib.sh. (func_prep): After --verbose has been processed, show the paths to GREP and SED found by funclib.sh. * bootstrap: Regenerate. refactor: simplify program path searching in funclib.sh. * gl/build-aux/funclib.sh (func_path_progs): New function. Factor out common code from GREP and SED searches. (func_check_prog_sed, func_check_prog_grep): New functions, for non-common code. (scriptversion): Update. * bootstrap: Regenerate. bootstrap: search for a non-truncating grep binary. On at least Unixware 7.1.4, the first grep binary on PATH is unable to process the extract-trace scripts. * gl/build-aux/funclib.sh (GRUP): Search PATH for a grep binary that doesn't truncate its own output if available, and set GREP accordingly. * Makefile.am (SCRIPT_ENV): Add setting for GREP. * bootstrap: Regenerate. Reported by Tim Rice. bootstrap: search for a non-truncating sed binary. On at least Unixware 7.1.4, the first sed binary on PATH is unable to process the extract-trace scripts. * gl/build-aux/funclib.sh (PATH_SEPARATOR): Set to : or ; according to a feature test. (func_executable_p): New function. (SED): Search PATH for a sed binary that doesn't truncate its own output if available, and set SED accordingly. (scriptversion): Update. * Makefile.am (SCRIPT_ENV): New macro, for propagating configured variables. (ltdl_ac_aux_dir, $(ltmain_sh), install-data-local): Use it. * bootstrap: Regenerate. Reported by Tim Rice. 2013-10-27 Gary V. Vaughan tests: use autotest as_unset rather than rerolling $unset locally. On at least Unixware 7.1.4, the shell variable 'unset' gets set to 'no' during the testsuite run, breaking several test cases. We should have been using Autotest $as_unset anyway. * tests/testsuite.at (unset): Remove test and variable setting. (LT_AT_MAKE): Use $as_unset as provided by autotest boilerplate instead of our own $unset. * tests/demo.at (uninstalled libraries ave priority): Likewise. Reported by Tim Rice. maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. 2013-10-26 Gary V. Vaughan version 2.4.2.418 * NEWS: Record release date. gnulib: update to latest upstream revision. * gnulib: Update. gnulib: use func_sort_ver instead of GNU sort -V in do-release-commit-and-tag. * gl/build-aux/do-release-commit-and-tag: Source funclib.sh and then use portable func_sort_ver rather than force installation of all GNU coreutils just for sort -V support. refactor: move func_sort_ver from bootstrap.in to funclib.sh. * gl/build-aux/bootstrap.in (func_sort_ver): Move from here... * gl/build-aux/funclib.sh (func_sort_ver): ...to here. * bootstrap: Regenerate. tests: use K&R main() syntax for old-ltdl-iface.at. At least Mac OS 10.8.5 clang chokes on the previous 'const void *argv[]' parameter, but since we don't use it anyway, keep to the theme of old api support and use K&R syntax. * tests/old-ltdl-iface.at (old.c): Use 'main ()' instead of unportable 'int main (int argc, const void *argv[])'. libltdl: bump -version-info revision by 1. The only changes to libltdl sources since v2.4.2 have been cosmetic and stylistic. * libltdl/ltdl.mk (LTDL_VERSION_INFO): For a release with no interface changes C:R:A becomes C:R+1:A. maint: Update README-release for Makefile.inc -> ltdl.mk rename. * gl/top/README-release.diff: s/Makefile.inc/ltdl.mk/g maint: bump serials on m4 sources changed since v2.4.2. * m4/argz.m4: Bump serial to 6. * m4/libtool.m4: Bump serial to 58. * m4/ltdl.m4: Bump serial to 19. * m4/ltoptions.m4: Bump serial to 8. maint: fix a syntax-check violation from commit 12641bd. * build-aux/ltmain.in (func_mode_link): Reverse test operands to forestall misinterpretation of contests of shell variable as operand 1. 2013-10-10 Vadim Zeitlin (tiny change) libtool: Don't fall back to static libraries if building them was disabled If -no-undefined was not specified but the platform didn't support shared libraries with undefined symbols (e.g. Cygwin/ MinGW), static libraries were built instead of shared ones, even if building them was explicitly disabled with --disable- static configure option. Fix this by stopping with a fatal error if a shared library can't be built in this case instead of unexpectedly building a static library instead. * libltdl/config/ltmain.m4sh (func_mode_link()): Stop with fatal error when trying to build a shared library without -no- undefined on a platform not supporting undefined symbols in shared libraries. 2013-10-10 Brooks Moses libtool: Remove unneeded quotes in assignment. The quotes in this assignment cause "make syntax-check" to fail. Thus, this patch removes them. 2013-10-09 Fabian Groffen (tiny change) libtool: Fix x86_64-pc-solaris2.* GNU ld breakage Since commit [1] libtool tries to set a 64-bits target for GNU ld. However, it does so wrongly for x86_64-pc-solaris2.* targets, causing libtool to believe the linker is called ld_sol2. There is no such thing, and it obviously breaks things further down. Some people wrongly assume there is supposed to be an ld_sol2 on their systems, e.g. [2]. I think the original change is fragile, because it assumes it has all CHOSTs matched, then appends _sol2. In the wild, people have used amd64-pc-solaris2* too, so perhaps it would be safer if the code only appended _sol2 if there is actually an explicit target set. Anyhow, since the 64-bits sparc target is called sparc64-* or sparcv9-*, the sparc case is already correctly handled, so in the attached patch, I just added an x86_64-* case, although I could imagine relaxing the i?86 case to *86*-pc-solaris2* too. In any case, defaulting to a linker called ld_sol2 is wrong. [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/ msg00000.html [2] http://osdyson.org/issues/8 2013-10-09 Olivier Blin (tiny change) libtool: Fix detection of ld version with parentheses. ld from crosstool-NG reports a version string with an extra version number in a parenthetical note: GNU ld (crosstool-NG 1.13.0) 2.21.1 This made libtool assume that the ld version was the crosstool-NG version (1.13.0) instead of the real ld version (2.21.1). To fix the ld version string, this patch filters out any string between parentheses that is followed by a space. Because of this bug, filtering of exported symbols was not taking place with crosstool-NG toolchains. This issue has bee noticed when building pango, which exported harfbuzz symbols that should have remained hidden. 2013-10-09 Brooks Moses libtool: Fix comment indentation This trivial patch fixes indentation on a comment to match the style used elsewhere in m4/libtool.m4. 2013-10-09 DJ Delorie libtool: Add TPF settings for LT_SYS_DLOPEN_SELF * m4/libtool.m4: Since we know that all TPF builds are cross- builds, do not attempt to run linker tests during config. Use known constants instead, since we know how dlopen() is implemented. 2013-10-09 Vincent Lefevre (tiny change) libtool: Fix $wl setting for tcc on GNU systems (This addresses http://bugs.debian.org/663945. See there for more-detailed discussion.) tcc gained support for "-Wl,-rpath -Wl," in its commit 7fb0482a ("Support linker options passed in several -Wl param", 2012-03-14) but libtool doesn't know to use it. Teach it. Without this change, running "make check" on MPFR when it has been built with tcc and shared libraries doesn't work because libtool generates a -rpath option, which tcc doesn't support. 2013-10-09 Peter Johansson libtool: use AS_HELP_STRING in LT_WITH_SYSROOT help message. This patch fixes so help output is formatted similar with other macros using AS_HELP_STRING. Also it outputs '[=DIR]' as I suspect intended rather than '=DIR'. 2013-10-09 Joseph Prostko (tiny change) libtool: Haiku change for shlibpath_overrides_runpath Pretty much all changes to Haiku for Libtool have been upstreamed, however we currently have an incorrect value for shlibpath_overrides_runpath. It should be "no" instead of "yes". Previously Scott McCreary had submitted patches for us, but I told him I would work to get this committed, as he is quite busy lately. Here is a commit he made to our Haiku Ports site though, that shows the exact change I am proposing done against Libtool 2.4.2. http://ports.haiku-files.org/browser/haikuports/sys-devel/ libtool/patches/libtool-2.4.2.patch 2013-10-09 Brooks Moses (tiny change) Johannes Obermayr libtool: Discard "-mllvm $arg" options when linking. Clang accepts options of the form "-mllvm $arg", and passes the argument as an option to LLVM. These options caused problems for Libtool when linking; in some cases, the -mllvm option is passed through but the corresponding argument is dropped. (See for example http://llvm.org/bugs/show_bug.cgi?id=14716.) This patch resolves the issue by explicitly matching -mllvm and taking an argument. Since Clang never uses LLVM for linking, the matched "-mllvm $arg" option is irrelevant for the link step, and we can simply discard it once we've recognized it. 2013-10-09 Ondřej Bílka maint: Fix various comment and documentation typos. Ondřej writes: "Hi, this is upstream version of patch that I sent to gcc. I generated this patch with tool that I am writing: https://github.com/neleai/stylepp" (Note: The generated patch was adjusted to retain the non-US but correct spelling of 'rigourous' before commit. --Brooks) 2013-10-08 David 'Digit' Turner libtool: Add Android/Linux support. This patch adds proper Android support to libtool. The main issues are the following: - Versioned libraries are not supported by the platform and its build/packaging tools. - The dynamic linker is not GNU ld, there is no support for DT_RUNPATH. - Similarly, there is no ldconfig. 2013-09-17 Peter Rosin libtool: trust -print-search-dirs from recent GCC Alan Modra hints in [1] that -print-search-dirs was fixed in GCC 4.2(?), so that it nowadays automatically appends -print-multi-os-directory for the applicable directories. I.e. it should no longer be necessary for libtool to append a second ../lib64 when GCC has already done so. Also, the multi-os appending loop seems to have been added specifically for early (arguably broken) bi-arch enabled GCCs that printed -m32 directories even though -m64 was the default [2]. So, my conclusion is that we want any libtool magic to affect -print-search-dirs output from contemporary GCCs as little as possible, while continuing to append the -print-multi-os-directory for the legacy case. Fixes bug#15321 reported by Ozkan Sezer. [1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20425 [2] http://lists.gnu.org/archive/html/bug-libtool/2006-09/msg00019.html * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): If any of the directories printed by -print-search-dirs ends with the content of -print-multi-os-directory, then assume that GCC adds the multi-os-directory where appropriate all by itself and hence don't try to second guess when to add it manually. * THANKS: Update. 2013-09-16 Gary V. Vaughan bootstrap: clean up spurious 'gnulib-cache.m4 missing' error. * gl/build-aux/bootstrap.in (func_reconfigure): Don't show an error when running without gnulib-cache.m4. * bootstrap: Regenerate. 2013-09-15 Gary V. Vaughan bootstrap: make ensure_changelog work for update mode projects. * gl/build-aux/bootstrap.in (func_bootstrap): Move func_changelog_ensure invocation from here... (func_reconfigure): ...to here. If gnulib_modules is empty, then grep gnulib-cache.m4 for gitlog-to-changelog before invoking func_changelog_ensure. * bootstrap: Regenerate. bootstrap: fetch defaults from gnulib-cache.m4 for non-imported projects. Recent changes uncovered some bugs in handling of gnulib-tool options for projects that check in gnulib-cache.m4 rather than keep a separate list of modules and options in bootstrap.conf. * gl/build-aux/bootstrap.in (func_require_doc_base) (func_require_gnulib_name, func_require_local_gl_dir): New functions to set defaults from gnulib-cache.m4 in projects that use gnulib-tool in --update mode. (func_require_gnulib_tool_base_options): Use them to fetch defaults. (func_require_gnulib_copy_cmd): New function to calculate the options required for gnlib-tool copy command. (func_gnulib_tool_copy_file): Simplify accordingly. (scriptversion): Bump. 2013-09-05 Gary V. Vaughan maint: normalise formatting of recent commit log entry. * build-aux/git-log-fix: Add a summary line to ChangeLog entry of most recent commit. 2013-09-05 Brooks Moses maint: add Brooks Moses to AUTHORS file. * AUTHORS: Add myself to committers list. 2013-08-29 Gary V. Vaughan bootstrap: gnulib_tool=true means no gnulib submodule. * gl/build-aux/bootstrap.in (func_require_gnulib_tool): No sneaking off and cloning gnulib when the user already specified gnulib_tool=true in their bootstrap.conf! * bootstrap: Regenerate. 2013-08-23 Alan Modra bootstrap: make first char of IFS a space. Putting tab first in IFS breaks func_echo_all usage of $*, resulting in failure of func_infer_tag to match a command line using a $CC with trailing spaces. The trailing spaces were stripped out of CC_expanded but words in $CC were separated by tabs. This didn't match the makefile expansion of $CC using the standard IFS with a first char of space. * gl/build-aux/funclib.sh (IFS): Make first char a space. * bootstrap: Regenerate. 2013-08-23 Gary V. Vaughan bootstrap: support --no-git and --no-po options. * gl/build-aux/bootstrap.in (bootstrap_parse_options): Accept --no-git as an alias for --skip-git for compatibility with gnulib bootstrap, and --no-po for symmetry. Reported by Mike Miller. bootstrap: support gnulib gnulib_tool_option_extras settings. * gl/build-aux/bootstrap.in (func_gnulib_tool): Even though we don't need it, support gnulib_tool_option_extras for bootstrap.conf ported from gnulib bootstrap. * bootstrap: Regenerate. Reported by Mike Miller. bootstrap: support sha1 binary on OpenBSD. * gl/build-aux/bootstrap.in (func_update_po_files): Remove the use of --status in a way that will suppress all error messages, but since this is only used to minimize updates, it shouldn't cause an issue. Look for a sha1 binary if the other SHA1SUM settings are not found. Also exit early if there is a problem updating the po file checksums. * bootstrap: Regenerate. Ported from a gnulib patch by Padraig Brady. bootstrap: support tools that don't accept '--version' in buildreq. * gl/build-aux/bootstrap.in (func_check_tool): Check whether there is an executable as given or on the command PATH. (func_check_version): Use func_check_tool to avoid invoking --version when buildreq specifies '-' for the version number. * bootstrap: Regenerate. Reported by Mike Miller. bootstrap: diagnose bad $buildreq formatting. Particularly when porting from gnulib bootstrap to libtool bootstrap, it's easy to forget the extra URL column used for error reporting. * gl/build-aux/bootstrap.in (func_check_versions): A non-URL pattern in the 3rd column of buildreq triggers a fatal error. * bootstrap: Regenerate. Reported by Mike Miller. 2013-08-23 Gary V. Vaughan (tiny change) bootstrap: support OpenBSD sed. * gl/build-aux/bootstrap.in (func_insert_if_absent): Work around the problem of OpenBSD sed not supporting '-' as a notation for standard input. * bootstrap: Regenerate. * THANKS: Add Mike Miller. Reported by Mike Miller. 2013-08-23 Steve Ellcey Gary V. Vaughan libtool: set correct linker ABI flags on mips64 linux. m4/libtool.m4 (_LT_ENABLE_LOCK): Select the n32 or n64 ABI when linking to match the ABI produced with the user's compiler flags. 2013-08-23 Gary V. Vaughan maint: correct many abuses of the word "which". * HACKING, NEWS, TODO, bootstrap, bootstrap.conf, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, doc/notes.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/doc/bootstrap.texi, libltdl/libltdl/lt_system.h, libltdl/loaders/loadlibrary.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, libtoolize.in, m4/libtool.m4, m4/ltdl.m4, m4/ltsugar.m4, m4/lt~obsolete.m4, tests/exceptions.at, tests/need_lib_prefix.at, tests/static.at: Use "which" correctly, or replace with "that", "where" or "what" as appropriate. 2013-08-23 Brook Moses libtool: improve comments for _LT_ENABLE_LOCK implementation. * m4/libtool.m4 (_LT_ENABLE_LOCK): enhance comments to explain why the code looks odd with 32bit flags in the 64bit section and vice versa. 2013-08-22 Alan Modra libtool: fix refixed unmangled powerpc*le-linux support patch * m4/libtool.m4: fix refixed badly unmangled hunks from earlier powerpc*le changeset. Reported by Peter Rosin. libtool: refix unmangled powerpc*le-linux support patch * m4/libtool.m4: refix badly unmangled hunks from earlier powerpc*le changeset. Reported by Peter Rosin. 2013-08-22 Gary V. Vaughan libltdl: don't trip subdir-objects warning from Automake >= 1.14. Latest Automake releases now warn when subdir-objects is not specified in preparation for Automake 2.0. The option has been in Automake for more than a decade, so there's minimal risk of someone using the next release of Libtool alongside an ancient release of Automake when bootstrapping libltdl client projects. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Add subdir-objects. libtool: refactor powerpc*le-linux case branch expressions. libtool (_LT_ENABLE_LOCK): make inner case branch expressions consistent with outer case expression. Reported by Peter Rosin. 2013-08-22 Alan Modra libtool: fix mangled powerpc*le-linux support patch * m4/libtool.m4: unmangled badly pasted hunks from previous changeset. libtool: initial powerpc*le-linux support * m4/libtool.m4 (ld -m flags): Remove non-canonical ppc host match. Support little-endian powerpc linux host. 2013-06-17 Yaakov Selkowitz libtool: fix conversion warnings in cwrapper build-aux/ltmain.in (func_emit_cwrapperexe_src:main): XMALLOC wants a size_t. Also use int instead of intptr_t for the return value (which is fine since the _spawnv call is synchronous). (func_emit_cwrapper_src) [MSVC]: Remove the intptr_t helper define. (func_emit_cwrapperexe_src:find_executable): Use size_t for variables involved in strlen computations. (func_emit_cwrapperexe_src:lt_setenv): Likewise. (func_emit_cwrapperexe_src:lt_extend_str): Likewise. (func_emit_cwrapperexe_src:lt_update_exe_path): Likewise. THANKS: Update. 2013-04-28 Peter Rosin libtool: break all the way out when a good nm is found The current code tries to locate a compatible nm tool. It starts with a prefixed nm tool (great!) and includes a plain nm too (that's fine). The problem is that the code searches for the prefixed nm before the plain nm (normally fine), but doesn't break once it has found a valid match, and the plain nm ends up the winner. Report and analysis by Mike Frysinger. * m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match. 2013-01-28 Peter Rosin maint: update email address... * THANKS: ...of Jan Engelhardt. 2013-01-28 Jan Engelhardt doc: fix an orthographic error * doc/libtool.texi (Install mode): Ensure, not insure. 2013-01-27 Gary V. Vaughan bootstrap: fix func_insert_if_absent bugs. * gl/build-aux/bootstrap.in (func_insert_if_absent): Print verbose message when there is a new entry to add. Also, make sure to update the .gitignore file when changed. * bootstrap: Regenerate. * THANKS: Add Pádraig Brady. Reported by Pádraig Brady. bootstrap: factor out gnulib-tool option calculations. * gl/build-aux/bootstrap.in (func_gnulib_tool): Factor base option settings out... (require_gnulib_tool_base_options): ...to here. * bootstrap: Regenerate. syntax-check: fix a quoted_test_operand violation. * gl/build-aux/bootstrap.in (func_insert_if_absent): Make sure test operands are quoted correctly. * bootstrap: Regenerate. syntax-check: fix new SPACE-TAB violations. * build-aux/ltmain.in (func_dll_def_p): Replace SPACE-TAB by TAB-SPACE. * m4/libtool.m4 (_LT_DLL_DEF_P): Likewise. 2013-01-26 Bernhard Voelker Gary V. Vaughan bootstrap: always auto-add .gitignore files at the top. * gl/build-aux/bootstrap.in (func_gitignore_entries): New function. Strip comments and blank lines. (func_insert_sorted_if_absent): Renamed... (func_insert_if_absent): ...to this. Adjust all callers. Instead of comparing the sorted new file with the original, compare the line count, being careful to diagnose duplicate entries which would otherwise skew the count. 2013-01-26 Gary V. Vaughan maint: patch gitlog-to-changelog to reduce bogus warnings. Rather than trying to find a new useful warning among the 55 expected warnings from vanilla gitlog-to-changelog, patch it to elide the bogus warnings from duplicate log entries. * gl/bulid-aux/gitlog-to-changelog.diff: Omit-from-ChangeLog is a new log entry tag to skip legitimate log duplicates. * build-aux/git-log-fix: Instead of deleting all content of duplicates and generating a warning, append the new Omit-from-ChangeLog tag to elide silently. * Makefile.am *($(changelog)): Remove the 'expect 55 warnings' echo. 2013-01-22 Peter Rosin libtool: factor out the dll .def file test and improve it Resolves bug#13414. Problem reported by Erik van Pienbroek and Martin Doucha. build-aux/ltmain.in (func_mode_link): Factor out the test if a given symbol file is a module-definition (.def) file into... (func_dll_def_p): ...this function, which also improves the check. m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) : Similarly, factor out the test if a given symbol file is a module-definition (.def) file into... (_LT_DLL_DEF_P): ...this macro, which also improves the check. tests/export-def.at: New test. Makefile.am (TESTSUITE_AT): Add above test. NEWS: Update. THANKS: Update. 2013-01-21 Peter Rosin libtool: allow tabs in *_cmds variables This is in preparation for the next patch, which needs to have literal tab characters survive the evaluation of the *_cmds variables. build-aux/ltmain.in (func_execute_cmds, func_mode_link): Don't collapse tabs and surrounding whitespace into a single space when executing a tilde-separated cmds construct, instead keep any tabs intact. 2013-01-19 Peter Rosin libtool: avoid tabs in all *_cmds variables. This is in preparation for the next change, which will preserve tabs when the *_cmds variables are evaluated. Removing tabs first ensures that the libtool output stays the same when tabs are not collapsed with surrounding whitespace. m4/libtool.m4: Convert indenting tabs to spaces for all *_cmds variables. 2013-01-16 Peter Rosin libtool: align archive_cmds with archive_expsym_cmds for MSVC m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] : Specify the import library name, aligning with archive_expsym_cmds. libtool: feed .def files verbatim to the MSVC linker m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] : When the symbol list isn't really a symbol list, but instead a .def file, copy it to a file with .def extension so that MSVC recognizes it as a module-definition file and feed it verbatim. NEWS: Update 2013-01-15 Peter Rosin Revert "libtool: use false or : for $always_export_symbols, and simplify" This reverts commit 5ed7430fcb48c862c9d76ef497b73485d580338e, which is totally bogus as the variable is also set in libtool.m4. Sorry for the noise. libtool: use false or : for $always_export_symbols, and simplify * build-aux/ltmain.in (func_mode_link): Save a string comparison by setting $lways_export_symbols to false or : and using it directly as the first argument to if. Make sure that it is always initialized while at it. 2013-01-09 Peter Rosin tests: fix nits in path handling tests/bindir.at: func_save_and_prepend_path is already checking $bindirneeded internally, so remove checks from call sites. Add proper quoting while at it. (func_save_and_prepend_path): Use $PATH_SEPARATOR instead of a literal colon (in both instances). 2013-01-08 Peter Rosin libtool: simplify quoting and code for symbols exporting sed programs * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [MSVC] : Make the sed programs easier to read (and recover some backslashes for later in the process). 2013-01-03 Peter Rosin tests: don't feed -no-undefined to the linker during configure. * tests/deplibs-mingw.at: Restore LDFLAGS for the configure run so that the linker does not see -no-undefined. Makes the test pass instead of skip on MinGW. 2013-01-03 Gary V. Vaughan maint: note warnings during ChangeLog generation are normal. * Makefile.am ($(changelog)): Output a note that 55 empty commit log warning messages during ChangeLog generation are expected. git: ignore .serial file. * .gitignore: ignore .serial file. maint: fix recent badly formatted ChangeLog entry. * build-aux/git-log-fix: No empty lines in a single commit. syntax-check: fix a useless_quotes_in_assignment violation. * gl/build-aux/inline-source (func_require_AWK): Remove useless quotes. syntax-check: fix prohibit_strcmp syntax-check violation. * build-aux/ltmain.in (func_generate_dlsyms): Add a definition for STREQ, and then use it in place of !strcmp. docs: update copyright dates in libtool.texi. It seems `make update-copyright' missed the texinfo copyright notice. * doc/libtool.texi: Update copyright dates for 2013. 2013-01-03 Brad Smith libtool: add bitrig support. * build-aux/ltmain.in (func_mode_link): Add bitrig support. * m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN) (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto. * m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto. * tests/deplibs-ident.at(build tree relpaths): Ditto. * NEWS: Updated. 2013-01-01 Peter Rosin maint: check if git works before relying on it Makefile.am (m4/ltversion.m4): Take the opportunity to regenerate $(srcdir)/.serial whenever git is actually working. (git_version_gen): Provide a fallback version for the git-version-gen script to use when .tarball-version does not exist and git is not working. maint: really do update to latest upstream gnulib Commit 9a7071e668d044c1c47c855d2f0bc7cadb235071 "maint: update copyright notices to include 2013." states that this was done, but it actually was not. gnulib/: Update to latest upstream. 2013-01-01 Gary V. Vaughan maint: remove unsupported Tested-by: tag. * build-aux/git-log-fix: Tested-by: line should not appear in the ChangeLog. 2013-01-01 Peter Rosin bootstrap: update README-release patch gl/top/README-release.diff: Update to match latest gnulib changes. 2013-01-01 Gary V. Vaughan maint: update copyright notices to include 2013. * gnulib/: Update to latest upstream. * AUTHORS, ChangeLog.old, HACKING, Makefile.am, NEWS, README, THANKS, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/ltmain.in, cfg.mk, configure.ac, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, 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, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/autobuild.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, m4/ltversion.in, m4/lt~obsolete.m4, tests/am-subdir.at, tests/archive-in-archive.at, tests/bindir.at, tests/cdemo.at, tests/cmdline_wrap.at, tests/configure-iface.at, tests/convenience.at, tests/ctor.at, tests/cwrapper.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-ident.at, tests/deplibs-mingw.at, tests/destdir.at, tests/dlloader-api.at, tests/dumpbin-symbols.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/exceptions.at, tests/execute-mode.at, tests/exeext.at, tests/export.at, tests/f77demo.at, tests/fail.at, tests/fcdemo.at, tests/flags.at, tests/help.at, tests/indirect_deps.at, tests/infer-tag.at, tests/inherited_flags.at, tests/install.at, tests/lalib-syntax.at, tests/libtool.at, tests/libtoolize.at, tests/link-order.at, tests/link-order2.at, tests/loadlibrary.at, tests/localization.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/ltdl-api.at, tests/ltdl-libdir.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/no-executables.at, tests/nocase.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/pic_flag.at, tests/recursive.at, tests/resident.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/slist.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagdemo.at, tests/template.at, tests/testsuite.at, tests/versioning.at, tests/with-pic.at: Bump copyright year. 2012-12-19 Peter Rosin libtool: Drop $LDFLAGS when invoking the toolchain m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [Solaris] : Drop $LDFLAGS as it is a user variable that is usually used when invoking libtool. As such, it should not be used by libtool when it invokes the toolchain as it contains options intended for libtool, not the toolchain. Fixes export.at and other tests that add -no-undefined to LDFLAGS. 2012-12-19 Richard Palo (tiny change) libtool: Add SONAME to the so when exporting explicit symbols on Solaris m4/libtool.m (_LT_LANG_CXX_CONFIG) [Solaris] : Feed -h $soname to the linker just as is done in archive_cmds. THANKS: Update. 2012-11-02 Peter Rosin libtool: add @INIT@ to the preloader, for data imports on Windows * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Adjust lt_cv_sys_global_symbol_to_cdecl so that it declares imported data symbols as __declspec(dllimport). Adjust lt_cv_sys_global_symbol_to_c_name_address and lt_cv_sys_global_symbol_to_c_name_address_lib_prefix so that they fill in "(void*) 0" for imported data symbols. Add new lt_cv_sys_global_symbol_to_import which finds imported data symbols if non-empty and export this variable to the libtool script in the global_symbol_to_import variable. Adjust lt_cv_sys_global_symbol_pipe so that data imports can be located. * build-aux/ltmain.in (func_generate_dlsyms): When data imports are present, as indicated by global_symbol_to_import, generate a relocation function lt_syminit that fills in the addresses of data imports at runtime and point to the new function with a new virtual @INIT@ entry in the symbol list. * libltdl/loaders/preopen.c (add_symlist): Look for the virtual @INIT@ symbol (i.e. lt_syminit) and call it. (vm_sym): Step past the @INIT@ symbol, if present. * tests/demo.at (dlmain.c): Call the @INIT@ symbol, if present. * NEWS: Update. 2012-11-02 Peter Rosin libtool: unify the global symbol transformations Since it is safe for $lt_cv_sys_global_symbol_to_cdecl to match with a simple /^T .* .*$/ type expression, it is ok for the other transformations as well. At least if you require at least one $symcode at the start of the line, so that the just generated output doesn't match the next sed expression. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unify the matching expressions in the sed programs that transform the extracted symbol lines. 2012-11-02 Peter Rosin libtool: break up long lines * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Break up long lines when assigning the sed scripts that transform the extracted symbol lines. 2012-10-25 Gary V. Vaughan bootstrap: use a decent awk if /bin/awk is hopeless. Bootstrap used to fail without an explicit AWK environment setting on machines with both nawk and awk, but where awk is a museum piece. * gl/build-aux/inline-source (AWK): Remove initial setting. (require_awk): Search PATH for a gawk, mawk or nawk before settling on awk, just like configure does. (func_include): Use it. bootstrap: be sure to register gnulib submodule. * gl/build-aux/bootstrap.in (require_gnulib_submodule): Register the gnulib submodule before updating it, even with a shallow clone of gnulib. * bootstrap: Regenerate. Reported by Robert Boehne. bootstrap: fix a typo in a find invocation. * gl/build-aux/bootstrap.in (require_buildreq_patch): Fix a typo. * bootstrap: Regenerate. bootstrap: bash versions 3.00.x do not have += functionality. * gl/build-aux/funclib.sh: Fix a typo in fork minimisation for bash versions 3.00.x. * bootstrap: Regenerate. maint: fix missing command error in make dist. * Makefile.am ($(readme)): Don't forget the 'test'! tests: fixup experr for addition whitespace in error prefix. Fix spurious test failures due to unmatched experr output. * tests/libtoolize.at, tests/old-ltdl-iface.at: Add the addition 2 spaces now used to justify error prefixes. bootstrap: use of ';' in sed scripts is not portable. * gl/build-aux/bootstrap.in (require_buildreq_automake) (require_dotgitmodules_parameters, require_package) (func_update_po_files): Use '\n' or -e to separate sed commands, instead of ';'. * gl/build-aux/extract-trace (func_autoconf_configure) (func_extract_trace_first): Likewise. * gl/funclib.sh: Likewise. (func_tr_sh): Likewise. * gl/build-aux/options-parser (func_usage_message): Likewise. * bootstrap: Regenerate. Reported by Robert Boehne. bootstrap: don't $tc_standout spaces, it's ugly! * gl/build-aux/funclib.sh (func_error): Move the prefix indent before $tc_standout to avoid bright red inverse spaces. * bootstrap: Regenerate. bootstrap: fix rectangle select induced trailing spaces. * gl/build-aux/funclib.sh (require_term_colors): Delete trailing whitespace. * bootstrap: Regenerate. bootstrap: display prerequisite program environment vars. Be more helpful when a prerequisite program from $buildreq cannot be located, by showing what variable to export if it is already installed but not in PATH. * gl/build-aux/bootstrap.in (func_check_versions): Display associated environment variables for not found prerequisite programs. * bootstrap: Regenerate. bootstrap: honor COLORTERM and USE_ANSI_COLORS. Plenty of machines use a terminfo database that doesn't have entries for color escape sequences, even though the terminal itself most likely supports ANSI color escapes. * gl/build-aux/funclib.sh (require_term_colors): If COLORTERM or USE_ANSI_COLORS are set, then ignore what terminfo says, and use standard ANSI color escape sequences. * bootstrap: Regenerate. bootstrap: make error messages prettier. * gl/build-aux/funclib.sh (func_error): Indent 'error' prefix by two additional spaces to line up nicely with 'warning' and 'running'. * bootstrap: Regenerate. 2012-10-24 Gary V. Vaughan bootstrap: emphasize command executions with terminal bold. * bootstrap.in (func_show_eval): Use $require_term_colors to embolden the command about to be executed in output. * bootstrap: Regenerate. * bootstrap.conf (libtool_build_prerequisites): Use the standard (colorful!) bootstrap func_show_eval here too. bootstrap: show output from 'make bootstrap-deps'. * bootstrap.conf (libtool_build_prerequisites): Add support for AM_V_GEN and AM_V_at to the temporary pre-configure Makefile. Instead of eliding non-error output from bootstrap-deps, show the results, with verbosity set according to $opt_verbose. * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh, libtool) (README): Fix the display rules to correctly fall-back to AM_DEFAULT_VERBOSITY when V=1 is not passed to make invocation. 2012-10-22 Gary V. Vaughan maint: fixup badly formatted ChangeLog entries. * build-aux/git-log-fix: Mostly missing category tags and refilling to 64 columns, but also deleting duplicate entries from merging the gary/reredo-test-operand-order branch. * g/build-aux/gitlog-to-changelog.diff: Local patch to prevent printing unqualified header lines for deleted duplicate patches. * THANKS: Put email address for Paul Seidler here... * build-aux/git-log-fix: ...and remove from ChangeLog here. bootstrap: regenerate to propagate Bob's func_split_equals fix. * bootstrap: regenerate. 2012-10-22 Mikhail Zabaluev (tiny change) configury: make LT_INIT options pic-only and no-pic work. * m4/ltoptions.m4 (_LT_WITH_PIC): Set pic_mode at m4 time. 2012-10-22 Bob Friesenhahn options-parser: fix regexp quoting error. * gl/build-aux/options-parser (func_split_equals): Fixed expr regexp quoting syntax error encountered with non-XSI shells. Problem was noticed under Solaris 10. 2012-10-21 Gary V. Vaughan syntax-check: fix violations and implement sc_old_style_quoting. Modern GNU ASCII quoting in output and comments is done 'like this'. * cfg.mk (sc_old_style_quoting): Try to catch most instances of `old style quoting' so that it is not accidentally re- introduced to the code. * HACKING, Makefile.am, NEWS, PORTING, README, TODO, bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/git-hooks/commit-msg, build-aux/ltmain.in, doc/libtool.texi, gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser, libltdl/libltdl/slist.h, libltdl/loaders/loadlibrary.c, libltdl/ltdl.c, libltdl/slist.c, libtoolize.in, m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, m4/ltsugar.m4, tests/cmdline_wrap.at, tests/configure-iface.at, tests/demo.at, tests/depdemo.at, tests/deplib-in-subdir.at, tests/deplibs-mingw.at, tests/destdir.at, tests/execute-mode.at, tests/f77demo.at, tests/fail.at, tests/inherited_flags.at, tests/libtool.at, tests/libtoolize.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/mdemo.at, tests/need_lib_prefix.at, tests/old-ltdl-iface.at, tests/old-m4-iface.at, tests/static.at, tests/stresstest.at, tests/testsuite.at, tests/versioning.at: Convert to upright quotes. tests: remove spurious shell variable braces. * tests/testsuite.at: Allow the shell braces syntax check to pass again. bootstrap: add missing bootstrap override module file. * gl/modules/bootstrap: Forgot to add this file in a previous commit. bootstrap: allow bootstrap.texi to pass syntax-check. * cfg.mk (sc_require_function_nl_brace): Skip texi files. * gl/doc/bootstrap.texi: Fix assorted syntax-check violations. bootstrap: move into local gl overrides directory. In order to work as if it were already adopted by upstream gnulib, put bootstrap and supporting scripts into the local gnulib overrides directory. * bootstrap, build-aux/extract-trace, build-aux/funclib.sh, build-aux/inline-source, build-aux/options-parser: Move from here... * gl/build-aux/bootstrap.in, gl/build-aux/extract-trace, gl/build-aux/funclib.sh, gl/build-aux/inline-source, gl/build-aux/options-parser: ...to here. * gl/build-aux/options-parser (func_version): Show only the first copyright notice on files generated with inline-source. * gl/doc/bootstrap.texi: Developer documentation for bootstrap. * gl/modules/extract-trace, gl/modules/funclib.sh, gl/modules/inline-source, gl/modules/options-parser: Describe dependencies for gnulib-tool. * bootstrap.conf (gnulib_modules): Add extract-trace, inline-source and options-parser modules. * bootstrap: Regenerated from gnulib overrides as a mono- lithic script file using gl/build-aux/inline-source. 2012-10-20 Gary V. Vaughan tests: make sure AC_CONFIG_MACRO_DIR is still supported. * tests/old-m4-iface.at (AC_CONFIG_MACRO_DIR support): New test. Make sure we continue to support AC_CONFIG_MACRO_DIR using projects. libtoolize: select the first directory from AC_CONFIG_MACRO_DIRS. * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIRS directories): New test to ensure multiple directory arguments mork correctly. * libtoolize.in (func_require_ac_macro_dir): Use expr to discard any additional space delimited entries in the first AC_CONFIG_MACRO_DIRS argument. * bootstrap (func_require_macro_dir): Likewise. libtoolize: migrate to new AC_CONFIG_MACRO_DIRS api. * libtoolize.in (func_install_pkgmacro_files): Uee AC_CONFIG_MACRO_DIRS. (func_check_macros): Advise using AC_CONFIG_MACRO_DIRS. (require_ac_macro_dir): Give priority to AC_CONFIG_MACRO_DIRS. (require_macro_dir): Likewise. * bootstrap: Give priority to AC_CONFIG_MACRO_DIRS. * configure.ac: Define dummy AC_CONFIG_MACRO_DIRS for older Autotools, that is allow bootstrap with current release versions. Use AC_CONFIG_MACRO_DIRS instead of AC_CONFIG_MACRO_DIR. * tests/testsuite.at: Source build-aux/extract-trace for access to func_extract_trace. (LT_AT_ACLOCAL): Use it to get the AC_CONFIG_MACRO_DIRS argument to pass manually to aclocal for compatibility with old Automake. Add a fallback AC_CONFIG_MACRO_DIRS definition to acinclude.m4 in the test directory. (LT_AT_AUTORECONF): Likewise. * tests/cdemo.at, tests/configure-iface.at, tests/darwin.at, tests/demo.at, tests/depdemo.at, tests/early-libtool.at, tests/libtoolize.at, tests/mdemo.at, tests/no-executables.at, tests/nonrecursive.at, tests/old-ltdl-iface.at, tests/recursive.at, tests/subproject.at, tests/tagdemo.at, tests/template.at: Likewise. * doc/libtool.texi: Update. * NEWS: Update. 2012-10-19 Peter Rosin libtool: parse "dumpbin -headers" to get symbols exported from implibs * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Extract symbols imported from DLLs by import libraries in the Microsoft dumpbin wrapper. (LT_PATH_NM): Add -headers option if dumpbin is the located name lister to feed the above new code. * NEWS: Update. libtool: make func_win32_libid work when the name lister is MS dumpbin * m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [MSVC]: Use func_win32_libid as file_magic_cmd when the name lister is MS dumpbin. (_LT_CMD_GLOBAL_SYMBOLS): Export the new veriable nm_interface to the libtool script. * build-aux/ltmain.in (func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): Move up to before... (func_win32_libid): ...which now uses them to determine if the object is an import library when the nm_interface is "MS dumpbin". * NEWS: Update. 2012-10-19 Gary V. Vaughan bootstrap: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous versions of bootstrap concatenated all the arguments to multiple invocations of AC_CONFIG_MACRO_DIR when extracting the macro_dir directory name. This change enforces correct and consistent behaviour. * libtoolize.in (func_require_macro_dir): Use the new func_extract_trace_first function to make sure the first argument is always used. (func_require_aux_dir, func_require_gnulib_mk) (func_require_source_base): Future proof these functions against multiple invocations or additional arguments to the macros they trace. bootstrap: extract *first* ACLOCAL_AMFLAGS -I argument. * bootstrap (func_require_macro_dir): .* is greedy, so _G_sed_scan as it was will always return the last -I argument, which is wrong. Move to a shell loop to ensure we always get the first -I argument if any. (code from libtoolize.in). bootstrap: use short gnu.org urls consistently. * bootstrap.conf (buildreq): Use gnu.org/s/ style urls to match the ones added automatically by the main bootstrap script. libtoolize: fix a misspelled variable name. * libtoolize.in (func_require_am_macro_dir): The loop uses _G_arg not _G_opt. Now spelled correctly. tests: always extract only the first AC_CONFIG_MACRO_DIR arg. Previous releases of libtoolize used the final invocation when there were several, and after the rewrite over extract-trace, all the invocation directories were concatenated. This change enforces correct and consistent behaviour. * tests/libtoolize.at (multiple AC_CONFIG_MACRO_DIR invocation): New test. * build-aux/extract-trace (func_extract_trace_first): New function for clients that source this file, which returns only the first argument to the first invocation of the named macros. * libtoolize.in (func_require_ac_macro_dir): Use it to make sure the first argument is always used. (func_require_ac_aux_dir, func_require_ac_ltdl_dir) (func_require_ac_ltdl_options): Future proof these functions against multiple invocations or additional arguments to the macros they trace. * News (Important incompatible changes): Note change in semantics. Reported by Eric Blake. tests: always extract only the first ACLOCAL_AMFLAGS include arg. * tests/libtoolize.at (libtoolize ACLOCAL_AMFLAGS extraction): New test. * libtoolize.in (func_check_macros): Display the correct advice when ACLOCAL_AMFLAGS specifies a macrodir, but AC_CONFIG_MACRO_DIR does not. doc: add a missing period following @xref. * doc/libtool.texi: Silence a warning by adding back a missing period. 2012-10-19 Peter Rosin libtool: avoid non-underscore symbols in the "dumpbin -symbols" wrapper If an object has a symbol lacking an expected leading underscore, the symbol name is not printed, but the symbol type is, leading to output such as: T _normal _normal T T _another _another when the expected output would have been something like: T _normal _normal T no_underscore no_underscore T _another _another However, symbols lacking an expected leading underscore are not "real" symbols, they are internal symbols which we don't care about, therefore drop them instead. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [MSVC]: Output the whole symbol line in one go. * NEWS: Update. 2012-10-18 Peter Rosin libtool: unbreak Windows path quoting The lt_sed_naive_backslashify variable lost its lt_ prefix when m4sh was dropped. But not everywhere. * build-aux/ltmain.in (func_convert_core_file_wine_to_w32) (func_convert_core_msys_to_w32): Drop the lt_ prefix from the lt_sed_naive_backslashify variable. libtool: kill leftover m4 quoting * build-aux/ltmain.in (func_mode_compile): Use literal ] and [. 2012-10-18 Gary V. Vaughan syntax-check: exclude false positive nested quote test. * build-aux/funclib.sh (func_echo_infix_1): These quotes are not actually nested, so add an exclude marker for the syntax-check. libtool: don't set auxscriptsdir at bootstrap time. * build-aux/ltmain.in: Declare relative paths to aux scripts from source commands, for early inlining during bootstrap. * Makefile.am (bootstrap_edit): Move auxscriptsdir substitution from here.... (configure_edit): ...to here. ($(ltmain_sh)): Feed ltmain.in through inline-source as ltmain.sh is generated to remove relative paths to aux scripts. (install-data-local): Simplify. No need for special treatment for ltmain.sh during installation, since aux scripts have already been inlined. Reported by Peter Rosin. extract-trace: only source funclib.sh when $progname is extract-trace. * build-aux/extract-trace: $usage is too generic, and can cause sourced extract-trace to re-source options-parser. We already require that funclib.sh be sourced before sourcing options-parser, so it's safer to check that $progname is correct before sourcing options-parser again from here. 2012-10-18 Peter Rosin libtool: fix spelling nit * build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit. * libltdl/libltdl/lt_system.h: Likewise. * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise. 2012-10-12 Gary V. Vaughan maint: remove m4sh support. Now that the code base has coalesced around a single option parser, there's no need for the unused getopt.m4sh and support. * build-aux/getopt.m4sh, build-aux/general.m4sh, tests/getopt-m4sh.at: Remove. * Makefile.am (m4sh_dir, LT_M4SH, general_m4sh, getopt_m4sh) (sh_files): Remove. (TESTSUITE_AT): Remove tests/getopt-m4sh.at. (TESTS_ENVIRONMENT): Remove M4SH. * bootstrap.conf (libtool_build_prerequisites): Remove M4SH. * configure.ac (M4SH): Remove. * HACKING (Editing `.m4sh' Files): Remove and renumber following sections. libtool: rewritten over funclib.sh instead of general.m4sh. * Makefile.am (ltmain_m4sh, ltmain_sh_edit): Remove. (ltmain_in): Path to ltmain.in. (ltmain_sh): Generate ltmain.sh from ltmain.in using $(bootstrap_edit). * build-aux/ltmain.m4sh: Remove. * build-aux/ltmain.in: Rewritten as a client of funclib.sh. libtoolize: inline sourced helper scripts during install. * build-aux/inline-source: New file. * Makefile.am (inline_source): Path to inline-source script. (EXTRA_DIST): Distribute inline-source too. (helper_scripts): Remove. (install-data-local): Inline sourced helper scripts during installation. Don't install helper_scripts. (uninstall-hook): Don't uninstall helper_scripts. libtoolize: rewritten over funclib.sh instead of general.m4sh. * Makefile.am (libtoolize_m4sh): Remove. (EXTRA_DIST): Delete libtoolize_m4sh. (libtoolize_in): Remove rule. (libtoolize): Apply bootstrap_edit to libtoolize.in too. * configure.ac (AC_CONFIG_SRCDIR): Refer to libtoolize.in. * libtoolize.m4sh: Remove. * libtoolize.in: Rewrite as a client of options-parser and the new funclib.sh, avoiding the m4sh expansion step. * tests/libtoolize.at, tests/old-ltdl-iface.at (experr): adjust to match funclib.sh error output. options-parser: correctly quote shell meta-characters in arguments. When any argument contains a shell meta-character, it needs to be quoted when passed around. We already pass parameter lists as space delimited strings of arguments, and pass the string through eval to turn it back into a list before re-assigning using `set'. To prevent the shell from interpreting any meta-characters during an `eval set dummy $argumentlist', they must be quoted again inside the quoted argument list. * build-aux/funclib.sh (func_quote_for_eval): Be careful to keep a separate tally of quoted and unquoted argument lists, to conform to the API of the single argument func_quote_for_eval implementation in build-aux/general.m4sh. * bulid-aux/options-parser (func_run_hooks): To account for the doubly quoted meta-character argument lists, we must eval the parameter reassignment `set' call separately from evaluating the dynamically named hook results variable. maint: factor common shell code into build-aux/funclib.sh. Moving potentially reusable code into a common file that can be sourced by clients, and adjusting for impedance mismatch or necessary renames during integration. * build-aux/funclib.sh: New file. * build-aux/options-parser (Shell normalisation) (User overrideable command paths, Global variables, func_append) (require_term_colors, func_echo, func_echo_infix_1, func_warn) (func_error, func_fatal_error, func_quote_for_eval, func_verbose): Move from here... * build-aux/funclib.sh (Shell normalisation, User overrideable command paths, Global variables, func_append) (require_term_colors, func_echo, func_echo_infix_1) (func_warn_and_continue, func_error, func_fatal_error) (func_quote_for_eval, func_verbose): ...to here. * build-aux/general.m4sh (func_arith, func_basename) (func_dirname, func_dirname_and_basename, func_echo_all) (func_grep, func_len, func_mkdir_p, func_mktempdir) (func_normal_abspath, func_relative_path, func_quote_for_expand) (func_stripname, func_show_eval, func_tr_sh): Move from here... * build-aux/funclib.sh(func_arith, func_basename) (func_dirname, func_dirname_and_basename, func_echo_all) (func_grep, func_len, func_mkdir_p, func_mktempdir) (func_normal_abspath, func_relative_path, func_quote_for_expand) (func_stripname, func_show_eval, func_tr_sh): ...to here. * bootstrap (usage message): Document `-no-warn' option. (func_append_u, func_warning): Move from here... * build-aux/funclib.sh (func_append_uniq, func_warning): ...to here. * bootstrap, build-aux/extract-trace: Source build-aux/funclib.sh before build-aux/options-parser. * build-aux/options-parser (usage, long_help_message): Set default values to match what is parsed by the unmodified parser. * build-aux/extract-trace (usage, long_help_message): Only set from func_main, so that clients sourcing this file can still use the correct defaults from build-aux/options-parser. * bootstrap (bootstrap_options_prep, bootstrap_parse_options): Move warning option parsing from here... * build-aux/option-parser (func_options_prep) (func_parse_options): ...to here, where all clients can benefit. * Makefile.am (funclib_sh): New macro; path to funclib.sh. (EXTRA_DIST): Add $(funclib_sh). libtoolize: source extract-trace rather than fork and execute each call. Rather than forking and executing a full $SHELL for each macro extraction, source the script and its dependencies into our execution space and use the provided func_extract_trace API. * libtoolize.m4sh: Source extract-trace from an appropriate directory determined presently by make. (func_extract_trace): Remove this wrapper. * Makefile.am (abs_aux_dir): Absolute path to extract-trace directory. (configure_edit): Inject abs_aux_dir into uninstalled libtoolize. (bin_SCRIPTS): Remove libtoolize. (uninstall-hook): Manually uninstall libtoolize. (install-data-local): Inject pkgauxdir into installed libtoolize during installation. options-parser: employ fork minimisation. * build-aux/options-parser (_G_HAVE_XSI_OPS): Environment overrideable defaults for bash and zsh, which are known to support XSI extensions. (_G_HAVE_PLUSEQ_OP): Similarly for new enough versions of bash, which are known to have += support. (func_append): Only perform the shell += probe when state of support is unknown. (func_split_equals, func_split_short_opt): Similarly for XSI probe to select fastest working implementation. options-parser: keep non-option arguments separate! * build-aux/options-parser (func_parse_options): When there is more than one non-option argument, "$*" forces all of them into a single string. Use ${1+"$@"} to set arguments correctly. options-parser: prefix usage message with "Usage: ". * build-aux/options-parser (func_usage_message): Prefix usage message with "Usage: ". bootstrap: work when using fallback shallow gnulib clone. Bootstrapping without --gnulib-srcdir creates a shallow gnulib clone to run gnulib-tool out of, except that the parent package is almost certainly using a revision of gnulib before just tha most recent 2 gnulib revisions. * bootstrap (func_require_gnulib_submodule): Pull the most recent 365 revisions, which ought to be enough for a well- maintained parent package. Don't forget to run 'git submodule update' to select the correct gnulib revision. bootstrap: require GNU make to bootstrap. Make is not installed by default in some environments, such as cygwin... which is slow enough already without having to wait for gnulib-tool, bootstrap and half of configure to complete before getting an error. * bootstrap.conf (buildreq): Add recent GNU make to bootstrap requirements. Now missing make is diagnosed in the earliest part of bootstrap. maint: simplify "Local variables:" footer with time-stamp-pattern. * bootstrap, build-aux/extract-trace, build-aux/options-parser (Local variables): Use time-stamp-pattern to set number of searched lines to 10, and to replace time-stamp-start, time-stamp-end and time-stamp-format. 2012-10-08 Peter Rosin tests: skip the with-pic test only if DLL_EXPORT is defined For some systems with PIC as default, the test was inadvertently skipped. Issue introduced in commit 4440d65. * tests/with-pic.at: Skip the test for systems that define DLL_EXPORT. Reported by Roumen Petrov. tests: rerefix line ending problems on MinGW. The previous commit broke Linux->MinGW cross-compiling. * tests/mdemo.at: Normalize line endings after $EGREP. Reported by Roumen Petrov. 2012-10-06 Peter Rosin tests: refix line ending problems on MinGW. In commit 22f5750, one of the hunks actually introduced line ending problems. Revert that hunk. * tests/mdemo.at: Use AT_DATA for expected output when the output from compiled programs is fed through $EGREP. tests: use dry runs in both parts of 'check link mode operation' MSVC exits with status 2 instead of the expected 1 when a real link is attempted. * tests/libtool.at (check link mode operation): Use a dry run and expect a clean exit status instead of expecting a fail. 2012-10-06 Gary V. Vaughan tests: sanitise the libtool quote checking Autotests. Carefully comment the maze of quoting and escaping needed to pass through M4, $SHELL, and grep before regexp matching. * tests/libtool.at (quote shell meta-characters in filenames): Split backslash into a separate test group, because it needs additional escaping. Use grep consistently for the entire test group. Use AT_CHECK rather than LT_AT_CHECK to avoid problems with escaping literal $ correctly with LT_ESCAPE. Use the correct number of backslashes for each sub-group. Escape double-quote literals portably. Reported by Peter Rosin. tests: ensure mdemo.at doesn't rely on installed libltdl. * tests/mdemo.at (configuer.ac): Build an included convenience libltdl. (Makefile.am): Add subdir-objects. Remove override rules from legacy mdemo tests to reuse parent libltdlc.la. (LT_AT_CHECK_CONFIG): Add --with-included-ltdl to configure arguments so that test cases always use the subproject libltdl in preference to any installed libltdl. Reported by Peter Rosin. tests: allow for unstable fortran output ordering. Due to differences in line-endings between C stdout and Fortran stdout, as well as unpredictable output ordering between platforms and runtimes, weaken success criteria to not require the entire output of fortran programs to match a test case. * itests/fcdemo.at, tests/f77demo.at (_LT_CHECK_EXECUTE): Improve comments, and weaken test case to grep for a known line in the f77 runtime output. 2012-10-05 Peter Rosin tests: make LT_AT_HOST_DATA retain whitespace on MinGW Fixes issues with depdemo.at, f77demo.at and fcdemo.at. * tests/testsuite.at (LT_AT_HOST_DATA) [MinGW]: Keep leading and trailing spaces and tabs when converting line endings. tests: fix line ending problems on MinGW * tests/cdemo.at: Use LT_AT_HOST_DATA for expected output from compiled programs. * tests/demo.at: Likewise. * tests/depdemo.at: Likewise. * tests/f77demo.at: Likewise. * tests/fcdemo.at: Likewise. * tests/mdemo.at: Likewise. * tests/tagdemo.at: Likewise. 2012-10-05 Gary V. Vaughan tests: remove last vestiges of the legacy test harness. All legacy tests have been fully migrated to Autotest, so no need to cling to the legacy scaffolding any more. * tests/defs.m4sh: Delete file. * configure.ac (AM_INIT_AUTOMAKE): Remove unused color-tests and parallel-tests options. * Makefile.am (defs_m4sh, defs_in, defs, TESTS): Remove. Adjust all dependencies. tests: migrate legacy tagtrace.test to Autotest. * tests/tagtrace.test: Delete file. * tests/libtool.at (test LT_SUPPORTED_TAG interface): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/tagtrace.test. tests: migrate legacy objectlist.test to Autotest. * tests/objectlist.test: Delete file. * tests/libtool.at (check objectlist file operation): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/objectlist.test. tests: migrate legacy link.test and link-2.test to Autotest. * tests/link.test, tests/link-2.test: Delete files. * tests/libtool.at (Check link operation): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/link.test and tests/link-2.test. tests: migrate legacy nomode.test to Autotest. * tests/nomode.test: Delete file. * test/libtool.at (Check help output, No mode diagnostic): Add equivalent tests in Autotest. * Makefile.am (TESTS): Remove tests/nomode.test. tests: migrate legacy suffix.test to Autotest. * tests/suffix.test: Delete file. * tests/libtool.at (Transform source suffices): Add Autotest equivalent. * Makefile.am (TESTS): Remove tests/suffix.test. tests: migrate legacy quote.test to Autotest. * tests/quote.test: Moved from here... * tests/libtool.at: ...to here, and updated to Autotest. * Makefile.am (TESTS): Remove tests/quote.test. (TESTSUITE_AT): Add tests/libtool.at. 2012-10-04 Gary V. Vaughan maint: add missing 2012 copyright to newly pushed old files. * tests/cdemo.at, tests/demo.at, tests/depdemo.at, tests/f77demo.at, tests/fcdemo.at, tests/mdemo.at, tests/tagdemo.at (Copyright): Update with missing 2012. syntax-check: remove test/demo directories from exemption regexps. * cfg.mk (exclude_file_name_regex--sc_bindtextdomain) (exclude_file_name_regexp--sc_program_name): Remove. The excluded directories no longer exist. (exclude_file_name_regexp--sc_prohibit_strcmp): Remove subexpression for matching removed demo directories. configure: remove unused conditionals and support for order only rules. Clean up some more unused cruft. * configure.ac (HAVE_CXX, HAVE_F77, HAVE_FC, HAVE_GCJ, HAVE_RC): Remove. These were only used by the recently removed legacy tests. [order-only prerequisites]: Ditto. bootstrap: remove support for `-r' and `reconf_dirs'. With all those extra demo directories out of the way, we can revert to a more canonical bootstrap process, and jettison the cruft that was only there to work around the pain of needing to autoreconf 11 directories. Bootstrap is now an order of magnitude faster. * bootstrap.conf (require_ltdl_dir): New function. Factored out of `libtool_build_prerequisites'. (libtool_build_prerequisites): Adjust. (func_reconfigure): Use `require_ltdl_dir' to determine the name of the other directory we need to autoreconf during bootstrap. (libtool_options_prep, libtool_parse_options) (libtool_validate_options): Remove. tests: let pic_flag and with-pic Autotests work on non-VPATH builds. * tests/pic_flag.at: Use _LT_DEMO_SETUP to generate a demo style project, rather than relying on $abs_top_srcdir/configure. * tests/with-pic.at: Likewise. * Makefile.am (TESTSUITE_AT): Move tests/pic_flag.at and tests/with-pic.at so that they run immediately following tests/demo.at. tests: migrate legacy tests/fcdemo tests to Autotest. Along with the demise of the last demo directory, so all the cruft for re-autotooling and distributing the additional directories is no longer necessary. * tests/fcdemo.at: New autotest groups, based on... * tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-shared.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/fcdemo-static.test: ...these legacy tests, now removed. * tests/fcdemo/Makefile.am, tests/fcdemo/README, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: Remove. * configure.ac (CONF_SUBDIRS, DIST_MAKEFILE_LIST): Remove. * Makefile.am (DIST_SUBDIRS, FC_TESTS, clean-local-legacy) (configure-subdirs, distclean-recursive, distdir) (fake-distclean-legacy, $(DIST_MAKEFILE_LIST)): Remove. (COMMON_TESTS): Rename from this... (TESTS): ...to this. tests: migrate legacy tests/f77demo tests to Autotest. * tests/f77demo.at: New autotest groups, based on... * tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-shared.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/f77demo-static.test: ...these legacy tests, now removed. * tests/f77demo/Makefile.am, tests/f77demo/README, tests/f77demo/configure.ac, tests/f77demo/cprogram.c, tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/foof.f, tests/f77demo/foof2.f, tests/f77demo/foof3.f, tests/f77demo/fprogram.f: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/f77demo. tests: migrate legacy tests/mdemo2 tests to Autotest. This test was just a small non-ltdl aware library to load a library from the legacy mdemo test, which in turn used ltdl to call functions from modules. No need to create a whole other test group with copies of everything from mdemo setup - just tack the additional test on the end of the mdemo group. * tests/mdemo.at (link with library that loads ltdl modules): New test, based on... * tests/mdemo2-conf.test, tests/mdemo-exec.test, tests/mdemo-make.test: ...these legacy tests, now removed. * tests/mdemo2/Makefile.am, tests/mdemo2/README, tests/mdemo2/configure.ac, tests/mdemo2/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/mdemo2. * Makefile.am: Adjust. tests: migrate legacy tests/mdemo tests to Autotest. * tests/mdemo.at: New autotest groups, based on... * tests/mdemo-conf.test, tests/mdemo-dryrun.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/mdemo-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-shared.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/mdemo-static.test, tests/mdemo-unst.test: ...these legacy tests, now removed. * tests/mdemo/Makefile.am, tests/mdemo/README, tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/mdemo/sub.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/mdemo. * Makefile.am: Adjust. tests: migrate legacy tests/pdemo tests to Autotest. This test was a thinly veiled copy of the basic legacy demo-conf.test series, with the addition of long file names that are not unique in the first 17 characters of their name, mashed up with the cmdline_wrap.at max_cmd_len limits. Migrating to Autotest means that this test will be automatically rerun with max_cmd_len=24 as cmdline_wrap.at recurses through the whole testsuite, so the migrated pdemo test is now simply another test case in demo.at with longer file names. * test/demo.at (linking with long file names): New test, based on... * tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test: ...these legacy tests, now removed. * tests/pdemo/Makefile.am, tests/pdemo/configure.ac, tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c, tests/pdemo/longer_file_name_hell1.c, tests/pdemo/longer_file_name_hell2.c, tests/pdemo/longer_file_name_hello.c, tests/pdemo/longer_file_name_main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/pdemo. * Makefile.am: Adjust. tests: migrate legacy tests/tagdemo tests to Autotest. * tests/tagdemo.at: New autotest groups, based on... tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-shared.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-static.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test, tests/tagdemo-undef.test: ...these legacy tests, now removed. * tests/tagdemo/.gitignore, tests/tagdemo/Makefile.am, tests/tagdemo/README, tests/tagdemo/baz.cpp, tests/tagdemo/baz.h, tests/tagdemo/configure.ac, tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, tests/tagdemo/main.cpp: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/tagdemo. * Makefile.am: Adjust. tests: migrate legacy tests/depdemo tests to Autotest. * tests/depdemo.at: New autotest groups, based on... * tests/depdemo-conf.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/depdemo-make.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-nofast.test, tests/depdemo-relink.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-shared.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/depdemo-static.test, tests/depdemo-unst.test: ...these legacy test cases, now removed. * tests/depdemo/Makefile.am, tests/depdemo/README, tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, tests/depdemo/l4/l4.h, tests/depdemo/main.c, tests/depdemo/sysdep.h: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/depdemo. * Makefile.am: Adjust. tests: migrate legacy tests/demo tests to Autotest. * tests/demo.at: New autotest groups, based on... * 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-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nofast.test, tests/demo-noinst-link.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-nopic.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-pic.test, tests/demo-relink.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-shared.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/demo-static.test, tests/demo-unst.test: ...these legacy test cases, now removed. * tests/demo/Makefile.am, tests/demo/README, tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, tests/demo/hello.c, tests/demo/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/demo. * Makefile.am: Adjust. tests: migrate legacy tests/cdemo tests to Autotest. * tests/cdemo.at: New Autotest groups, based on... * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-shared.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-static.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/cdemo-undef.test: ...these legacy test cases, now removed. tests/cdemo/Makefile.am, tests/cdemo/README, tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c: Remove. * configure.ac (CONF_SUBDIRS): Remove tests/cdemo. * Makefile.am: Adjust. maint: distribute a single ChangeLog file. * ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, ChangeLog.2010: Remove. Content moved from here... * ChangeLog.old: ...to here. * Makefile.am (EXTRA_DIST): Update list of ChangeLog files. (changelog_old): New variable to hold path to ChangeLog.old file. ($(changelog)): Update to concatenate non-distributed ChangeLog.old file to distributed ChangeLog after git log entries. syntax-check: fix violations and implement sc_prohibit_space_semicolon. No need for a spurious space before a command ending semi-colon. * cfg.mk (sc_prohibit_space_semicolon): New test to catch accidental reintroduction of spurious spaces removed by this changeset. * bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh, libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at: Remove spurious spaces. 2012-10-03 Gary V. Vaughan Merge branch 'gary/reredo-test-operand-order' The original manually applied changeset 962aa91 contained several errors (some corrected by subsequent patches on master, others not) and many unrelated (although in this case, correct) changes were also committed in the same changeset. The merged branch gary/reredo-test-operand-order factors the unrelated changes out into separate commits, and performs the work that should have been in 962aa91 with a script, the results of which were then painstakingly inspected for errors. This merge moves the corrections for errors made in the original manual patch from the branch onto master. Please inspect the many separate changesets on the branch rather than the original patch when you bisect or otherwise find your way to an error caused by 962aa91. 2012-10-02 Gary V. Vaughan tests: simplify some shell code. * tests/fail.at: Simplify. * tests/static.at: Likewise. libtool: unroll complex nested compound statements * build-aux/ltmain.m4sh: Use an if statement instead of ugified compound statements. libtool: unroll nested if into a single case statement. * build-aux/ltmain.m4sh (func_mode_link): Unroll a hard to understad nested if statement into a more readable single case statement. libtool: simplify $skipped_export blocks * build-aux/ltmain.m4sh (func_mode_link): Save an if statement with '$skipped_export && { block; }' instead of 'if $skipped_export; then block; fi'. libtool: simplify an if statement * build-aux/ltmain.m4sh (func_mode_link): Reverse the branch order for an if statement for readability. * m4/libtool.m4: Likewise. libtool: save an if statement, with a compound statement. * build-aux/ltmain.m4sh (func_mode_link): Simplify. libtool: simplify multiple string tests * build-aux/ltmain.m4sh (func_mode_link): Save test invocations by using 'test x,y = "$a,$b"' instead of 'test x = "$a" && test y = "$b"'. * m4/libtool.m4: Likewise. libtool: fold if into a compound OR statement when more readable * build-aux/ltmain.m4sh (func_mode_link): For readability, use 'test string = "$var" || { stuff; }' in preference to 'if test string != "$var"; then stuff; fi'. libtool: use false or : for $rmforce, and simplify * build-aux/ltmain.m4sh (func_mode_uninstall): Save a string comparison by setting $rmforce to false or : and using it directly as the first argument to if. libtool: use false or : for $wrappers_required, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $wrappers_required to false or : and using it directly with a ored block rather than an if statement. libtool: use false or : for $linkalldeplibs, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $linkalldeplibs to false or : and using it directly as the first argument to if. libtool: use false or : for $valid_a_lib, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $valid_a_lib to false or : and using it directly as the first argument to if. libtool: use false or : for $found, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $found to false or : and using it directly as the first argument to if. libtool: use false or : for $alldeplibs, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $alldeplibs to false or : and using it directly as the first argument to if. libtool: use false or : for $preload, and simplify * build-aux/ltmain.m4sh (func_mode_link): Save a string comparison by setting $preload to false or : and using it directly instead of if statements. libtool: use false or : for $my_pic_p, and simplify * build-aux/ltmain.m4sh (func_generate_dlsyms): Save a string comparison by setting $my_pic_p to false or : and using it directly instead of calling if. Adjust all callers. libtool: use false or : for $finalize, and simplify * build-aux/ltmain.m4sh (func_mode_install): Save a string comparison by setting $finalize to false or : and using it directly as the first argument to if. libtool: use false or : for $isdir, and simplify * build-aux/ltmain.m4sh (func_mode_install): Save a string comparison by setting $isdir to false or : and using it directly as the first argument to if. syntax-check: [REDO] fix violations and implement sc_prohibit_test_const_follows_var. To safely use a non-literal fist argument to 'test', you must always prepend a literal non-'-' character, but often the second operand is a constant that doesn't begin with a '-' already, so always use 'test a = "$b"' instead of the noisy 'test "X$b" = Xa'. * cf.mk (sc_prohibit_test_const_follws_var): New syntax-check rule to ensure we don't reintroduce noisy test operands. bootstrap, build-aux/extract-trace, build-aux/general.m4sh, build-aux/ltmain.m4sh, configure.ac, doc/libtool.texi, libtoolize.m4sh, m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/defs.m4sh, tests/demo-relink.test, tests/demo/configure.ac, tests/depdemo-relink.test, tests/destdir.at, tests/duplicate_conv.at, tests/fail.at, tests/getopt-m4sh.at, tests/help.at, tests/libtoolize.at, tests/link-2.test, tests/link-order2.at, tests/lt_dlopenext.at, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/need_lib_prefix.at, tests/nocase.at, tests/pdemo/configure.ac, tests/pic_flag.at, tests/search-path.at, tests/shlibpath.at, tests/static.at, tests/sysroot.at, tests/tagtrace.test, tests/testsuite.at, tests/with-pic.at: Swap operands to avoid useless noise. 2012-09-19 Peter Rosin tests: skip with-pic test when no "real" pic flag is used. * tests/with-pic.at: Windows uses "-DDLL_EXPORT -DPIC" as the pic "flag", but never applies it to static libraries. Cater for this and skip if no "real" pic flag is in use. 2012-09-16 Gary V. Vaughan syntax-check: fix texinfo formatting flagged by prohibit_undesirable_word_seq. * doc/libtool.text: Fix several misuses of @xref and @pxref so that the prohibit_undesirable_word_seq syntax check passes again. syntax-check: remove useless_braces_in_variable_derefs. * build-aux/general.m4sh: Remove spurious braces around ${ZSH_VERSION} dereference. * build-aux/ltmain.m4sh (func_mode_link): Likewise for ${wl}. syntax-check: skip prohibit_strncpy. * cfg.mk (local-checks-to-skip): sc_prohibit_strncpy. syntax-check: skip prohibit_always_true_header_tests rule. * cfg.mk (local-checks-to-skip): Add sc_prohibit_always_true_header_tests. maint: Revert "bootstrap: delete unneeded README-release patch" This reverts commit 11cd425e7d47111956381dba28f8c1b34e14653f. These instructions are hard to find for new maintainers, so it's good to keep them to hand with the release notes. And the additional distchecks are important prior to a release. maint: remove unused cvsu script. * build-aux/cvsu: Remove. This script is not useful now that Libtool's repository is hosted in git. * Makefile.am (build_scripts): Remove cvsu reference. maint: run update-copyright for missing 2011 and 2012 years. See maintain.texi (Copyright Notices) for rules for maintaining the years in copyright notices. * All Files (Copyright): Updated with missing 2011 and 2012. bootstrap: use gnulib update-copyright script. See maintain.texi (Copyright Notices) for rules for maintaining the years in copyright notices. * bootstrap.conf (gnulib_modules): Add update-copyright. * cfg.mk (update-copyright-env): Set environment variables for update-copyright script. bootstrap: update bootstrap script to latest upstream. * bootstrap, build-aux/options-parser: apply upstream fixes and enhancements. git: don't complain about new parallel tests driver and file droppings. * build-aux/.gitignore: Ignore parallel `test-driver' script. * tests/.gitignore: Ignore `test-driver' .trs file droppings. gnulib: update local gnulib patches. * gl/build-aux/announce-gen.diff: Remove hunks adopted upstream. * gl/build-aux/do-release-commit-and-tag.diff: Refresh this patch to match current gnulib. gnulib: update gnulib submodule. bootstrap: ensure there is a ChangeLog before running automake. Automake refuses to run in GNU-mode unless there is a ChangeLog file in the top-level directory. * bootstrap.conf (libtool_force_changelog): Create a dummy ChangeLog. libtoolize: improve verbose mode output. * libtoolize (func_require_seen_ltdl) (func_require_seen_libtool): Output success message in verbose mode. 2012-08-22 Peter O'Gorman libtool: Add the 'n' to then. * m4/libtool.m4: fix typo. Reported by Brad Smith. 2012-08-22 Andreas Schwab libtool: Pass through -g* so that debugging information is not dropped * ltmain.m4sh (func_mode_link): Pass through -g*. 2012-08-22 David Edelsohn libtool: AIX PIC shared library support * m4/libtool.m4 (_LT_COMPILER_PIC): Add -fPIC to GCC and GXX for AIX. 2012-08-22 Brad Smith libtool: Update/simplify OpenBSD support * m4/libtool.m4: Forget about 11 year old releases. 2012-08-19 Peter Rosin libtool: quote progpath properly Attempt to handle spaces in paths better. * build-aux/ltmain.m4sh (func_mode_install, func_mode_link): Quote $progpath. * THANKS: Update. 2012-04-19 Mike Frysinger libtool: Handle getconf returning "undefined". * m4/libtool.m4: Check for "undefined" from `getconf`. 2012-03-17 Peter Rosin bootstrap: delete unneeded README-release patch * gl/top/README-release.diff: Delete. 2012-03-16 Peter O'Gorman libtool: Fix typo that caused sys_lib_search_path_spec to be wrong. * m4/libtool.m4: s/lt_fooi/lt_foo/. Reported by Paul Seidler. 2012-02-21 Samuel Thibault libtool: Improve GNU/Hurd support. * m4/libtool.m4: Add gnu* match where it was missing. 2012-02-19 Titus von Boxberg libtool: Accept clang's -stdlib linker flag. build-aux/ltmain.m4sh: Don't drop the -stdlib= flag. 2012-02-19 Juergen Reuter libtool: Enable nagfor fortran compiler support * build-aux/ltmain.m4sh: nagfor compatible version string. * m4/libtool.m4: nagfor support. 2012-02-19 Juergen Reuter libtool: Fixing -shared error message for nagfor compiler. * m4/libtool.m4: Fix -shared. 2012-02-19 Pavel (Pasha) Shamis ltdl: Improve debug error reporting in ltdl. * libltdl/ltdl.c: Print the error message if loading fails. 2012-02-19 Peter O'Gorman maint: Deleted unneeded gitlog-to-changelog patch * gl/build-aux/gitlog-to-changelog.diff: Delete. 2012-02-02 Roumen Petrov (tiny change) fixup: restore EXPORTS test Commit v2.4.2-120-g962aa91 syntax-check: fix violations and implement sc_prohibit_test_const_follows_var inadvertedly reversed the meaning of the comparison. * build-aux/ltmain.m4sh (func_mode_link) [cygwin|mingw|cegcc]: Restore the EXPORTS test. We need to look at the symbols when it's _not_ already a .def file (in which case we trust the user input blindly). 2012-01-30 Peter Rosin cwrapper: avoid surplus strlen calculations. * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src:lt_update_exe_path): Avoid surplus strlen calculations. 2011-12-24 Gary V. Vaughan bootstrap: fix Autoconf version typo. * build-aux/options-parser: s/2\.62/2.68/ gnulib: update gnulib submodule. Among others, this fixes the reference to a local commit. * gnulib: Updated to todays master HEAD revision. * gl/top/README-release.diff: Update to account for changes to gnulib/top/README-release since the last gnulib update. 2011-12-18 Gary V. Vaughan libtool: make fork minimisation compatible with dash and zsh. * build-aub/general.m4sh (lt_HAVE_PLUSEQ_OP): Instead of using $((..)) arithmetic, which causes an error on dash, use a case based bash version check. (lt_HAVE_ARITH_OP, lt_HAVE_XSI_OPS): Also short circuit the feature probing forks and set these automatically when zsh is detected. Reported by Stefano Lattarini. bootstrap: adopt autoconf echo normalization code. Dash shipped with Ubutu-11.10 as /bin/sh, among others, still has a crippled echo builtin that mis-handles backslashes. * build-aux/options-parser (bs_echo): Adopt the autoconf echo normalization code to find a suitable replacement for buggy echo commands. Adjust all uses of echo to $bs_echo. * build-aux/extract-trace (func_extract_trace, func_main): Likewise. * bootstrap: To retain some execution speed on platforms with buggy builtin echo, replace most occurrences of `echo' with `$bs_echo' - except where its arguments will obviously never contain backslashes or be overly long. Reported by Reuben Thomas. libtool: minimise forks per invocation under bash. * build-aux/general.m4sh (lt_HAVE_PLUSEQ_OP, lt_HAVE_ARITH_OP) (lt_HAVE_XSI_OPS): Set these without forking a test script when running under bash, to avoid a few unnecessary forks. 2011-12-13 H.J. Lu libtool: Support x32. * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32. 2011-12-08 Gary V. Vaughan maint: disable prohibit_always-defined_macros syntax check. Aside from Apple grep silently failing to run this test and report violations, libtool still uses non-gnulib versions of dirent.h and argz.h which use the same macros, but are not always-defined. * cfg.mk (local-checks-to-fix): Move sc_prohibit_always-defined_macros from here... (local-checks-to-skip): ...to here. Reported by Peter O'Gorman. tests: s/snippit/snippet/. * tests/demo/foo.h, tests/pdemo/foo.h: Spell `snippet' correctly. Reported by Stefano Lattarini. tests: make sure file restore traps are called correctly on AIX. * tests/demo-noinst-link.test (func_save_files): set the restore trap outside a function, otherwise AIX 5.3 /bin/sh will run the trap at the end of the function, instead of when the script exits. * tests/demo-relink.test (func_save_files): Ditto. * tests/depdemo-relink.test (func_save_files): Ditto. Reported by Stefano Lattarini. maint: eliminate some more spurious leading Xs. * m4/libtool.m4: Reverse argument order to eliminate spurious leading X's. bootstrap: put back missing spaces before parens. * bootstrap (func_require_buildreq_autobuild) (func_require_buildreq_automake): Vi's delete word command is too greedy and also eats trailing whitespace before following non-word-chars. Put back the spaces it ate so that syntax-checks pass once again. libtoolize: refactor copying filter creation. Prevent the various require_filter functions from becoming too long by factoring common code into new functions. * libtoolize (func_make_relative_dir_filter) (func_make_relative_ltdl_filter): New functions. Generalize and consolidate the various similar snippets for concatenating together the sed scripts for func_copy filtering. (require_filter_Makefile_am, require_filter_aclocal_m4) (require_filter_configure_ac): Simplify. (require_ltdl_relative_aux_dir): Remove. (require_ltdl_relative_macro_dir): Ditto. maint: pick XSI funcs at runtime, not configure time. Determine, on a function by function basis, what XSI features are available in the shell that is actually running the script, rather than the one that was picked at configure time by the re-execution engine. * m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE) (_LT_PROG_REPLACE_SHELLFNS): Remove. (_LT_CHECK_SHELL_FEATURES): Remove tests for XSI and += support. * build-aux/general.m4sh (func_append, func_append_quoted) (func_arith, func_len, func_basename, func_dirname) (func_dirname_and_basename, func_stripname): List both enhanced and fallback implementations, and choose one based on whether the enhanced features required by the fastest version are available. * build-aux/getopt.m4sh (func_split_short_opt) (func_split_long_opt): Ditto. * build-aux/ltmain.m4sh (func_lo2o, func_xform): Ditto. * tests/getopt-m4sh.at: Add tests for enhanced and fallback implementations of func_arith, func_len, func_stripname and func_dirname_and_basename. * NEWS: Updated. maint: share useful functions from general.m4sh. * build-aux/ltmain.m4sh (func_append, func_append_quoted) (func_arith, func_len): Removed from here... * build-aux/general.m4sh (func_append, func_append_quoted) (func_arith, func_len): ...and added to here. (func_dirname, func_dirname_and_basename, func_normal_abspath) (func_relative_path): Use func_append. * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): Removed. Fallback functions are now in any m4sh generated file automatically. libtoolize: reorder function definitions to keep func_filter_* together. * libtoolize: Restore asciibetical order, so that all the filter function definitions are together. libtoolize: use _filter as a prefix for better ordering. * libtoolize.m4sh (require_Makefile_am_filter) (require_ltdl_mk_filter, require_aclocal_m4_filter) (require_configure_ac_filter): Rename these functions from this... (require_filter_Makefile_am, require_filter_ltdl_mk) (require_filter_aclocal_m4, require_filter_configure_ac): ...to this, respectively. Adjust all callers. (Makefile_am_filter, ltdl_mk_filter, aclocal_m4_filter) (configure_ac_filter): Rename these global variables from this... (filter_Makefile_am, filter_ltdl_mk, filter_aclocal_m4) (filter_configure_ac): ...to this, respectively. libtoolize: rename ltdl.mk filter function. * libtoolize.m4sh (require_Makefile_inc_filter): Rename from this... (require_ltdl_mk_filter): ...to this. Adjust all callers. bootstrap: escape quotes properly in generated functions. * bootstrap: Although not a real bug, for consistency, be sure to correctly escape single quotes inside a single quoted function generator. bootstrap: reorder function definitions to keep func_buildreq_* together. * bootstrap: Restore asciibetical order, so that all the buildreq function definitions are together. bootstrap: use _buildreq as a prefix for better ordering. * bootstrap (require_autobuild_buildreq) (require_autoconf_buildreq, require_automake_buildreq) (require_autopoint_buildreq, require_libtoolize_buildreq) (require_patch_buildreq): Rename from these... (require_buildreq_autobuild, require_buildreq_autoconf) (require_buildreq_automake, require_buildreq_autopoint) (require_buildreq_libtoolize, require_buildreq_patch): ...to these, respectively. Adjust all callers. bootstrap: ensure consistent function header comments. * bootstrap (require_bootstrap_uptodate) (require_buildtools_uptodate): Use `require_...' in header comment for these functions to be consistent with the rest, rather than `func_require_...'. bootstrap: make sure patch is available to bootstrap if necessary. Make sure we're not lacking any functionality provided by the incumbent gnulib bootstrap script, and where it's easy to do so (like it is here), provide better functionality! * bootstrap (require_patch): Make sure that PATCH expands to the best `patch' command available on the system, honouring overrides in the users environment. (require_patch_buildreq): Automatically add a requirement for a patch command to buildreq when there are diff files in $local_gl_dir. (func_require_buildtools_uptodate): Call require_patch_buildreq before testing build tool versions. (func_gnulib_tool_copy_file): Make sure PATCH is set before using gnulib-tool to copy files. 2011-11-26 Gary V. Vaughan m4: fix logic error leading to -fno-rtti being added wrongly. * m4/libtool.m4 (_LT_COMPILER_OPTION): Negate comparison so that compiler flags are added correctly. maint: Fix generated ChangeLog typos. * build-aux/git-log-fix: Spell Stefano Lattarini's name correctly. Don't use my home email address for GNU commits. 2011-11-25 Gary V. Vaughan syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs. Until now, libtool sources have used braced variable names seemingly at random! Almost always the braces are just noise, so remove all the unnecessary ones. * cfg.mk (sc_useless_braces_in_variable_derefs): New syntax check rule to ensure we only reintroduce braced variable dereferences if they are followed by a valid variable name character. build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test, tests/depdemo/configure.ac, tests/flags.at, tests/link.test, tests/objectlist.test, tests/quote.test, tests/static.at: Remove spurious braces. syntax-check: fix violations and implement sc_prohibit_sed_s_comma. I like to name temporary directories that I will remove shortly with two leading commas so that they sort lexicographically at the top of `ls' output. Now, `./configure --prefix=`pwd`/,,inst' works again, for the first time in several years. * cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a character to use routinely as the separator for sed substitutions on file paths and other variables determined by the user, causing bugs like the one I describe above. Make sure we don't accidentally reintroduce any comma separators in future. * Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test, tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh, tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at, tests/mdemo/Makefile.am, tests/need_lib_prefix.at, tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at: Try to use `|' as the default separator wherever possible, otherwise something else that doesn't occur in the substitution expression. * NEWS: Updated. syntax-check: fix violations and implement sc_prohibit_bare_basename. * cfg.mk (sc_prohibit_bare_basename, sc_prohibit_basename_with_sed): Make sure not to go back to using occasional `|$basename' or `|$dirname' syntax. * build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, * build-aux/options-parser, tests/fcdemo-conf.test, * tests/fcdemo-shared.test, tests/fcdemo-static.test, * tests/libtoolize.at: Fix violations. tests: migrate tests/sh.test checks to syntax-checks. Some modernization of the legacy testsuite. * tests/sh.test: Remove. * Makefile.am (COMMON_TESTS): Adjust. * cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test) (sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift) (sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators) (sc_prohibit_test_dollar, sc_prohibit_test_minus_e) (sc_prohibit_test_unary_operators, sc_prohibit_test_X) (sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace): Functionally identical tests to what used to be performed by sh.test, only with coverage of all files. * bootstrap, build-aux/edit-readme-alpha, build-aux/extract-trace, build-aux/getopt.m4sh, build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at, tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, tests/dlloader-api.at, tests/exceptions.at, tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test, tests/link-order2.at, tests/loadlibrary.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at, tests/lt_dlopenext.at, tests/need_lib_prefix.at, tests/nonrecursive.at, tests/recursive.at, tests/resident.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/sysroot.at, tests/tagtrace.test, tests/testsuite.at: Fix violations of the new syntax checks. syntax-check: fix violations and implement sc_useless_quotes_in_assignment. Contrary to popular belief, Bourne shell does not resplit RHS of assignments after expansion, so if there are no unquoted shell metacharacters or whitespace, the quotes are useless. * cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's _sc_search_regexp that also allows individual exclusions at the site of what would otherwise match by adding a comment. (sc_useless_quotes_in_assignment): New syntax-check rule to ensure we don't reintroduce useless quoted assignments. * bootstrap, bootstrap.conf, build-aux/edit-readme-alpha, build-aux/general.m4sh, build-aux/getopt.m4sh, build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac, doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4, m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh, tests/lalib-syntax.at, tests/libtoolize.at, tests/lt_dlopenext.at, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/need_lib_prefix.at, tests/no-executables.at, tests/quote.test, tests/suffix.test: Remove spurious quotes. syntax-check: fix violations and implement sc_useless_quotes_in_case. Contrary to popular belief, Bourne shell does not resplit case expressions after expansion, so if there are no unquoted shell metacharacters or whitespace, the quotes are useless. * cfg.mk (sc_useless_quotes_in_case): New syntax-check rule to ensure we don't reintroduce useless quoted case expressions. * build-aux/ltmain.m4sh, m4/libtool.m4, tests/bindir.at, tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test, tests/demo-nopic.test, tests/link-2.test, tests/quote.test, tests/sysroot.at: Remove spurious quotes. maint: quote $file correctly in bootstrap. * bootstrap (func_insert_sorted_if_absent): Don't forget the double quotes, since we can't control the content of $file. Reported by Stefano Lattarini. build: fix a quoting bug when regenerating with bootstrap_edit. * Makefile.am (m4/ltversion.m4, build-aux/ltmain.sh): The bootstrap_edit make macro already contains double quotes, so when echoing it, don't surround it with more double quotes since it is not escaped. 2011-11-17 Gary V. Vaughan dist: hook syntax-check into `make distcheck'. To make sure we don't accidentally release anything with failing syntax-checks, have `make distcheck' run the syntax-checks automatically. * Makefile.am (distcheck-hook): New rule depending on syntax-check. syntax-check: enable sc_prohibit_always_true_header_tests. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_always_true_header_tests from list of disabled checks, because it no longer flags any violations. syntax-check: enable sc_program_name. * cfg.mk (local-checks-to-skip): Remove sc_program_name list of disabled checks. (exclude_file_name_regexp--sc_program_name): Don't check demo programs for use of set_program_name. syntax-check: enable sc_bindtextdomain. * cfg.mk (local-checks-to-skip): Remove sc_bindtextdomain list of disabled checks. (exclude_file_name_regexp--sc_bindtextdomain): Don't check demo programs for use of bindtextdomain. syntax-check: fix violations and implement sc_trailing_blank-non-rfc3676. * cfg.mk (local-checks-to-fix): Move sc_trailing_blank from here... (local-checks-to-skip): ...to here, because otherwise it flags valid RFC3676 signature blocks. (sc_trailing_blank-non-rfc3676): An improved sc_trailing_blank implementation that doesn't flag signature blocks as violations. * Makefile.am, bootstrap.conf, doc/PLATFORMS, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4, libltdl/m4/lt~obsolete.m4, tests/archive-in-archive.at, tests/convenience.at, tests/darwin.at, tests/depdemo/l1/l1.c, tests/depdemo/l2/l2.c, tests/depdemo/l3/l3.c, tests/depdemo/l4/l4.c, tests/f77demo/README, tests/f77demo/cprogram.c, tests/f77demo/foof.f, tests/f77demo/foof2.f, tests/f77demo/foof3.f, tests/f77demo/fprogram.f, tests/fcdemo/README, tests/fcdemo/cprogram.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90, tests/mdemo/README, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/objectlist.test, tests/static.at, tests/template.at, tests/testsuite.at: Remove trailing blanks. syntax-check: fix violations and re-enable sc_useless_cpp_parens. * cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens from list of disabled checks. * doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h, build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h, tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at, tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp `#if defined(foo)' statements. syntax-check: fix violations and re-enable sc_space_tab. * cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of disabled checks. (exclude_file_name_regexp--sc_space_tab): Don't flag space-tab sequences in diff files as an error. * Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh, libltdl/loaders/dyld.c, libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk, libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c, tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at, tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at, tests/stresstest.at, tests/template.at: Fix space-tab sequences by reversing them in regexps, and deleting leading spaces in indentation. syntax-check: fix violations and re-enable sc_prohibit_undesirable_word_seq. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_undesirable_word_seq from list of disabled checks. * doc/libtool.texi, build-aux/ltmain.m4sh, libltdl/m4/libtool.m4, libtoolize.m4sh: Replace all uses of "can not" with "cannot". syntax-check: fix violations and re-enable sc_probibit_test_minus_ao. * cfg.mk (local-checks-to-fix): Remove sc_probhibit_test_minus_ao from list of disabled checks. (exclude_file_name_regexp--sc_prohibit_tests_minus_ao): The matches from this syntax-check in libtool.m4 are all bogus. syntax-check: fix violations and re-enable sc_prohibit_strcmp. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp from list of disabled checks. (exclude_file_name_regexp--sc_prohibit_strcmp): Ignore violations in libtool.texi and any demo C files. * libltdl/libltdl/lt__private.h (strneq, streq): Renamed from this... (STRNEQ, STREQ): ..to this. Adjust all callers. * tests/slist.at: Add STREQ definition. Change all !strcmp calls to STREQ. * build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use STREQ definition. syntax-check: fix violations and re-enable sc_prohibit_stddef_without_use. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_stddef_without_use from list of disabled checks. * libltdl/argz.c, libltdl/lt__dirent.c, libltdl/slist.c: Remove spurious stddef.h #include lines. syntax-check: fix violations and re-enable sc_prohibit_magic_number_exit. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_magic_number_exit from list of disabled checks. * ltmain.c: Removed unused file. syntax-check: fix violations and re-enable sc_prohibit_have_config_h. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_have_config_h from list of disabled checks. * tests/f77demo/foo.h, tests/fcdemo/foo.h: Remove spurious HAVE_CONFIG_H guards for #include . syntax-check: fix violations and re-enable sc_prohibit_empty_lines_at_EOF. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_empty_lines_at_EOF from list of disabled checks. * THANKS, libltdl/argz.c, libltdl/config/getopt.m4sh, tests/f77demo/README, tests/f77demo/cprogram.c, tests/f77demo/fprogram.f, tests/fcdemo/README, tests/fcdemo/cprogram.c, tests/libtoolize.at, tests/mdemo/README, tests/mdemo2/README, tests/pdemo-inst.test: Remove spurious empty lines from the end of these files. syntax-check: fix violations and re-enable sc_prohibit_doubled_word. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_doubled_word from list of disabled checks. * build-aux/general.m4sh (func_quote_for_eval): Remove one of a pair of "and"s in a comment. * tests/lt_dladvise.at (hint_global): Remove one of a pair of consecutive "to"s split across lines in a comment. syntax-check: fix violations and re-enable sc_prohibit_cvs_keyword. * cfg.mk (local-checks-to-fix): Remove sc_prohibit_cvs_keyword from list of disabled checks. * tests/tagdemo/README: Remove spurious CVS keyword. syntax-check: fix violations and re-enable sc_makefile_at_at_check. At some point we were supporting some undetermined `broken make', as evidenced by having carried the following code since 2003: ## use @LIBLTDL@ because some broken makes do not accept ## macros in targets, we can only do this because our LIBLTDL ## does not contain $(top_builddir). @LIBLTDL@: $(top_distdir)/libtool \ ... However, we've also had *many* cases of macros in targets for just as long, so most likely we never fully supported makes allegedly broken in this way. As of this release, we explicitly no longer support make implementations that do not accept macros in targets. * cfg.mk (local-checks-to-fix): Remove sc_makefile_at_at_check from list of disabled checks. * configure.ac (order-only prerequisites): Test with the order-only pipe symbol in a macro. * Makefile.am, tests/mdemo/Makefile.am: Convert all @FOO@ to $(FOO). syntax-check: fix violations and re-enable sc_makefile_TAB_only_indentation. * cfg.mk (local-checks-to-fix): Remove sc_makefile_TAB_only_indentation from list of disabled checks. * Makefile.am (libltdl/Makefile.am): Replace leading spaces with TABs. * libltdl/Makefile.am (libltdl_libltdl_la_SOURCES): Ditto. syntax-check: fix violations and re-enable sc_m4_quote_check. * cfg.mk (local-checks-to-fix): Remove sc_m4_quote_check from list of disabled checks. * libltdl/m4/libtool.m4 (_LT_CHECK_OBJDIR): Quote LT_OBJDIR correctly. syntax-check: fix violations and re-enable sc_file_system. * cfg.mk (local-checks-to-fix): Remove sc_file_system from list of disabled checks. (VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly to avoid running its contents through syntax-check. * build-aux/ltmain.m4sh (func_mode_link): Use correct spelling for "file system". * libltdl/ltdl.c (try_dlopen): Ditto. * tests/dlloader-api.at: Ditto. syntax-check: fix violations and re-enable sc_error_message_uppercase. * cfg.mk (local-checks-to-fix): Remove sc_error_message_uppercase from list of disabled checks. (exclude_file_name_regexp--sc_error_message_uppercase): Don't match cvsu, which is not our file to edit. * doc/libtool.texi: Use lowercase error message in example. syntax-check: rationale for disabling sc_cast_of_x_alloc_return_value. * cfg.mk: Note that we support C++ compilation of libltdl, which in turn requires that *alloc return values be cast correctly. syntax-check: fix violations and re-enable sc_cast_of_argument_to_free. * cfg.mk (local-checks-to-fix): Remove sc_cast_of_argument_to_free from list of disabled checks. * build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h, libltdl/lt__dirent.c: Casting argument to free is never necessary. syntax-check: fix violations and re-enable sc_avoid_if_before_free. * cfg.mk (local-checks-to-fix): Remove sc_avoid_if_before_free from list of disabled checks. According to gnulib/doc/free.texi: "On old platforms such as SunOS4, @code{free (NULL)} fails. However, since all such systems are so old as to no longer be considered ``reasonable portability targets,'' this module is no longer useful." * libltdl/libltdl/lt__alloc.h (FREE, MEMREASSIGN): Don't protect against freeing NULL bug on SunOS4. syntax-check: skip sc_unmarked_diagnostics. * cfg.mk (local-checks-to-fix): Move sc_unmarked_diagnostics from here... (local-checks-to-skip): ...to here. libtoolize: rename `libltdl/config' directory to standard `build-aux'. In addition to moving the autoconf auxiliary script directory into the place expected by GNU developers ($top_srcdir/build-aux) we also simplify libtoolize somewhat by having libltdl use whatever directory was specified by the parent project. This is much more flexible, allows libltdl client projects to also use a single canonical `$top_srcdir/build-aux' auxiliary script directory, and maintains backward compatibility with existing projects that wish to continue using $ltdl_dir/config. * libltdl/config: Moved whole directory from here... * build-aux: ...to here. * libtoolize.m4sh (func_install_pkgaux_subproject): Remove. (func_install_pkgaux_parent): Remove. (func_install_pkgaux_files): Considerably simplified now that we have only a single auxiliary directory to worry about. (subproject_aux_dir): Remove. * bootstrap.conf (libtool_readme_release_package_substitutions): No need to substitute our old unusual aux_dir location into README-release any more. * cfg.mk (_build-aux): Now that we use the standard location for this directory, no need to set this variable either. * configure.ac (AC_INIT): git-version-gen has moved. (AC_CONFIG_AUX_DIR): Adjust. * Makefile.am (stamp-mk, auxexefiles, auxfiles) (install-data-local): Use build-aux instead of config. (libltdl/stamp-mk): Ditto. * libltdl/configure.ac, tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/fcdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. * tests/defs.m4sh (aux_dir): Ditto. * tests/configure-iface.at, tests/getopt-m4sh.at, tests/libtoolize.at, tests/subproject.at, tests/testsuite.at: Ditto. * Makefile.am (ltdl_ac_aux_dir): Extract at build-time... * libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that libtoolize can access it at runtime without requiring GNU M4 via the extract-trace script. (require_Makefile_am_filter): Use it to determine whether the aux_dir declared in the current (parent) project configure is compatible with the declarations in installed ltdl autotools source files. (require_configure_ac_filter): New function to perform similar checks and rewrite configure.ac during installation if necessary. * NEWS: Updated. libtoolize: aux scripts go in ltdl dir when parent has no configure. When using libtoolize to install subproject libltdl into a parent project that does not use autotools, set the default directory for auxiliary scripts inside libltdl rather than littering the parent project with files it doesn't use. * libtoolize.m4sh (func_require_ac_aux_dir): In verbose mode, report results like other require_ funcs. (func_require_aux_dir): Put subproject auxiliary files into ltdl directory where libltdl/configure will be able to find `install-sh' and others. libtoolize: simplify runtime by substituting pkgauxdir. * Makefile.am (configure_edit): Substitute pkgauxdir. * libtoolize.m4sh (func_install_pkgaux_subproject) (func_install_pkgaux_parent, extract_trace): Use it. libtoolize: generate require_ltdl_relative_aux_dir definition. * libtoolize.m4sh (require_ltdl_relative_macro_dir): Change to be generated function... (require_ltdl_relative_aux_dir): ...so that we can easily generate this very similar function from the same code. libtoolize: rename `libltdl/m4' directory to standard `m4'. In addition to moving the autoconf macro directory into the place expected by GNU developers ($top_srcdir/m4), we also simplify libtoolize somewhat by having libltdl use whatever directory was specified by the parent project. This is much more flexible, allows libltdl client projects to also use a single canonical `$top_srcdir/m4' macro directory, and maintains backward compatibility with existing projects that wish to continue using $ltdl_dir/m4. * libltdl/m4: Moved to it's parent directory. * Makefile.am (ACLOCAL_AMFLAGS, BUILDCHECK_ENVIRONMENT) (libltdl/Makefile.am, libltdl/aclocal.m4): Adjust. * configure.ac (AC_CONFIG_MACRO_DIR): Adjust. * libltdl/configure.ac (AC_CONFIG_MACRO_DIR): Remove. The libtoolize script can pick up the project macro directory from ACLOCAL_AMFLAGS in libltdl/Makefile.am, saving us from needing to regenerate configure for the sake of a different macro directory declared in the libltdl using client project. * libtoolize.m4sh (func_install_pkgmacro_subproject): Remove. (func_install_pkgmacro_parent): Remove. (subproject_macro_dir): Remove. (require_libltdl_Makefile_am, require_ltdl_aclocal_amflags) (require_ltdl_am_macro_dir): New functions, generated at runtime by adding libltdl/Makefile.am to the generation loop. (func_install_pkgmacro_files): Considerably simplified now that we have only a single macro directory to worry about. (require_ltdl_relative_macro_dir): New function. Calculate the relative path from $ltdl_dir to the parent project macro_dir. (require_Makefile_am_filter): Depending on $ltdl_mode, edit Makefile.am ACLOCAL_AMFLAGS to use the parent project macro directory if necessary. (require_aclocal_m4_filter): Make sure m4_includes point to the correct macro directory by editing the file as it is copied into the parent project. (func_install_pkgltdl_files): Use the filters. (func_check_macros): Remove various advice that no longer applies with an always shared macro directory. (func_require_ltdl_dir): Don't default ltdl_dir to subproject when `--ltdl' was not given. (func_require_ltdl_mode): Leave ltdl_mode empty when ltdl_dir is not set. (func_require_macro_dir): Default to $ltdl_dir/m4 in subproject mode with no other directory implied by AC_CONFIG_MACRO_DIR or ACLOCAL_AMFLAGS, otherwise m4 as before. * tests/libtoolize.at: Match new "creating file `Makefile.am'" messages correctly. (subproject ltdl with non-shared directories): This test no longer makes sense, so repurposed... (subproject ltdl with non-canonical macro dir): ...this, to ensure subproject ltdl continues to automatically share the parent macro directory. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Use new location of macro_dir. * NEWS: Updated. libtoolize: rename `Makefile.inc' to standard `ltdl.mk'. * libltdl/Makefile.inc: Moved from here... * libltdl/ltdl.mk: ...to here. * Makefile.am, bootstrap.conf, tests/libtoolize.at, tests/nonrecursive.at: Adjust. * libtoolize.m4sh (func_install_pkgltdl_files): Set the destination file to `Makefile.inc' if grep finds an include for that name in a top-level Makefile.am. (func_check_macros): Print a deprecation warning if use of the old `Makefile.inc' convention is found. * tests/old-ltdl-iface.at: New test for renaming and warning correctly when `Makefile.inc' convention is still in use. * NEWS: Updated. libtoolize: refactor ACLOCAL_AMFLAGS extraction. Another simple refactor to simplify following changesets. * libtoolize.m4sh (require_Makefile_am, require_aclocal_amflags) (require_am_macro_dir): Generate these functions at runtime. libtoolize: rename require_makefile_am to require_Makefile_am. A simple refactoring to keep the next change self-contained. * libtoolize.m4sh (require_makefile_am): Renamed from this... (require_Makefile_am): ...to this. libtoolize: simplify copying of files that are edited during install. * libltdl/Makefile.inc (EXTRA_DIST): Don't list autotools files that Automake automatically adds to a (subproject) distribution... * Makefile.am (EXTRA_DIST): ...although, our layout is a bit odd because we reuse libltdl/Makefile.inc in non-recursive mode in our own tree, so we do need to add those very same files here... * libtoolize.m4sh (require_Makefile_am_filter) (require_Makefile_inc_filter): ...all of which means we no longer need to manually remove those files at libtoolize time. These two new functions are factored out of... (func_fixup_Makefile): ...this old function, now removed. (func_copy): Add support for an optional sed script as the last argument to filter the content of a file as it is copied. (func_install_pkgltdl_files): Much simplified by $require_ the relevant filter scripts and passing them to func_copy. libtoolize: simplify file-copying and -linking call-graph. * libtoolize.m4sh (TAR): Remove. (func_copy_some_files, func_copy_cb): Remove. (func_copy): Refactor from all of the above, and simplify. No need to use $TAR to preserve timestamps when copying, since we've been running touch right afterwards anyway. Adjust all callers to use the new argument footprint. (func_serial_update, func_keyword_update): Delete any pre- existing destination file when used with `--force' before calling func_copy, now that the hardcoded special cases are not in there any more. (func_install_pkgmacro_subproject) (func_install_pkgaux_subproject): Use our own file loop - func_copy subsumes all the checks previously in func_copy_some_files, but operates on only one file at a time. (func_install_pkgltdl_files): Similarly, handle aclocal.m4 and configure special cases here, before calling func_copy. * tests/libtoolize.at: Make sure we match corrected "copying `configure.ac'" output. maint: generate full and correct ChangeLog. * gnulib: Updated to pick up gitlog-to-changelog multi-author support. * gl/build-aux/gitlog-to-changelog.diff: Use gnulib-rejected patch for '(tiny change)' support. * Makefile.am (ChangeLog): Use gitlog-to-changelog --amend=F option. * libltdl/config/git-hooks/commit-msg: New commit message hook for git. * libltdl/config/git-log-fix: New file, with ChangeLog fixes. * HACKING (Using git): Update. 2011-11-16 Gary V. Vaughan options-parser: provide a saner pluggable API. It's much too easy to forget that the functions you hook into the option parser need to return unconsumed options in the variable `func_run_hooks_result'; better to follow the convention used in the rest of bootstrap and return results in a variable named after the function with `_result' appended. * libltdl/config/options-parser (func_run_hooks): implement this new API. (Option parsing): Update the example in the header comment for this section to reflect the changes. * bootstrap (bootstrap_options_prep, bootstrap_parse_options) (bootstrap_validate_options): Adjust. * bootstrap.conf (libtool_options_prep, libtool_parse_options) (libtool_validate_options): Ditto. bootstrap: display accurate usage message. After splitting bootstrap up, we also lost bootstrap's usage message, and were incorrectly displaying a partial extract-trace message. * bootstrap (usage): Set appropriately. bootstrap: accept --gnulib-srcdir=/path/to/gnulib again. During the split of bootstrap into options-parser and extract-trace, the generic long-option splitting code got lost. * libltdl/config/options-parser (func_parse_options): Add the code to split any long option separated by an equals from its optarg back in. Reported by Roumen Petrov. 2011-11-15 Gary V. Vaughan gnulib: update gnulib submodule. Among others, this fixes a bug in _build-aux expansion so that `make syntax-check' works again. * gnulib: Updated to today's master HEAD revision. * gl/top/maint.mk.diff: Remove. This patch has been applied upstream already. libtoolize: remove NL2SP and initialisation. There's only a single use of NL2SP, and that is redundant. * libtoolize.m4sh (func_serial_update): Factor away use of NL2SP. (NL2SP, SP2NL): Remove initialisation. bootstrap: remove consumed options from the list to be processed. Fix a bug where processed bootstrap options were not removed from the queue, and eventually flagged as unknown in the pluggable option parser driver. * bootstrap (bootstrap_parse_options) (bootstrap_validate_options): Follow the pluggable option parser API correctly, and set func_run_hooks_result to the list of remaining unconsumed options. Reported by Roumen Petrov. 2011-11-14 Gary V. Vaughan libtoolize: refactor $opt_quiet, func_echo and func_echo_once. Instead of long sequences checking for setting of $opt_quiet, followed by one or more func_echo variations, add and use a new function func_whisper - the complement of func_verbose. * libtoolize.m4sh (func_whisper): New function. Adjust all callers previously using `$opt_quiet || func_echo ...'. (func_whisper_once): Ditto, for `$opt_quiet || func_echo_once ...'. (func_whisper_hdr): New function, adjust all callers previously using `func_whisper_once ...; func_whisper ...'. (func_whisper_error_header): Ditto, but calling func_error. (func_echo_once): Remove. libtoolize: update a bit-rotted comment. * libtoolize (func_copy_cb): Since this comment was written, the function has been changed to timestamp files as it copies. Update the comment to reflect that. general.m4sh: relative path to the same directory is `.'. * general.m4sh (func_relative_path): We sometimes want to use the result of this function directly, rather than purely as a prefix, so we need to return `.' when both directories end up at the same location. ltmain.sh: append relative path trailing slashes explicitly. In addition to being more idiomatic, and hence minimising suprises, seeing the slash written explicity when appending to the result of a relative path calculation is a lot more readable. * libltdl/config/general.m4sh (func_relative_path): Don't append an implicit trailing slash... * libltdl/config/ltmain.m4sh (func_mode_link): ...write it explicitly at the time of use. 2011-11-09 Gary V. Vaughan build: use pkgauxdir for local install and uninstall rules. * Makefile.am (pkgauxdir): Set it correctly. (uninstall-hook): Use it for pkgaux_scripts and pkgaux_data_files. (install-data-local): Ditto. Remove `config/' prefix from extract-trace and option-parser items. 2011-11-08 Gary V. Vaughan install: correct a typo in pkgaux_files location. * Makefile.am (install-data-local): Install pkgaux_files directly from $(aux_dir) [./libltdl/config at the moment]. libtoolize: order pkgltdl_files to avoid reconfiguration. * Makefile.am (pkgltdl_files): aclocal.m4 depends on configure.ac, and will cause spurious reconfiguration of freshly `libtoolize --ltdl' tree if we don't ensure configure.ac is the older of these two files. * tests/libtoolize.at: Adjust expout order to match. build: remove an over-exuberant $(srcdir) prefix. * Makefile.am (git_version_gen): No need for an extra $(srcdir) in the path when we always use after `cd $(srcdir). libtoolize: massage installed auxiliary script list at make time. * Makefile.am (configure_edit): Rename pkgconfig_files substitution to pkgaux_files, and add pkgaux_install_files and pkgaux_parent_files substitutions for atlocal. (pkgauxdir): Where to install pkgaux_files. (auxfiles): Removed, and replaced by... (pkgaux_parent_files, pkgaux_install_files, pkgaux_data_files): ...these, which separate the files lists more logically for easier installation, and use by libtoolize.m4sh. (uninstall-hook): Adjust. (tests/atlocal): Adjust. * bootstrap.conf (libtool_link_libltdl_subdirs): Adjust. * libtoolize.m4sh (func_install_pkgconfig_files) (func_install_pkgconfig_subproject) (func_install_pkgconfig_parent, func_install_pkgconfig_files) (all_pkgconfig_files): Renamed to... (func_install_pkgaux_files, unc_install_pkgaux_subproject) (func_install_pkgaux_parent, func_install_pkgaux_files) (all_pkgaux_files): ...these, resp. Adjust all callers. (func_massage_pkgconfig_files): Removed. (pkgaux_files): List of all auxiliary scripts substituted from Makefile. libtoolize: massage installed libltdl file list at make time. * libtoolize.m4sh (pkgltdldir, pkgdatadir): Put installable libltdl files in pkgdatadir. When testing, and _lt_pkgdatadir is set, adjust to look in libltdl subdirectory. (func_massage_pkgltdl_files): Removed function and only caller, because... (pkgltdl_files): ...we substitute the pre-massaged files directly... (func_install_pkgltdl_files): ...from here. Adjust installation of specially handled additional files. * Makefile.am (ltdldir): Location of libltdl files in source tree. (ltdldest, ltdldatafiles): Removed. (pkgltdl_files): New pre-massaged list of libltdl sources. (install-data-local, uninstall-hook): Use it. * tests/libtoolize.at: Reorder expected output to match actual libtoolize output. libtoolize: massage installed macro list at make time. * libtoolize.m4sh (func_massage_aclocal_DATA): Removed function and only caller, because... (pkgmacro_files): ...we substitute the pre-massaged files directly... (func_install_pkgmacro_files): ...from here. * Makefile.am (pkgmacro_files): New pre-massaged list of aclocal macros used by func_install_pkgmacro_files. (configure_edit): Substitute pkgmacro_files instead of aclocalfiles. libtoolize: use only space delimited file lists. We don't install any files with whitespace in their file name, so using colon delimited lists to make that possible was a premature optimisation and an unneeded complication. * libtoolize.m4sh (func_copy_some_files): Remove IFS twiddling, and just pull space delimited files in a for loop idiomatically. (func_massage_aclocal_DATA, func_install_pkgmacro_subproject) (func_install_pkgmacro_parent, func_install_pkgmacro_files) (func_massage_pkgltdl_files, func_massage_pkgconfig_files): Append to file lists with space delimiter. libtoolize: remove sed based configure scanning. * libtoolize (func_scan_files): Removed function and callers. (require_seen_ltdl, require_seen_libtool): Factor out remaining functionality of former sed based scanning. (func_check_macros): Adjust. * NEWS: Updated. libtoolize: refactor ltdl_mode discovery. * libtoolize.m4sh (require_ac_ltdl_mode) (require_ac_ltdl_options, require_ltdl_mode): New functions factored out of func_scan_files for scanning and setting ltdl_mode and friends. (func_scan_files): Remove the factored out code. (func_install_pkgmacro_files, func_install_pkgltdl_files) (func_install_pkgconfig_files, func_check_macros): Adjust. libtoolize: refactor ltdl_dir discovery. * libtoolize.m4sh (require_ac_ltdl_dir, require_ltdl_dir): New functions factored out of func_scan_files for scanning and setting ac_ltdl_dir and ltdl_dir resp. (func_scan_files): Remove the factored out code. (func_fixup_Makefile, func_serial_update_check) (func_install_pkgltdl_files, func_install_pkgconfig_subproject) (func_check_macros): Adjust. libtoolize: refactor aux_dir discovery. * libtoolize.m4sh (require_ac_aux_dir, require_aux_dir): New functions factored out of func_scan_files for scanning and setting aux_dir and friends. (func_scan_files): Remove the factored out code to scan configure.ac with sed, and then set macro_dir appropriately. (func_install_pkgconfig_subproject, func_install_pkgconfig_parent) (func_install_pkgmacro_files, func_check_macros): Adjust. libtoolize: install autoconf macros only if there is a $configure_ac. * libtoolize.m4sh (func_install_pkgmacro_files): If there is no $configure_ac in the parent project directory, and libtoolize is in subproject mode, then the parent project has no use for autoconf macros, so don't install them. * NEWS: Updated. libtoolize: display aux files output header for non-autoconf parents. * libtoolize.m4sh (func_install_pkgconfig_subproject): When the parent project does not use Autoconf, be sure to display an output header before copying auxiliary files despite not being able to scan for AC_CONFIG_AUX_DIR arguments. * NEWS: Updated. libtoolize: refactor macro_dir discovery around extract-trace script. * libtoolize.m4sh (func_extract_trace): Function to call $aux_dir/extract-trace. The name and footprint are the same as the core function in the extract-trace script file so that we can choose to source that file when the option processing becomes compatible with ours. (require_ac_macro_dir, require_aclocal_amflags) (require_am_macro_dir, require_macro_dir, require_makefile_am): New functions factored out of func_scan_files for scanning and setting macro_dir and friends. (func_scan_files): Remove the factored out code to scan configure.ac with sed, and then set macro_dir appropriately. (func_serial_update_check, func_install_pkgmacro_subproject) (func_install_pkgmacro_parent, func_install_pkgmacro_files) (func_check_macros): Adjust. * tests/libtoolize.at (Subproject ltdl without GNU M4): New test to ensure `libtoolize --subproject' continues to work without a GNU M4 dependency. * NEWS: Updated. libtoolize: refactor configure_ac discovery. Make a start on decomposing some of the giant functions at the heart of libtoolize into the much more flexible and manageable (albeit somewhat more verbose) model of self-organising $require_ function pointers. * libtoolize.m4sh (require_configure_ac): New function factored out of func_scan_files for setting $configure_ac appropriately, implementation taken from extract-trace script. (func_autoconf_configure): And similarly for ensuring that a filename which matches something Autoconf would read also has content that appears to be destined for Autoconf processing. (func_scan_files): Simplified the factored out code to a single require_configure_ac call. (func_install_pkgconfig_files, func_check_macros): Ditto. (seen_autoconf): Removed. bootstrap: split into reusable parts. * bootstrap: Bourne shell has no scoping, so be extremely careful with namespaces, functions in `^func_' and `^require_'; private variables in `^_G_', and public variables all well documented by comments. * libltdl/config/extract-trace: New file, containing the minimum of code previously in bootstrap plus a little glue to make the GNU M4 based autotools tracing function (as opposed to the kludgy sed extraction currently used everywhere else) a standalone script that can be executed or sourced. * libltdl/config/options-parser: New file, containing the pluggable options parser code shared between the other two. * bootstrap.conf: Adjust. * Makefile.am (EXTRA_DIST): Be sure to distribute the new extract-trace and options-parser scripts. (install-data-local): And install them where libtoolize can find them. tests: prefix absolute directory variables with 'abs_'. Avoid any possible confusion about the contests of thes variables compared to $aux_dir, $macro_dir and $src_dir in configure.ac, Makefile.am, libtoolize.m4sh and others. * tests/defs.m4sh (aux_dir, macro_dir, srcdir): Rename these... (abs_aux_dir, abs_macro_dir, abs_srcdir): ...to these resp. * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/sh.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test, tests/tagtrace.test: Adjust. maint: calculate required mkinstalldirs calls during `make install'. * Makefile.am (install-data-local): Make sure all destination directories are in place before copying files there, without hardcoding them. maint: substitute static directory names. By substituting just the directory name as passed to the macro, aux_dir can be used with or without $srcdir prefix, which is more flexible, and always means the same thing in each file, rather than sometimes being a directory name, sometimes relative to $top_srcdir. * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR) (LT_CONFIG_LTDL_DIR): Don't force config.status substitutions with unexpanded shell variables. * Makefile.am, tests/defs.m4sh: Adjust. 2011-11-07 Peter Rosin libtoolize: fix spelling nit. * libtoolize (M4SH_GETOPTS): Fix spelling nit. 2011-11-07 Gary V. Vaughan tests: fix parsing of configure output by pic_flag.at. Close http://debbugs.gnu.org/9962. * tests/pic_flag.at (LT_AT_CONFIGURE): Make sure to configure with --disable-silent-rules so that the full output parsed by the rest of the test is available. Reported by Roumen Petrov. libtoolize: rename `--subproject' option, and make it work. * libtoolize (M4SH_GETOPTS): Remove `--standalone', which never worked, and add `--subproject' which sets ltdl_mode correctly. 2011-11-05 Gary V. Vaughan libtoolize: fix a scoping bug in func_aclocal_update_check. libtoolize.m4sh (func_aclocal_update_check): This body of this function used a global variable set by the outer loop of the caller. Fix to Use the function argument correctly. maint: rename the debug shell command variable to `debug_cmd'. Not only does it make more sense, it also matches bootstrap and others. * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/getopt.m4sh, tests/defs.m4sh (opt_debug): Rename to debug_cmd. maint: dynamically strip unused scripts from libltdl Makefile. * configure.ac (pkgaux_scripts): Centrally maintain the complete list of aux scripts required to build libltdl, and which need to be installed by libtoolize --ltdl, and consequently need to be placed in $pkgdatadir by make install. * Makefile.am (libltdl/stamp.mk): Improved to strip the unused scripts not listed in pkgaux_scripts without the need for manual synchronisation. (auxexefiles): Removed. Replaced by new pkgaux_scripts substitution. (install-data-local): Adjust. build: substitute paths into defs.m4sh instead of recalculating. * Makefile.am (configure_edit): Add substitutions for aux_dir, macro_dir and srcdir. * tests/defs.m4sh: Don't recalculate srcdir. (aux_dir, macro_dir, srcdir): Convert to absolute paths. build: support AM_SILENT_RULES * configure.ac: Add AM_SILENT_RULES. * libltdl/configure.ac: Ditto, but only if defined. * Makefile.am (.version, ChangeLog, README, doc/notes.txt) (libtool, libtoolize, libtoolize.in, libltdl/Makefile.am) (libltdl/stamp-mk, m4/ltversion.m4, tests/atconfig, tests/defs) (tests/defs.in, tests/package.m4): Output an AM_SILENT_RULES-like GEN when V==0. * libltdl/Makfile.inc (libltdl/argz.h): Ditto. 2011-10-31 Gary V. Vaughan maint: add autobuild prerequisite only if autobuild.m4 is absent. * bootstrap (func_require_autobuild_buildreq): Skip if autobuild.m4 is already present. * bootstrap.conf (require_autobuild_bulidreq): No need to set this specially any more. maint: ensure bootstrap runs from dist tarball. * bootstrap (func_gnulib_tool_copy_file): When gnulib-tool is not available, check that there is a copy of the file from a previous run available before bailing out with a diagnostic. (func_install_gnulib_non_module_files): Don't diagnose missing files explicitly - func_gnulib_tool_copy_file takes care of it now. (func_require_checkout_only_file): In the diagnostic for not being in a source-controlled tree, note that `--force' must be used to rebootstrap. (func_require_gnulib_files_already_present): Removed. All the necessary checks are correctly performed in func_gnulib_tool_copy_file withot resorting to heuristics. (func_require_gnulib_mk): Don't continue to try to access gnulib-cache.m4 after discovering we're running from a dist tarball. (func_require_dotgitmodules_parameters): Skip if .gitmodules file is missing and git binary is not available. * bootstrap.conf (checkout_only_file): Set to HACKING, which is a non-distributed file. (libtool_cleanup_empty_dirs): Don't print spurious errors when trying to delete gnulib-tool droppings, in case gnulib-tool is not available on this run. tests: add a keyword `expensive' to very long running tests. * tests/cmdline_wrap.at, tests/stresstest.at (AT_KEYWORDS): Add `expensive'. * NEWS: Updated. libtoolize: fix some long-standing sed substitution bugs * libtoolize.m4sh (func_fixup_Makefile): `\\\\\$' in a " quoted script that is evaluated twice before execution becomes a `\$', which sed interprets as a literal $. The script will then delete any lines with a first non-whitespace character of `$'. Instead use `\\\\$' in single quotes, which sed eventually receives as `\\$' and correctly interprets as part of an instruction to delete otherwise empty lines ending with a `\'. Additionally the rest of the same sed script is no longer applied to comment lines to avoid munging the copyright header among others. * NEWS: Updated. 2011-10-27 Gary V. Vaughan maint: use gnulib's gitlog-to-changelog instead of a ChangeLog file. * ChangeLog: Removed. * HACKING (Editing 'ChangeLog'): Removed. Renumbered other sections to compensate. * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog. * Makefile.am (ChangeLog): Generate the ChangeLog for 2011... (dist-hook): ...from the output of `git log' before rolling a distribution tarball. maint: use gnulib's git-version-gen instead of mkstamp. * libltdl/config/mkstamp: File removed. * bootstrap.conf (gnulib_modules): Add git-version-gen. * configure.ac (AC_INIT, package_revision): Use git-version-gen to calculate version number. (TIMESTAMP): Removed. * libtoolize.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (TIMESTAMP): Ditto. * Makefile.am (TIMESTAMP): Ditto. (MKSTAMP): Renamed from this... (git_version_gen): ...to this. Set revision here. An alpha is now a release with an odd micro relase number. (rebuild): Don't reset revision here. (build_scripts): Remove mkstamp, add git-version-gen. (EXTRA_DIST, BUILT_SOURCES): Add .version. (libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4, tests/package.m4): Don't depend on configure.ac or ChangeLog to determine when the version number has reved, use .version directly. (.version): Flush most recent configure calculated VERSION to disk. (dist-hook): Flush current VERSION to disk at dist time. (dotserial): Distributed file to cache the serial number for when git is not available to recalculate it when building from a release tarball. (dist-hook): Make sure .serial is created. (libltdl/config/ltversion.m4): Use .serial when it is present (in a dist tarball) or calculate with git otherwise (in a git working directory). (EXTRA_DIST): Add .serial file. maint: use gnulib's maint.mk and support scripts release procedure. * Makefile.maint: Removed. * configure.ac (LASTRELEASE, lt_major, lt_minor, lt_micro, lt_alpha): All removed. Makefile.maint was the only client. * HACKING (Release Procedure): Removed. * bootstrap.conf (gnulib_modules): Add announce-gen, do-release-commit-and-tag, gendocs, gnu-web-doc-update, gnupload and readme-release. * cfg.mk (manual_title): Set it for web-manual rule. (announcement_Cc_): Release announcement email addresses. * Makefile.am (build_scripts): Add to EXTRA_DIST additional files imported from gnulib for maint.mk release procedure. * NEWS: Updated. 2011-10-24 Gary V. Vaughan tests: ensure VPATH autom4te search path can find autotests. * Makefile.am (tests/testsuite): Passing only $(srcdir) include path to autom4te is unable to find tests/package.m4, and passing only $(srcdir)/tests breaks VPATH build searches for TESTSUITE_AT files, which are relative to $(srcdir)... so we pass both! * NEWS: Updated. Reported by Bob Friesenhahn. 2011-10-24 Karl Berry doc: modernize libtool.texi. * libtool.texi (@copying): Use this instead of @ifnottex; format for Texinfo; eliminate obsolete paragraph about TeX; use @insertcopying instead of duplicating text. (@syncodeindex): Move all to the Texinfo header, where they belong. (@dircategory): Use "Software development" instead of "GNU programming tools", for consistency; and align individual entries to avoid multiple lines; and move to after the copyright message. 2011-10-24 Gary V. Vaughan maint: don't make autobuild a hard bootstrap requirement. * bootstrap.conf (require_autobuild_buildreq): Reset this to ':' so that bootstrap doesn't auto-add autobuild to $buildreq. 2011-10-23 Gary V. Vaughan maint: use gnulib's maintainer-makefile module. * bootstrap.conf (gnulib_modules): Add maintainer-makefile. (gnulib_tool_options): Add --avoid=dummy now that we have a real module to import. * cfg.mk: New file. Customize maint.mk for Libtool. * Makefile.am (EXTRA_DIST): Add GNUmakefile, cfg.mk and maint.mk. maint: use gnulib's canonical fdl.texi. * doc/fdl.texi: Removed. * bootstrap.conf (gnulib_non_module_files): Add fdl.texi. maint: use gnulib's canonical COPYING files. * COPYING, libltdl/COPYING.LIB: Removed. * bootstrap.conf (gnulib_non_module_files): Add COPYING. (libtool_add_libltdl_copying): New func_gnulib_tool hook function to copy the canonical LGPL2 COPYING file from gnulib at bootstrap. maint: use gnulib's (pending saner) bootstrap script. * bootstrap: Replaced with gnulib script. * bootstrap.conf: New file with Libtool specific bootstrap configuration. * Makefile.am (EXTRA_DIST): Add bootstrap.conf. maint: add gnulib submodule. * configure.ac (GL_INIT, GL_EARLY): Initialise gnulib, and expand its configure time checks. * .gitmodules (gnulib): New file with configuration for our gnulib git submodule. 2011-10-22 Gary V. Vaughan maint: tidy, sort and consolidate .gitignore files. The `gnulib-tool' and gnulib `bootstrap' scripts maintain `.gitignore' files in asciibetical order, so reorder them now to avoid spurious patches later. Take advantage of putting recursive file ignore matches into `$top_srcdir/.gitignore' and remove repetitions from other `.gitignore' files. 2011-10-22 Gary V. Vaughan maint: don't run help2man on programs not-yet-built. * Makefile.am (doc/libtool.1, doc/libtoolize.1): Added a comment about why the dependencies here have to be a mite bizarre. tests: remove unused `aux_dir' variable from `getopt-m4sh.test'. * tests/getopt-m4sh.at (aux_dir): Remove unused variable. tests: DRYing out `tests/sh.test'. * Makefile.am (libtool_m4): Canonical location of libtool.m4 file. (lt_aclocal_m4_deps): Use it. maint: pass directory declarations in configure.ac into Makefile. * configure.ac (AC_CONFIG_AUX_DIR, LT_CONFIG_LTDL_DIR) (AC_CONFIG_MACRO_DIR): Append code to these functions to capture and propagate their directory arguments to Makefile. * Makefile.am (aux_dir, ltdl_dir, macro_dir): Remove declarations. * bootstrap (my_sed_trace): Also capture LT_CONFIG_LTDL_DIR into `$ltdl_dir'. : Output the extracted values of `aux_dir', `ltdl_dir' and `macro_dir' at the top of the quick'n'dirty bootstrap Makefile. maint: factor out ltmain.sh variable deletion. * Makefile.am (ltmain_sh_edit): Expand upon bootstrap edit by adding the extra line to delete boilerplate variable settings from libltdl/config/general.m4sh that don't apply here. (libltdl/config/ltmain.sh): Use it. maint: DRYing out `Makefile.am' file paths. * Makefile.am (aux_dir, macro_dir): Include `$(srcdir)' in declaration. Adjust all references. (doc_dir, ltdl_dir, m4sh_dir, tests_dir): New single location to hold directory paths, all including `$(srcdir)', to reduce typing. (LT_M4SH): Use `$m4sh_dir' as include directory. (defs): This one is for a file in the build-tree, so no leading `$(srcdir)'. CLEANUP: fix error from pushing too far up the branch. * Makefile.am (install-data-local): Undo character transposition from too early push of untested v2.4-17-gaf74d58. * ChangeLog (2010-09-16): Remove spurious entry. maint: use macro_dir consistently in all files. * Makefile.am: Replace all uses of m4dir with macrodir to match AC_CONFIG_MACRO_DIR. * libltdl/config/libtoolize.m4sh: Replace all uses of macrodir with macro_dir. * tests/defs.m4sh, tests/sh.test: Likewise. maint: use aux_dir consistently in all files. * Makefile.am, Makefile.maint: Replace all uses of auxdir with aux_dir to match AC_CONFIG_AUX_DIR. * libltdl/config/libtoolize.m4sh: Likewise. * tests/defs.m4sh, tests/getopt-m4sh.at: Likewise. Makefile: try to be robust against shell meta-chars in filenames. * Makefile.am: In each rule body, unless a make variable needs to be seen as multiple words by the shell (for word-splitting loops, or because it contains several commands), quote it. Use single quotes unless the shell needs to perform variable inter- polation, in which case use double quotes. 2011-10-20 Gary V. Vaughan maint: let make employ user's `SED' setting. * Makefile.am: Replace hard-coded `sed' with `$(SED)' through- out. maint: simplify and improve safety of bootstrap process. * Makefile.am (bootstrap_files): List files that need to be generated at bootstrap time before `./configure && make' can work. It turns out that this is considerably fewer files than we had thought necessary previously. (bootstrap-deps-prep): Ensure minimum set of required substitution variables are non-empty. (bootstrap-deps): Depend on `bootstrap' files. * bootstrap (Generate bootstrap dependencies): Now that `Makefile.am' is entirely responsible for rebuilding files at bootstrap time, we need only specify the new `bootstrap-deps' target, and supply values for the substitutions checked by `bootstrap-deps-prep'. * configure.ac (AC_CONFIG_SRCDIR): `libtoolize.in' is not here yet right after running `bootstrap'. So rely on the presence of `libltdl/config/libtoolize.m4sh', which is always there. build: eliminate superfluous temporary files from `Makefile.am'. * Makefile.am (CLEANFILES): Remove temporary file entries. (libtoolize.in, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) (tests/defs, tests/testsuite): Factor away temporary files. build: eliminate `ltmain.in' and `libtoolize.in' intermediate files. * Makefile.am (libltdl/config/ltmain.sh, libtoolize.in): Pipe the output of `$(LT_M4SH)' directly into `$(bootstrap_edit)' to avoid use of superfluous intermediate file. build: don't hardcode repeated long paths in Makefile rules. According to the DRY principle, scattering several copies of something across a file or project leads to pain. Let's not do that! * Makefile.am (Makefile_in, Makefile_inc, defs_in, defs_m4sh), (libtoolize_in, ltmain_m4sh, ltversion_in): New variables to hold the location of important files and targets. (EXTRA_DIST): Add the distributed ones by variable. (libtoolize, libltdl/Makefile.am, libltdl/m4/ltversion.m4) (libltdl/config/ltmain.sh, libltdl/stamp-mk, tests/defs) (tests/defs.in): Use the new variables to reduce noise and repetition. build: make better use of automatic variables in `Makefile.am'. * Makefile.am (libtoolize, libtoolize.in, libltdl/Makefile.am) (libltdl/config/mkstamp, libltdl/config/ltmain.m4sh) (libltdl/m4/ltversion.m4, tests/testsuite, tests/defs.in): Make better use of automatic variables. build: name temporary files in `Makefile.am' consistently. Sadly, we still have to jump through hoops for MICROS~1's very old, very broken 8.3 naming convention, so we have to be careful to be unique in the first 8 letters, and not to use two periods in a filename, otherwise we could use the much more elegent `temporary files use "$@T"' idiom: * Makefile.am (libltdl/m4/ltversion.m4): Rename temporary file to `ltversion.tmp'. (libltdl/config/ltmain.sh): Rename temporary file to `libltdl/config/ltmain.tmp'. (libtoolize): Rename temporary file to `libtoolize.tmp'. (tests/defs): Rename temporary file to `tests/defs.tmp' (tests/testsuite): Rename temporary file to `tests/testsuite.tmp'. (CLEANFILES): Append temporary files as we create rules that use them. build: factor Makefile.am `m4sh' invocations to LT_M4SH. * Makefile.am (LT_M4SH): Now that all directories are listed as fully qualified paths, the search path argument to M4SH is always the same, so factor it out into a variable. Adjust all callers. build: avoid unnecessary directory changes in Makefile rules. * Makefile.am (doc/notes.txt, libltdl/m4/ltversion.m4, (libltdl/config/ltmain.m4sh, libtoolize.in, libltdl/Makefile.am) (libltdl/config/mkstamp, tests/testsuite, tests/defs.in): Avoid unnecessary `cd' commands by using fully qualified paths to files outside of current directory. build: compare `revision' rather than `correctver' in Makefile.am. * Makefile.am (rebuild): Set the shell variable `revision' rather than `correctver' for clarity of purpose. (bootstrap_edit, libltdl/config/ltmain.sh): Adjust. (libltdl/m4/ltversion.m4): Likewise, and alse, instead of munging the serial number comment line with set, extract `macro_version' from this file, and compare it directly with `revision'. (libtool): Likewise for `package_revision'. build: avoid spurious bootstrap_edit call. * Makefile.am (tests/package.m4): @FOO@ substitutions have already been made by the time Makefile.am has been transformed into Makefile, so don't try to rerun the substitutions manually with $(bootstrap_edit) after the fact. 2011-10-18 Gary V. Vaughan Post-release administrivia. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Add header line for next release. Release 2.4.2. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Update version number. 2011-10-17 Gary V. Vaughan Replace leading spaces with tabs. * libltdl/m4/libtool.m4, libltdl/config/ltmain.m4sh: Replace leading spaces in source code with tabs to match surrounding code. Reported by Peter Rosin. Make a note to use gnu/linux for version_type. * libltdl/m4/libtool.m4 (version_type): Add a comment to change version_type setting from 'linux' to 'gnu/linux' during the next destabilising code refactoring. * libltdl/config/ltmain.m4sh: ditto. Requested by Richard Stallman. 2011-10-04 Bart Van Assche Typo fix - change func_apped into func_append * libltdl/config/ltmain.m4sh: Fix typo. 2011-10-02 Xin LI Avoid problems when FreeBSD goes to version 10. * libltdl/m4/libtool.m4: Remove mentions of freebsd1. Use dots for FreeBSD 2 and 3 detection to avoid future problems * libltdl/m4/ltmain.m4sh: ditto. 2011-09-25 Cristophe Jarry Avoid mentioning "Linux", use "GNU/Linux", if appropriate. * TODO: Don't use bare "Linux". * doc/libtool.texi: ditto. * doc/notes.texi: ditto. * libltdl/README: ditto. * libltdl/m4/libtool.m4: ditto. 2011-09-02 Peter O'Gorman Add flag to inhibit warnings. * libltdl/config/ltmain.m4sh: Add --no-warn, --no-warning flags. Reported by John David Anglin. 2011-04-10 Kurt Roeckx tagdemo: do not rely on picking up symbols from indirect deps. * tests/tagdemo/Makefile.am: Link to all libraries that the demo application uses. 2011-04-10 Svante Signell (tiny change) Set shlibpath_overrides_runpath for the Hurd. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [gnu] : Set to no. * THANKS: Update. 2011-03-22 Justin Lecher (tiny change) Rhys Ulerich Don't filter OPENMP flags (-openmp & -fopenmp) from linker lines. If -fopenmp if passed to gcc during linking, it will take care to add all necessary libs to link correctly for openmp support. Currently libtool filters those flags, similar as it was the case with the threading flags. This change handles the situation for the openmp support similar as before the thread support was fixed. http://lists.gnu.org/archive/html/bug-libtool/2010-12/msg00009.html http://lists.gnu.org/archive/html/bug-libtool/2011-03/msg00014.html * libltdl/config/ltmain.m4sh (func_mode_link): Treat OpenMP flags like pthreads flags. 2011-03-14 Ralf Wildenhues libtoolize: detect -I (without space) in ACLOCAL_AMFLAGS. * libtoolize.m4sh (func_scan_files): Also accept -I (without intervening space) in ACLOCAL_AMFLAGS. * THANKS: Update. Report from Jan Engelhardt. 2011-03-05 Peter O'Gorman On Mac OS X try .dylib as well as .so with lt_dlopenext * libltdl/m4/ltdl.m4: Define extra extension if module extension differs from shared lib extension. * libltdl/ltdl.c: Use it. * tests/darwin.at: Test it. * NEWS: Announce it. Reported by Hans Aberg, Michael Ellis, and others. 2011-02-14 Peter O'Gorman Install ltmain.sh without execute bit set. * Makefile.am: change install rule for ltmain.sh Reported by Křištof Želechovski. 2011-02-07 Ralf Wildenhues docs: fix copyright years in PDF version of the manual. * doc/libtool.texi: Fix copyright years. 2011-02-01 Ralf Wildenhues fix typo in ChangeLog 2011-02-01 Rainer Orth Fix LD setting for 64-bit Solaris 2/x86. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [*-*-solaris*): Determine GNU ld options for 64-bit Solaris 2/x86. Detect gld 2.21 _sol2 emulations. 2011-01-27 Peter O'Gorman Don't loop through wrapper script arguments unnecessarily. * libltdl/m4/ltmain.m4sh: Check that argv contains " --lt-" before looping to remove wrapper script targetted arguments. Performance regression reported by Dan McGee. 2011-01-20 Gerald Pfeifer (tiny change) Remove support for FreeBSD 1.x. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) (_LT_SYS_DYNAMIC_LINKER): Remove handling of freebsd1* which soon would incorrectly match FreeBSD 10.0. * NEWS, THANKS: Update. 2011-01-19 Peter O'Gorman Don't let verbose linker messages influence test results. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Ignore stderr during tests for -flag unless it contains "flag". * tests/darwin.at: Add test. Reported by Jeremy Huddleston and also by David Fang. 2011-01-09 John David Anglin (tiny change) Fix relink mode to use absolute path if hardcode_minus_L. * libltdl/config/ltmain.m4sh (func_mode_link): Use absolute path when hardcoding with -L. 2011-01-09 Ralf Wildenhues Fix $wl setting for Solaris Studio 12.2 f90 on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : Set to '-Qoption ld ' if we detect Sun Fortran version 8.4 or newer. Report by Terry Dontje. 2011-01-07 Peter Rosin Convert file name to toolchain format when blessing archives. * libltdl/config/ltmain.m4sh (func_mode_install): When executing old_postinstall_cmds and old_archive_cmds, convert $oldlib to a format appropriate for the tool and provide that in $tool_oldlib. Also use $tool_oldlib when stripping old libraries. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Use $tool_oldlib as argument to $RANLIB. * THANKS: Update. Report by Dan McMahill. 2011-01-02 Ralf Wildenhues Bump copyright years. * ChangeLog.2010: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2010. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. * doc/libtool.texi: Likewise. 2010-12-20 Ian Lance Taylor * libltdl/m4/libtool.m4 (LT_LANG): Add Go. (AC_PROG_GO): Provide. (_LT_SYS_HIDDEN_LIBDEPS): Add Go case. (_LT_LANG_GO_CONFIG): Define. (LT_PROG_GO): Define. (AC_PROG_GO): Define if not defined. * libltdl/config/ltmain.m4sh: Match *.go. * doc/libtool.texi (LT_INIT): Mention Go. (Tags): Mention Go. * configure.ac: Enable Go. * NEWS: Update. 2010-12-20 Brice De Bruyne (tiny change) Also turn off -fuse-linker-plugin for postdep_objects computation. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add -fno-use-linker-plugin to temporary compile flags if necessary, to fix C++ postdep_objects setting with -flto -fuse-linker-plugin. * NEWS, THANKS: Update. 2010-12-20 KO Myung-Hun (tiny change) Set command line length limit for OS/2. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2] : Set to 8192 to avoid long test. 2010-12-20 Ralf Wildenhues Fix PIC flags with mpif77 using ifort on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Intel compiler also using $CC -V output, to avoid false negatives with compiler drivers like mpif77. Report by Christian Rössel. 2010-12-16 Ralf Wildenhues Fix PIC flags with MPI wrappers using Portland on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]: Match Portland compilers also using $CC -V output, to avoid false negatives with MPI compiler drivers. Report by Christian Rössel. * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for PATH_SEPARATOR. 2010-12-15 KO Myung-Hun (tiny change) Ralf Wildenhues Fix PATH_SEPARATOR handling for OS/2. * Makefile.am (update_mans): Quote $(PATH_SEPARATOR). * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for PATH_SEPARATOR. * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing $progpath. * THANKS: Update. 2010-12-10 Ralf Wildenhues Fix nvcc PIC setting on darwin. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) : Prepend -Xcompiler to nonempty variable setting rather than hard-coding -Xcompiler -fPIC, for darwin. * NEWS, THANKS: Update. Report by Paweł Daniluk. Honor $AUTOCONF, $AUTOMAKE in --help output. * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and $AUTOMAKE if set, for --version outout. docs: Libtool configuration diagram. * doc/libtool.texi (Integrating libtool): Add diagrams explaining the dependencies between Libtool files. Suggestion by Ethan Mallove. 2010-11-15 Ralf Wildenhues Eliminate hardcode_libdir_flag_spec_ld tag variable. * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty if $LD is used for creating shared libraries. Do not use hardcode_libdir_flag_spec_ld any more. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER) : Remove all instances of the tag variable. (_LT_LINKER_SHLIBS) [linux, xlf] : Set variable, including ${wl}. Fixes hardcoding in programs created by XL Fortran on GNU/Linux. * NEWS, THANKS: Update. Report by Paul H. Hargrove. Rebuild menus in the manual. * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs). Thanks to Ian Lance Taylor for the suggestion. 2010-11-07 Ollie Wild Modify --with-pic to support per-package configurations. * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of package names. Modelled off --enable-shared. * tests/with-pic.at: New test. * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at. * doc/libtool.texi (LT_INIT): Enhance documentation of --with-pic configure flag. * NEWS (New features): Mention that --with-pic now accepts a comma-separated list of package names. 2010-11-10 Ralf Wildenhues Fix cwrapper test failure with --disable-static. * tests/cwrapper.at (cwrapper and installed shared libraries): Compile program source without libtool, so we can be sure a non-PIC object will be created. 2010-11-01 Peter Rosin docs: Windows DLLs and headers. * doc/libtool.texi (Platform quirks): Add new subsection 'Windows DLLs'. * doc/libtool.texi (Platform quirks): Fix typo. 2010-10-30 Ralf Wildenhues docs: mention shell requirement for libtool script. * doc/libtool.texi (Invoking libtool): Document that the shell used to invoke libtool needs to be the same used to configure it. * THANKS: Update. Report by Markus Duft. 2010-10-15 Gary V. Vaughan libtool: remove redundant unsubstituted shell var defaults. * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from libltdl/config/general.m4 sets some default shell variables designed to be substituted by `$(configure_edit)'. Actually, `libtool' uses the language tag values for those variables, and `ltmain.m4sh' is not passed through `$(configure_edit)', so they are just noise. Edit them out at bootstrap time. 2010-10-15 Gary V. Vaughan maint: don't leak developer GREP, SED etc into distribution file. * Makefile.am: Having rearranged the file, now apply the actual changes to follow-up. (edit): Split into two parts... (bootstrap_edit): ...substitutions that should happen at bootstrap time... (configure_edit): ...and substitutions that should not happen until configure time. * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh) (libtoolize.in, tests/package.m4): Use bootstrap_edit. (libtoolize, tests/defs): Use configure_edit. * HACKING (Release Procedure): Remove the note to workaround the bug fixed by this changeset. * NEWS (Bug fixes): Mention that this bug is now fixed. Reported by Joerg Sonnenberger. maint: rearrange Makefile.am in preparation for a follow-up patch. * Makefile.am (Libtool scripts.): Move this section below the `Bootstrap.' section... (libtoolize.in): ...except this one which is generated at bootstrap time, and was added into the `Bootstrap.' section. (Libltdl.): Move this section below the `Libtool scripts.' section. 2010-10-15 Ralf Wildenhues Fix linking from only convenience archives with gfortran on Darwin. * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update macro comment header. [darwin, F77, FC] : Set to yes if whole_archive_flag_spec is nonempty. Fixes convenience.at test suite failures with gfortran 4.2 on Darwin. * THANKS: Update. Report by Paul Laight. Fix bindir check logic, and relax non-bindir case for AIX. * tests/bindir.at (bindir install tests): Rewrite checks for place of the installed shared library in two separate tests, depending on whether -bindir is supposed to have an effect or not. In the positive case, make the test stricter so that we reject libraries in $libdir. In the negative case, do not require a major version number in the $libdir file name, for AIX without runtimelinking. If tmpdir creation fails, skip the test. Use fewer bindir directory names for testing, to speed up the test. Also mention MSVC style DLL name in comment. Report by Peter Rosin. tests: remove unneeded 'bindir compile check' test. * tests/bindir.at (bindir compile check): Remove. 2010-10-14 Peter Rosin tests: fix $EXEEXT typo. * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT instead of $EXEXT. 2010-10-12 Simon Josefsson Matěj Týč Ralf Wildenhues docs: improve description of -no-undefined. * doc/libtool.texi (Link mode): Fix -no-undefined description. (Inter-library dependencies): Use Windows not AIX as example system. Clarify need for symbol resolution at library creation time. 2010-10-09 Paolo Bonzini Add missing sysroot resolution. * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot when fetching the install directory of dependent libraries. Reported by Lionel Landwerlin , patch by Khem Raj . * THANKS: Reorder entries, add Khem and Lionel. 2010-10-07 Roumen Petrov Add test case for 69e77671 (cwrapper PATH manipulation order) * tests/cwrapper.at: Add new test 'cwrapper and installed shared libraries.' 2010-10-04 Peter Rosin cwrapper: split long lines when dumping the wrapper script. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If the wrapper script contains long lines, split them for readability and to conform with C standards. * tests/cwrapper.at (cwrapper string length): New test, making sure we don't regress. msvc: handle symbols from different files independently. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) : Make all sections viable for symbol extraction again when the symbols from a new file starts. Fixes tests/tagdemo-make.test for MSVC 10. * tests/dumpbin-symbols.at: New test, making sure we don't regress. * Makefile.am (TESTSUITE_AT): Update. 2010-09-27 Peter Rosin tests: check if sys_lib_search_path_spec works on MSVC. * tests/search-path.at (sys_lib_search_path on w32): New test, making sure v2.2.10-207-g09142ea doesn't regress. Skip need_lib_prefix.at on systems without lib prefix on libraries. * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on systems that do not have libraries prefixed with lib. tests: clean up importing and exporting on w32. Makes the touched tests pass for MSVC when DLLs are built. * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define BUILDING_LIBHELLO when building libhello.la. * tests/demo/foo.h, tests/pdemo/foo.h (nothing) : Export variable when building the libhello dll and import when using libhello. For GCC and non-w32, and when building a static libhello, leave as an ordinary extern. * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export and import logic (LIBFOO_DLL is always undefined). * tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not useful before, even less so now. Removed. * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when building libl1.la. * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when building libl2.la. * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when building libl3.la. * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when building libl4.la. * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h, tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h : Export variables when building the associated library dll and import when using the library. For GCC and non-w32, and when building static libraries, leave as an ordinary extern. 2010-09-26 Ralf Wildenhues docs: do not refer to Libtool version with dlopen functionality. * doc/libtool.texi (Dlopened modules): Remove broken reference to what should have been Libtool 0.9g. Report by Roumen Petrov. 2010-09-23 Peter Rosin msvc: don't try to export import descriptors. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw] [pw32, cegcc] : Don't export symbols in import libraries related to describing what dll(s) the import library is importing. Fixes problem in tests/demo-make.test and some other tests. 2010-09-22 Ralf Wildenhues Fix regression in command-line length computation. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather than possibly-undefined func_fallback_echo, to ensure we fork and exec for this test. * NEWS: Update. Regression introduced in v2.2.6-39-g9c3d4d8. 2010-09-22 Gary V. Vaughan Post-release administrivia. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers to 2.4.1a. * NEWS: Add header line for next release. Release 2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the static libprefix interface, so new version-info is C+1:0:R+1. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version numbers. * NEWS: Update version number. manual: web-manual index.html clashes with @node Index. * doc/libtool.texi (Index): Renamed to `Combined Index'. tests: ISO C++ forbids declaration of 'v1' with no type. * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an explicit int type to declaration of 'v1' to prevent compilation failure with C++. 2010-09-22 Peter Rosin tests: reloadable objects do not work on MSVC, SKIP test. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw, pw32, cegcc] : Indicate that reloadable objects do not work. * tests/duplicate_conv.at: Skip last test if reloadable objects do not work. * doc/libtool.texi (libtool script contents) : Document how to indicate that reloadable objects do not work. 2010-09-21 Peter Rosin msvc: eliminate spaces in the library search path. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] : The LIB path variable telling where MSVC looks for libraries is likely to contain directory names with spaces. Convert those directory names to the short 8.3 DOS form (i.e. without spaces) when storing them in sys_lib_search_path_spec, as that is a space separated variable. 2010-09-21 Ralf Wildenhues Revert to per-language libpath computation on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept tagname argument. Use global cache variable lt_cv_aix_libpath to override per-language tag variables for the libpath value. Fix the sed script to remove trailing space. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to _LT_SYS_MODULE_PATH_AIX. Tracked down and reported by Rainer Tammer. 2010-09-21 Gary V. Vaughan maint: edit-readme-alpha shouldn't try to re-edit during dist. * libltdl/config/edit-readme-alpha: If README is non-writable assume that it is being run from distcheck, and skip the edit with a warning (to help diagnose cases where the heuristic is not correct). However, if README has already been edited to the alpha text, quietly skip without an error message. 2010-09-20 Eric Blake maint: drop autobuild requirement * HACKING: Update. build: ship autobuild.m4, to reduce bootstrap requirement * libltdl/m4/.gitignore: Drop autobuild.m4. * libltdl/m4/autobuild.m4: New file, copied from autobuild. * configure.ac (AB_INIT): Unconditionally call it. 2010-09-20 Peter Rosin Ralf Wildenhues libltdl: Make sure preloaded symbols are declared extern "C". * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the declaration of lt__PROGRAM__LTX_preloaded_symbols to global scope and make sure it has "C" linkage. Makes exceptions.at succeed on MSVC. 2010-09-20 Peter Rosin tests: __declspec (dll{ex,im}port) in tests/exceptions.at * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use __declspec (dllimport) and __declspec (dllexport) instead of the less portable __attribute__ ((dllimport)) and __attribute__ ((dllexport)). Makes the test compile on MSVC. 2010-09-19 Peter Rosin tests: Import items from liba1 for MSVC. * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and variable v1 from liba1 when using them from modb1. Makes the test pass on MSVC. 2010-09-18 Ralf Wildenhues tests: avoid distcheck failure with --disable-ltdl-install. * tests/ltdl-libdir.at (libdir of installed modules): Skip if $LIBLTDL does not exist. 2010-09-18 Gary V. Vaughan maint: use sed instead of maintaining 2 README files. * README.alpha: Deleted. It was mostly identical to README. * libltdl/config/edit-readme-alpha: New script to edit the contents of README in the dist tree prior to tarring up. * Makefile.am (dist-hook): Run it before rolling alpha release tarball. maint: improve README's `Obtaining the Latest Sources'. * README (Obtaining the Latest Sources): Add instructions for obtaining stable, alpha and nightly snapshot tarballs. * README.alpha (Obtaining the Latest Sources): Adjust to match. maint: reformat README `The Test Suites' for consistency. * README (The Test Suites): Reformatted for consistency. * README.alpha (The Test Suites): Adjust to match. maint: improve `Reporting Bugs' in README and README.alpha. * README (Reporting Bugs): Rewritten to a more complete and concise guide to providing a good bug report. * README.alpha (Reporting Bugs): Adjust to match. maint: consolidate Introductions of README and README.alpha. * README (Introduction): Rewritten to a more logical order for first time users, incorporating some additional text that was previously only in README.alpha. * README.alpha (Introduction): Adjust to match. maint: copy the Version Numbering section into README.alpha. * README.alpha (Version Numbering): No less useful for users of alpha releases. Copied from README. 2010-09-17 Peter Rosin tests: actually detect missing 'test' in 'if "$foo" = ...'. * tests/sh.test: Remove extra backslash in regex. Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2] [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++. 2010-09-17 Ralf Wildenhues LTO: consistently accept -fwhopr* and -flto* for GCC. * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match -flto*. 2010-09-17 Charles Wilson Fix order of PATH manipulation in cwrapper and shwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call lt_update_exe_path before lt_update_lib_path, to ensure that the temporary rpath values (which include the OBJDIRs of uninstalled libtool libraries) precede installation and final -rpath directories. (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending $temp_rpath to $shlibpath_var; similar rationale as above. Reported by Jon Turney 2010-09-17 Charles Wilson Document libtool variable to_host_file_cmd. * doc/libtool.texi (libtool script contents:to_host_file_cmd): Document variable. (libtool script contents:to_tool_file_cmd): Prefer `build platform' to `build system'; Ditto `host platform'. 2010-09-16 Charles Wilson Fix sh.test failure introduced in 72064249 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor syntax. 2010-09-16 Ralf Wildenhues tests: avoid localization failure due to unstable compiler messages. * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): Attempt to normalize temporary file names in error messages. Fixes 'localized compiler messages' test failure on Darwin when creating fat (multi-ABI) libraries. 2010-09-13 Peter Rosin Prefer $NM @file when the toolchain isn't native to $build. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating the command line length and take the @file branch *if* the file names needs to be converted for the toolchain and the @file branch works. Fixes problems in stresstest.at when doing a cross from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked" cross), and for the specific case of MSVC on Cygwin it makes the test pass. 2010-09-15 Gary V. Vaughan maint: improve README instructions for fetching latest version. * README, README-alpha (Obtaining the Latest Sources): New section, describing use of savannah repositories and bootstrap. * README.alpha (Reporting Bugs): Remove git instructions in favour of a reference to the new `Obtaining the Latest Sources' section. 2010-09-14 Eric Blake maint: ship .xz, not .lzma * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format. * Makefile.maint (git-release, git-dist, prev-tarball) (new-tarball, diffs): Use correct extension. * HACKING: Update instructions. * .gitignore: Ignore .xz files. 2010-09-13 Ralf Wildenhues doc: avoid long lines in input and output, indexing fixes. * doc/libtool.texi (Linking libraries) (Module loaders for libltdl): Manually line-wrap examples, to avoid long lines. (Libltdl interface, User defined module data) (Module loaders for libltdl): Wrap long @deftypefun input lines using trailing '@'. Use @deftypefun rather than @deftp where appropriate, and add spaces in @deftypefun lines to fix the index entries generated from these lines. (Cheap tricks): Use @smallexample rather than @example, to avoid long lines. docs: @file and @option markup fixes. * doc/libtool.texi (Creating object files, Linking libraries) (Linking executables, Link mode, Finish mode, Autoconf macros) (Using Automake, Inter-library dependencies, Dlpreopening) (Linking with dlopened modules, Finding the dlname) (Libltdl interface, Test descriptions, Multiple dependencies): Add @option where needed, replace @samp with @file as appropriate. 2010-09-12 Peter Rosin * .gitignore: Ignore *.obj files for MSVC (and w32 in general). Adjust to moved auxiliary files and add compile. * HACKING (Maintenance Notes): Adjust to moved files. Add the compile script. * Makefile.maint (fetch): Also fetch the compile script. 2010-09-12 Ralf Wildenhues tests: avoid empty AT_DATA contents, for zsh. * tests/libtoolize.at (libtoolize macro serial update) (libtoolize config files serial update, LIBTOOLIZE_OPTIONS): Do not create empty files with AT_DATA, the latter is documented to require a final newline. Fixes testsuite failures with zsh 4.3.10. 2010-09-12 Charles Wilson When assigning $linklib value, honor [-all]-static[-libtool-libs] * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs and static library exists, ensure old_library name is used as $linklib. Fixes failure on mingw when both static and shared libraries are present. 2010-09-12 Ralf Wildenhues tests: work around zsh use of $options variable. * tests/getopt-m4sh.at: Rename $options to $opts, the former is special for zsh 4.3.10. Fix AC_NO_EXECUTABLES test failure on IRIX 6.5. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result of link check for -Wl,-exported_symbol. * tests/no-executables.at (AC_NO_EXECUTABLES): Set lt_cv_irix_exported_symbol, to avoid link check. 2010-09-12 Jürgen Reuter (tiny change) Ralf Wildenhues Initial support for the NAG Fortran compiler on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : New set of entries, for NAG Fortran 5.1 and 5.2. * NEWS: Update. 2010-09-12 Ralf Wildenhues Fix getopt.m4sh to require Autoconf 2.62 or newer. * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62, not 2.61. 2010-09-11 Charles Wilson Correct typo: $sharedlib_from_linklib_cmd missing '_cmd' * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious typo, $sharedlib_from_linklib_cmd missing '_cmd'. 2010-09-10 Peter Rosin Convert file name to toolchain format when invoking $NM. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_win32_libid, func_cygming_gnu_implib_p) (func_cygming_ms_implib_p): When using the name lister to find symbols in files, convert the file names to a format appropriate for the tool. Fixes testsuite issues in mdemo-static-make.test and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW using MinGW native tools (a.k.a. a "faked" cross). 2010-09-09 Peter Rosin Fix dependency tracking for MSYS/MinGW. * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy argument which allows the user to specify conversions that are not desired. (func_mode_compile): Don't convert source files on MSYS, as MSYS does it for us. This fixes a regression introduced by "Use func_to_tool_file instead of fix_srcfile_path". Reported by Charles Wilson. 2010-09-08 Peter Rosin Mention adjustment of naming of MSVC import libraries in NEWS. * NEWS: Mention the change in import library naming on MSVC. 2010-09-07 Peter Rosin Adjust naming of MSVC import libraries. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin] [pw32, cegcc] : Adjust naming of the import library from foo-.lib to foo.dll.lib, to avoid clashes with the static library for unversioned libraries. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32] [cegcc] : Explicitely name the import library to match the above. Fixup texi typo in previous. * doc/libtool.texi (libtool script content) : Add missing 'code' command. Convert POSIX file names to toolchain format for MSVC * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [cygwin, mingw, pw32, cegcc] : Make sure the -outputresource: file name for the manifest tool is in w32 format. : Likewise for the MSVC command file containing the exports and the output file name. * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the toolchain format of the output_objdir file name and store it in the tool_output_objdir variable. Also replace any occurrence of @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the @OUTPUT@ content. * doc/libtool.texi (libtool script content): Update description of postlink_cmds to mention @TOOL_OUTPUT@. 2010-09-06 Peter Rosin Use func_to_tool_file instead of fix_srcfile_path. * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the fix_srcfile_path hook with a call to func_to_tool_file. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32] [cegcc]: Drop fix_srcfile_path. * doc/libtool.texi (libtool script contents): Likewise. * NEWS: Mention that fix_srcfile_path has been replaced. Convert file names to toolchain format in $NM and $AR @files. * libltdl/config/ltmain.m4sh (func_mode_link): When listing symbols and when creating archives using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes stresstest.at on MSYS when run with low command line length. Convert file names to toolchain format when linking. * libltdl/config/ltmain.m4sh (func_mode_link): When exporting symbols and when linking using command files (or response files), make sure that both the name of the command file and the content are made up of file names in a format appropriate for the tool. Fixes problems in stresstest.at on MSYS when run with low command line length. Add file name conversion from $build to toolchain. * configure.ac: Ensure to_tool_file_cmd is available to Makefile. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add cache variable lt_cv_to_tool_file_cmd that describes how to convert file names from $build to toolchain format. * libltdl/config/ltmain.m4sh (func_to_tool_file): New function that utilizes the above. * Makefile.am: Ensure to_tool_file_cmd is included in TEST_ENVIRONMENT so that it is passed to (old testsuite) tests. * testsuite.at: Ensure to_tool_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * doc/libtool.texi (libtool script content): Update with to_tool_file_cmd description. (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd. 2010-09-02 Ralf Wildenhues tests: avoid spurious test failure due to library mode on HP-UX. * tests/help.at (debug tracing): Use $lt_INSTALL not cp for install mode, the latter will not overwrite an existing library with mode 555. 2010-09-01 Charles Wilson Path conversion documentation * doc/libtool.texi (Platform quirks): Add new subsections 'Cross compiling' and 'File name conversion'. 2010-09-01 Ralf Wildenhues tests: avoid spurious pic_flag test failure on HP-UX 10.20. * tests/pic_flag.at (override pic_flag at configure time): Match HP-UX 10.20 cc warning about unknown options, to skip the test. tests: fix localization test for GCC on HP-UX 11.00. * tests/localization.at (localized compiler messages): Be sure to switch the locale only for the actual compiler commands, so we don't pick up warnings from helper tools such as diff which may not have the locale installed. Avoid leaking make flags into testsuite results. * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__ and MAKE_JOBS_FIFO. * tests/testsuite.at: Likewise. Fixes warnings in test logs when the user uses 'make -jN check' and inner $MAKE invocations can't connect to the job server. Fixes spurious failures of configure-iface.at and of demo-noinst-link tests with BSD and Tru64 make if the user uses 'make -k', as the exit status of the latter is not reliable. 2010-09-01 Gary V. Vaughan Remove announce-gen.m4sh and mailnotify.m4sh. * libltdl/config/announce-gen.m4sh: Removed. This script has no apparent connection to libtool functionality, and mostly duplicates the better maintained gnulib announce-gen script. * libltdl/config/mailnotify.sh: Removed. This script was used by only clcommit.m4sh and announce-gen.m4sh, both of which are now removed too. * Makefile.maint (announce-gen, libltdl/config/mailnotify): Targets removed. * bootstrap: Remove the mailnotify regeneration warning. * HACKING (Release Procedure): Remove references to announce-gen. (Alpha release note template, Full release note template): Reinstated from before announce-gen was introduced. Remove clcommit.m4sh. * clcommit.m4sh: Removed. This script was written to help keep ChangeLog and commit messages in sync when committing to CVS, and is an anachronism now that Libtool uses git. * Makefile.maint (commit): Target removed. * bootstrap: Don't generate commit. * HACKING (Release Procedure): Adjusted. 2010-08-31 Peter Rosin archive-in-archive.at passes with Microsoft lib. * tests/archive-in-archive.at: Tighten test to check that the desired object files are indeed part of the archive. Microsoft lib still passes, so remove the expected failure for that case. Dump archiver output to the log when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log when testing for @file support. Suggested by Ralf Wildenhues. Silence archiver output when testing @file support. * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr to the bit bucket when testing for @file support. 2010-08-31 Gary V. Vaughan Remove double `Generated from foo.m4sh' lines. We now require a modern Autoconf to bootstrap libtool, which will add the `Generated by ...' boiler-plate automatically, so we can remove the hand-rolled @configure_input@ substitutions we had been doing: * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh, libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh: Remove @configure_input@. * Makefile.am (edit): Remove configure_input substitution. (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4) (tests/defs): Don't set `$input' shell variable. * Makefile.maint (announce_gen, libltdl/config/mailnotify) (commit): Likewise. 2010-08-31 Peter Rosin Extract the archive name from the .la file and use $AR (not ar). * Makefile.am: Pass AR through to the testsuite. * tests/archive-in-archive.at: Bump copyright year. Extract archive name from the .la file instead of hardcoding the name, and allow different archivers. Also clarify that the tested functionality is currently broken. 2010-08-30 Ralf Wildenhues tests: skip -Wall -Werror with Tru64 cc in cwrapper test. * tests/cwrapper.at (cwrapper for uninstalled executables): Use a link test rather than a compile test to flesh out unknown compiler flags starting with -W; Tru64/OSF1 cc will happily accept `-Wall -Werror' as indication to pass flags on to subprocesses. tests: avoid getopt-m4sh failures when autom4te is not available. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Check $M4SH --version, skip on failure. tests: mark 'syntax of .la files' as XFAIL, expose failure. * tests/lalib-syntax.at (syntax of .la files): Assert that the string returned by lt_dlerror after a failure is non-NULL, so the failure shows up on systems other than Solaris. Mark test as expected to fail. Suggested by Bob Friesenhahn. 2010-08-30 Eric Blake Simplify recent configure quoting portability workaround. * configure.ac: Simplify setting of timestamp_string. 2010-08-30 Charles Wilson Update path conversion warning messages * libltdl/config/ltmain.m4sh (func_convert_file_check): Update comments and warning message. (func_convert_path_check): Update warning message. 2010-08-29 Peter Rosin Fix typo when renaming path conversion functions. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. 2010-08-29 Ralf Wildenhues Support GCC LTO on GNU/Linux. * libltdl/config/ltmain.m4sh (func_mode_link): Allow through flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols starting with __gnu_lto. (_LT_LINKER_SHLIBS) [linux] : Add $pic_flag for GCC. (_LT_LANG_CXX_CONFIG) [linux] : Likewise. (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o. * NEWS: Update. Disable GCC LTO for verbose library extraction. * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which are substituted with the per-language variables here) contain -flto or match -fwhopr*, respectively. Save and restore CFLAGS properly inside libtool.m4 macros. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different temporary variables for saved and restored values of $LIBS, $CFLAGS, to avoid overlap with the *_CONFIG macros. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore $CFLAGS, and override it with per-language flags, so that in case output_verbose_link_cmd uses $CFLAGS, the right flags are used. Work around yet another shell quoting portability issue. * configure.ac: Avoid nonportable quoted alternate variable value in unquoted here document, so Solaris 10 sh and Tru64 ksh do not print spurious extra quotes. Silence order-only configure test for AIX make. * configure.ac: Also drop standard output, for AIX 5.1 make. 2010-08-28 Charles Wilson Minor sysroot fixups. * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo. * tests/sysroot.at: Search also for crt0.o to accommodate cygwin. 2010-08-28 Charles Wilson [cygwin|mingw|cross-compile]: Path conversion support. * configure.ac: Ensure to_host_file_cmd is available to Makefile. * TODO: Document QoI issue with file name conversion functions. * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function sets libtool variable $to_host_file_cmd, and employs cache. (_LT_SETUP): Require it. * tests/testsuite.at: Ensure to_host_file_cmd is passed as a variable setting on the configure line for (new testsuite) tests. * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is included so that it is passed to (old testsuite) tests. * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here. * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd): New variables. (func_cygpath): New function. (func_init_to_host_path_cmd): New function. (func_to_host_path): Renamed to... (func_to_host_file): Refactored to... (now uses $to_host_file_cmd). (func_convert_core_file_wine_to_w32): Here. New function. (func_convert_core_msys_to_w32): Here. New function. (func_convert_file_check): Here. New function. (func_convert_file_noop): Here. New function. (func_convert_file_msys_to_w32): Here. New function. (func_convert_file_cygwin_to_w32): Here. New function. (func_convert_file_nix_to_w32): Here. New function. (func_convert_file_msys_to_cygwin): New function. (func_convert_file_nix_to_cygwin): New function. (func_to_host_pathlist): Renamed to... (func_to_host_path): Refactored to... (now uses $to_host_path_cmd and func_init_to_host_path_cmd). (func_convert_path_check): Here. New function. (func_convert_path_front_back_pathsep): Here. New function. (func_convert_core_path_wine_to_w32): Here. New function. (func_convert_path_noop): Here. New function. (func_convert_path_msys_to_w32): Here. New function. (func_convert_path_cygwin_to_w32): Here. New function. (func_convert_path_nix_to_w32): Here. New function. (func_convert_path_msys_to_cygwin): New function. (func_convert_path_nix_to_cygwin): New function. 2010-08-28 Ralf Wildenhues Fix symlist variable path to use _WIN32 instead of __WINDOWS__. * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h, libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h: Change __WINDOWS__ to _WIN32. Report by Charles Wilson. Add $pic_flag to archive_cmds and archive_expsym_cmds. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [GNU ld, netbsd]: Add $pic_flag if ELF. [GNU ld, solaris]: Likewise. [GNU ld, default case]: Likewise. [!GNU ld, freebsd, dragonfly]: Add $pic_flag. [!GNU ld, GCC, hpux9]: Add $pic_flag. [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag. [!GNU ld, GCC, osf4, osf5]: Likewise. [!GNU ld, GCC, solaris]: Likewise. (_LT_LANG_CXX_CONFIG) [hpux9]: Add $pic_flag if $GXX. [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag. [irix5, irix6]: Add $pic_flag if $GXX. [osf4, osf5]: Likewise. [solaris]: Add $pic_flag if $GXX and not GCC 2.7. Uniform const'ness of symlist variable lt_preloaded_symbols. On some systems, lt_preloaded_symbols may not be declared const due to relocation issues. C99 requires qualification to match for compatible declarations, so ensure we declare const'ness in the same way everywhere; link-time optimization may otherwise rightfully complain about inconsistencies. Since ltdl.h may not depend upon config.h, rely on system defines for choosing const'ness. * NEWS: Update. * doc/libtool.texi (Dlpreopening): Document this issue. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST according to system defines. Remove old shell cruft. Use LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols. * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise, define LT_DLSYM_CONST according to system defines. * tests/demo/foo.h (LT_DLSYM_CONST): Likewise. * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise. * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST. * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist): Likewise. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise for configure test code. * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST. * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise. 2010-08-28 Dave Korn Ensure cwrapper magic string is not optimized away. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Declare MAGIC_EXE as volatile. Report by Charles Wilson. 2010-08-28 Ralf Wildenhues Fix quoting in non-XSI func_xform, for IRIX sh. * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra M4 quotes. Fix response file test for unreliable exit status of IRIX ar. * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail over a command-line argument specifying a nonexistent file (such as `@FILE'), so ensure failure with a reponse file containing a nonexistent file. Also, use lt_* variable prefix for temporary variables. Fix AC_LANG_PROGRAM warnings from git Autoconf. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix underquoted AC_LANG_PROGRAM call. (LT_PROG_AR): Use AC_LANG_PROGRAM. (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the given language. * NEWS: Update. 2010-08-22 Ralf Wildenhues fix AIX testsuite regression * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly revert v2.2.10-83-gc45a288: Do not absolutize path here, only do sysroot replacement. (func_mode_link): Adjust. 2010-08-22 Charles Wilson fix --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else blocks of the "if $opt_dry_run" conditional. 2010-08-15 Paolo Bonzini improve code for sysroot --mode=finish * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex and sysroot_cmd delimiter from pipe to slash. Wrap the entire for loop with "if $opt_dry_run...fi" and print an explanatory message for the --dry-run case. 2010-08-12 Paolo Bonzini add libtool --mode=finish mode for sysroot * doc/libtool.texi (Finish mode): Document behavior when *.la files are passed. * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot or `=' signs representing it from files in $libs. * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot references before running libtool --mode=finish, and for absence afterwards. reorganize parsing of --mode=finish arguments * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for directories and *.la files. fix sysroot handling for deplibs of preopened libtool libs * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool through func_resolve_sysroot. fix sysroot tests to pass on Fedora 13 * tests/sysroot.at: Link $prefix/include into the sysroot as well, as required by newer GCC. 2010-07-29 Paolo Bonzini initial version of the NEWS entry * NEWS: Document sysroot support. add sysroot test * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at. * tests/sysroot.at: New. emit sysrooted paths when installing .la files * libltdl/config/ltmain.m4sh (func_replace_sysroot): New. (func_mode_link): Prepend paths in $libdir with the sysroot. Further, replace the sysroot with = (using func_replace_sysroot) whenever such a path is written in a .la file. process postdeps to include sysrooted paths * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson). (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R and -l flags will now always be separated from the rest of the argument. handle sysrooted paths when reading dependencies to la files * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install, func_mode_link): Whenever a .la file occurs in another .la file, expand the sysroot path in it. 2010-07-28 Paolo Bonzini teach libtool -L= and -R= * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New. (func_mode_link): Always pass result of stripping -L and -R to func_resolve_sysroot before using it. Remove absolute path expansion when func_resolve_sysroot subsumes it. Expand sysroot in -rpath. When processing dependent libraries also resolve sysroot paths there. add --with-sysroot * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New. (LT_SETUP): Require _LT_WITH_SYSROOT. handle sysroot flags * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot option. 2010-08-27 Ralf Wildenhues * NEWS: Only bootstrapping needs new Automake and Autoconf. check-interactive and check-noninteractive for both testsuites. * Makefile.am (COMMON_TESTS, TESTS): Split into ... (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new variables. (check-interactive-new): Rename from check-interactive. (check-noninteractive-new): Rename from check-noninteractive. (check-interactive-old, check-noninteractive-old): New targets. (check-interactive, check-noninteractive): Depend on the respective targets for the old and the new test suites. * doc/libtool.texi (Test descriptions): Simplify description about check-interactive and check-noninteractive. Add index entries. Adjust docs for renaming and for parallel-tests. * README: Update example TESTS setting. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions): Update for test renaming, adjust descriptions accordingly. Update VERBOSE handling for parallel-tests driver. * tests/defs.m4sh: Default to verbose output, drop now-unneeded handling of 'VERBOSE=no'. * README: Update example usage. * README.alpha: Likewise. * doc/libtool.texi (Test descriptions, When tests fail): Remove unneeded VERBOSE recommendations. Point to per-test log files and test-suite.log summary file. Enable parallel-tests test driver for the old testsuite. * configure.ac: New configure test to find out whether `make' supports order-only prerequisites; set @ORDER@ accordingly. (AM_INIT_AUTOMAKE): Enable parallel-tests option. * tests/defs.m4sh (prefix): Derive install prefix for tests from the test name, to avoid clashes. * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS): Reformat. Adjust for renamed tests. Add dependencies between the respective log files of the tests, to ensure proper ordering. Use order-only dependencies if possible, between test groups that use the same directory. (clean-local-legacy): Remove `_inst-*' directories as well. Prompted by suggestion from Bob Friesenhahn. New alias scripts for old tests run more than once. * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test, tests/cdemo-static-exec.test, tests/cdemo-static-make.test, tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test, tests/demo-nofast-exec.test, tests/demo-nofast-inst.test, tests/demo-nofast-make.test, tests/demo-nofast-unst.test, tests/demo-nopic-exec.test, tests/demo-nopic-make.test, tests/demo-pic-exec.test, tests/demo-pic-make.test, tests/demo-shared-exec.test, tests/demo-shared-inst.test, tests/demo-shared-make.test, tests/demo-shared-unst.test, tests/demo-static-exec.test, tests/demo-static-inst.test, tests/demo-static-make.test, tests/demo-static-unst.test, tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test, tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test, tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test, tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test, tests/depdemo-static-exec.test, tests/depdemo-static-inst.test, tests/depdemo-static-make.test, tests/depdemo-static-unst.test, tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test, tests/f77demo-static-exec.test, tests/f77demo-static-make.test, tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test, tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test, tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test, tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test, tests/mdemo-static-exec.test, tests/mdemo-static-inst.test, tests/mdemo-static-make.test, tests/mdemo-static-unst.test, tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test, tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test, tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test: New files. Require Automake 1.11.1 for Libtool, enable color-tests. * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable color-tests. (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and feature test for Autoconf 2.59 and Automake 1.9.x workaround. * Makefile.am: Simplify accordingly. * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds for Autoconf 2.59 and Automake 1.9.6. 2010-08-23 Charles Wilson Fix syntax for cygwin-cross libltdl/m4/argz.m4: Add quotes around variable, which may contain the multiword value 'guessing no'. 2010-08-22 Ralf Wildenhues configure: use Autobuild AB_INIT if available. * configure.ac: Call AB_INIT if it is defined, with $autobuild_mode as argument, to be set at configure time. Set AB_VERSION to the Libtool version string. * HACKING: Update. Fix getopt tests to skip with Autoconf < 2.61. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test if 'autom4te --language=m4sh' exits 63 because version 2.61 is required. Allows the testsuite to complete successfully with Autoconf 2.59 and Automake 1.9.6. Tidy and fix clean and distclean rules for old testsuite. * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead of hard-coding the list of test directories. Use $(AM_MAKEFLAGS). (fake-distclean-legacy): New phony rule, to create fake Makefile files if needed so that the automake-generated distclean-recursive rule can work properly. (distclean_recursive): New helper variable. (distclean-recursive): Depend on fake-distclean-legacy. 2010-08-22 Paolo Bonzini Fix sed_make_literal_regex. * libltdl/config/general.m4sh (sed_make_literal_regex): Fix definition. 2010-08-15 Paolo Bonzini Factor the sed command used to make a regex from a literal. * libltdl/config/general.m4sh (sed_make_literal_regex): New. * libltdl/config/ltmain.m4sh (func_cygming_dll_for_implib_fallback_core): Use it. Suggested by Ralf Wildenhues. 2010-08-21 Rainer Tammer (tiny change) Avoid issues with AIX resident shared libraries in old testsuite. * tests/defs.m4sh [aix]: Remove file mode permission for others, so shared libraries are not kept in memory after execution. Fixes failures of repeated mdemo-inst.test with on AIX 5.3. 2010-08-21 Ralf Wildenhues Skip part of versioning test on AIX. * tests/versioning.at (versioning): The AIX linker always records the unversioned library name, even with runtimelinking, so skip the execution test for the incompatibly upgraded library. Report by Rainer Tammer. Remove dead code from versioning test. * tests/versioning.at (versioning): No need to build unused prog3. 2010-08-20 Ralf Wildenhues Don't hide the table of contents in the manual. * doc/libtool.texi: Move the table of contents to the beginning. Prompted by patch from Bruno Haible against Automake. Remove superfluous dependency in Makefile.am. * Makefile.am (tests/demo-conf.test): Remove dependency on libtool, this test is a primary source and not generated. Bump copyright years in manual. * doc/libtool.texi: Bump copyright years. 2010-08-13 Peter Rosin Allow the use of a listing file if the archiver supports it. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection of a suitable archiver... (_LT_PROG_AR): ...to here. New macro, also detect if the archiver supports a listing file with the new variable archiver_list_spec. * libltdl/config/ltmain.m4sh: If the archiver supports a listing file, use it when max_cmd_len is exceeded. This is needed for tool chains such as MSVC which do not support piece by piece linking (-r -o). * doc/libtool.texi (libtool script contents): Update with archiver_list_spec description. 2010-08-10 Gary V. Vaughan (tiny change) Make testsuite compatible with Autoconf 2.62 again. * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph. Suggested by Eric Blake Reported by Ralf Wildenhues 2010-08-09 Ralf Wildenhues Fix more problematic code from "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Revert back func_append instances that as assignments relied on the shell not performing word splitting on the right hand side of the assignment. Fix another typo on "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in computation of finalize_rpath introduced in v2.2.10-40-g0da7d80, fixing several testsuite failures on AIX. Report by Rainer Tammer. 2010-08-07 Ralf Wildenhues Avoid unwanted error message in configure output. * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print in subshell, so eventual `print: not found' is hidden reliably. Fix compilation of program sources on AIX. * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not use $LIBTOOL when compiling plain object, AIX by default does not enable static archives. * tests/ltdl-libdir.at (libdir of installed modules): Likewise. Report by Rainer Tammer. Do not call toplevel configure in non-VPATH build. * tests/deplibs-mingw.at (deplibs without file command): Use LT_AT_CONFIGURE for consistency, update comment about why it might fail. * tests/pic_flag.at (override pic_flag at configure time): Skip test if we are building in-tree. Report by Rainer Tammer. Allow running pic_flag test with different shell. * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second argument specifying the configure script to run. * tests/pic_flag.at (override pic_flag at configure time): Use LT_AT_CONFIGURE. Ensure not to reverse preserving of --debug for relinking/finish. * libltdl/config/ltmain.m4sh (func_check_version_match): Only preserve '--debug' switch if $opt_debug is not equal to ':'. * tests/help.at (debug tracing): New test group. Report by Rainer Tammer. 2010-08-06 Ralf Wildenhues Fix AC_NO_EXECUTABLES test failure on AIX. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath. * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to avoid link test. Bug report by Rainer Tammer. Fix ltdl-libdir test for C++ compilers. * tests/ltdl-libdir.at (libdir of installed modules): Declare module function as extern "C". 2010-08-04 Ralf Wildenhues Let `libtool' without arguments point to `--help' again. * libltdl/config/ltmain.m4sh (func_check_version_match): Remove duplicate and wrong error check. * tests/help.at (standard command line options): Extend test. Report by Rainer Tammer. Avoid syntax error due to shift of nonexistent parameter. * libltdl/config/ltmain.m4sh : Only shift if there is a positional parameter to shift. Fixes `libtool --help' when dash is used. Report by Rainer Tammer. Fix testsuite errors due to shell quoted parameter expansion issue. * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space between double-quoted and unquoted shell parameter, as bash 4.0.28 doesn't add one in its output if the expansion of the second one starts with a space. (short option splitting, enhanced shell short option splitting) (long option splitting, XSI long option splitting): Add space in expected output. Fixes testsuite failures on AIX, FreeBSD, etc. Report by Rainer Tammer. 2010-08-03 Ralf Wildenhues Fix build failure with AIX sh due to shell quoting error. * libltdl/config/ltmain.m4sh (func_append_quoted): Document that this function inserts a separator space. (func_mode_compile): Do not pass extra space here. Fixes regression introduced in v2.2.10-49-gc13532a. Report by Rainer Tammer. 2010-08-02 Ralf Wildenhues Fix pic_flag test unportabilities. * tests/pic_flag.at (override pic_flag at configure time): Skip test if the compiler produces a warning containing `fpic'. Do not use nonportable `grep -e', for Solaris. Report by Charles Wilson. 2010-08-01 Paolo Bonzini Fix bug in postdeps computation * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually concatenate $prev and $p. 2010-07-26 Charles Wilson Don't always skip XSI tests * tests/getopt-m4sh.at: Use new signature as implemented by de8a0992b21b76a13c302cf48588ad5f6042595c, when determining whether to test Extended-shell functions. 2010-07-18 Peter Rosin * tests/stresstest.at: Link with main.lo when liba is shared and linking main with -no-install. 2010-07-18 Peter Rosin * tests/stresstest.at [MSVC]: dllimport all imported variables. 2010-07-17 Peter Rosin dllimport the variable for MSVC in link-order.at * tests/link-order.at [MSVC]: Makes the test pass by dllimporting imported variables when working with shared libraries. 2010-07-08 Peter Rosin Ralf Wildenhues Make preloading heed libname_spec. Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC. * libltdl/ltdl.c (libprefix): New static variable describing the prefix of static archives. (try_dlopen): Use libprefix. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static archives to config.h. Also fix assignment of LTDLOPEN to be more efficient and less error prone while at it. 2010-07-08 Gary V. Vaughan Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to _LT_PROG_REPLACE_SHELLFNS. (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE. (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use 'Extended shell' rather than 'XSI' on successful replacement. * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_stripname): Change decorator comment to use 'extended shell' rather than 'XSI' on fallback implementations. * libltdl/config/getopt.m4sh (func_split_short_opt) (func_split_long_opt): Ditto. * libltdl/config/ltmain.m4sh (func_append, func_append_quoted) (func_arith, func_len, func_lo2o, func_xform): Ditto. * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT. (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to match new replacable function decorator comments. 2010-07-08 Peter Rosin Optimize assignment of output_la. * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec instances. Report by Ralf Wildenhues. 2010-07-08 Gary V. Vaughan Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch. * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious variable dereference. 2010-07-07 Gary V. Vaughan Tidy m4 comment header underline. * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make sure hyphens in function name comment header underline line up. 2010-07-07 Charles Wilson [cygwin|mingw] fix dlpreopen with --disable-static * libltdl/config/general.m4sh (func_tr_sh): New function. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]: Obtain DLL name corresponding to import library by using value stored in unique variable libfile_$(transliterated implib name). If that fails, use $sharedlib_from_linklib_cmd to extract DLL name from import library directly. Also, properly extract dlsyms from the import library. (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs over static libs when both are available. When dlpreopening DLLs, use linklib (that is, import lib) as dlpreopen file, rather than DLL. Store name of associated la file in unique variable libfile_$(transliterated implib name) for later use. (func_win32_libid): Accomodate pei-i386 import libs as well as pe-i386. (func_cygming_dll_for_implib): New function. (func_cygming_dll_for_implib_fallback): New function. (func_cygming_dll_for_implib_fallback_core): New function. (func_cygming_gnu_implib_p): New function. (func_cygming_ms_implib_p): New function. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed expressions for lt_cv_sys_global_symbol_to_c_name_address and lt_cv_sys_global_symbol_to_c_name_address_lib_prefix as trailing space after module name is optional. (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]: Set exclude_expsyms correctly for $host. Simplify regular expression in export_symbols_cmds. (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms correctly for $host. Enable export_symbols_cmds to identify DATA exports by _nm_ prefix. (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets sharedlib_from_linklib_cmd variable. (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set. 2010-07-05 Peter Rosin * tests/export.at [MSVC]: dllimport all imported variables. 2010-07-01 Ralf Wildenhues Peter Rosin Support for response files with $NM. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) : New tag variable. Set it to '@' if input files can be passed to $NM in a file named with the '@' option. * libltdl/config/ltmain.m4sh (func_mode_link): When nm_file_list_spec is nonempty, use it to avoid skipped_export. * doc/libtool.texi (libtool script contents): Document new variable. 2010-07-04 Ralf Wildenhues Fix ccache test for MSVC. * tests/static.at (ccache -all-static): Ignore compiler stderr. Reported by Peter Rosin. 2010-07-03 Charles Wilson Avoid false failures caused by filesystem interaction * tests/dlloader-api.at (dlloader API): Use uglified names for pseudo-modules. 2010-07-03 Peter Rosin Fix typo in "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_compile): Use func_append_quoted instead of func_append. 2010-07-02 Peter Rosin Don't trigger file name expansion when embedding manifests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw, cegcc ] : Remove all spaces in the case statement of postlink_cmds to make file name expansion more unlikely. (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |. 2010-07-01 Peter Rosin Fix regression caused by "Add func_append_quoted and do..." * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover "_libs" trash. 2010-06-28 Peter Rosin For MSVC, embed the manifest as a resource in the executable. Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and above (and perhaps also MSVC .Net) related to running programs that have been moved (e.g. installed) without their manifests also having been moved. * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro that locates the Manifest Tool (mt) and verifies that it is indeed the manifest tool. The result is stored in the new variable MANIFEST_TOOL. (_LT_LINKER_SHLIBS) : New tag variable. [ cygwin, mingw, cegcc ] : Embed the manifest file as a resource. Make sure the embedding work regardless of if the @OUTPUT@ file name includes a trailing $EXEEXT. (_LT_LANG_CXX_CONFIG): Likewise. (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above _LT_PATH_MANIFEST_TOOL. * libltdl/config/ltmain.m4sh (func_mode_link): After linking a program, replace @OUTPUT@ in $postlink_cmds and then execute the commands. * doc/libtool.texi (libtool script contents): Document new postlink_cmds variable. (LT_INIT): Add that the MANIFEST_TOOL environment variable can be used to override the manifest tool to use. * tests/exeext.at: New. Make sure linking with both -o prog and -o prog$EXEEXT works. * Makefile.am (TESTSUITE_AT): Update. (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the testsuite. * NEWS: Add note of the new MANIFEST_TOOL environment variable. 2010-06-24 Peter Rosin Add MSVC support. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add support for the Microsoft C/C++ Compiler (cl) relying on help from the compile script in Automake. * NEWS: Add note of the above. 2010-07-01 Gary V. Vaughan Skip `enhanced shell option appending' test when not available. * tests/getopt-m4sh.at [enhanced shell option appending]: _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced libtool func_append function if the replacement wasn't substituted by configure, since the decorator comments will be different - in that case simply skip the test. 2010-06-30 Gary V. Vaughan Add func_append test cases for smart and retarded implementations. * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New macro to extract a fallback function implementation from ltmain.m4sh. [option appending]: Use it for a test of the fallback implementation of func_append. [enhanced shell option appending]: And also test the enhanced implementation. * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\ to escape a quoted space for eval. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in dereference of func_append inline replacement for retarded shells. 2010-06-29 Gary V. Vaughan Correct func_split_short_opt comment cut-n-pasto. * libtool/config/getopt.m4sh (func_split_short_opt): Fix the function comment. Use a real XSI compliant func_split_short_opt substitution. * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove test ${foo:n:m} substrings, instead adding a ${foo%??} check to the existing XSI tests. (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based func_split_short_opt substitution in favour of a properly XSI compliant substitution. Suggested by Paolo Bonzini. 2010-06-28 Gary V. Vaughan Add func_append_quoted and do inline func_append substitutions. * libtool/config/ltmain.m4sh: Replace all occurrences of `foo="$foo bar"' with func_append. No decorator comment was added since /func_append [a-zA-Z0-9_]* "/ is already an excellent match regexp, and additional comments would only complicate things. (func_append_quoted): New function that quotes a value with func_quote_for_eval before appending it. To avoid quoting the whitespace in the passed value, a single whitespace is added automatically. Changed callers where possible. * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a `+=' implementation substitution for func_append_quoted. More importantly, systematically replace matching func_append calls with inline `+=' when supported (for maximum speed), and longhand `foo="$foo bar"' otherwise to avoid the function overhead. Add an XSI replacement for func_split_short_opt, with test cases. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now that getopt.m4sh doesn't steal that letter for the --version short option. * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v' as a short option for '--verbose'. * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the leading '-' for remaining non-argument short options. (func_split_short_opt): Use the correct sed script variable. * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure that XSI substring extraction is supported. (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split short options to avoid unnecessary forks if the host shell supports that. * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage. * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at. (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the m4sh expansion performed in tests/getopt-m4sh.at. 2010-06-27 Gary V. Vaughan Add missing case branch terminators. * libltdl/config/ltmain.m4sh: Fixed everal case branches with missing ';;' terminators. Use TAB-SPACE in preference to SPACE-TAB. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors might optimise away the SPACE in SPACE-TAB sequences, so use TAB-SPACE just in case. Reported by Ralf Wildenhues Amend a missed opt_mode rename instance in ltmain.m4sh. * libltdl/config/ltmain.m4sh : Rename to opt_mode. Fix portability regressions in today's earlier changeset. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not portable; use `mv -f ...|| cp -f ...' instead. Add an initial backslash to sed `c' substitutions with leading whitespace, so that indentation is not removed by some non-POSIX compliant sed implementations. (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if one or more XSI function replacements failed. getopt.m4sh generated libtool option parser, and XSI improvements. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable shell versions of various utility functions from here... * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here... * libltdl/config/general.m4sh (func_dirname, func_basename) (func_dirname_and_basename, func_strip_name): ...here... * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len) (func_lo2o, func_xform): ...and here. * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that expands into a sed command for replacing the contents of a suitably decorated shell function with an alternate XSI implementation. (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell versions of the functions above with equivalent XSI implementations that avoid unnecessary forks if the host shell supports that. * libltdl/config/ltmain.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Rename some option variables in the client code to match the generated option parser settings. * libltdl/config/general.m4sh (func_echo, func_error) (func_warning): Use $opt_mode instead of obsoleted $mode in message leader. * libltdl/config/getopt.m4sh (m4_version_prereq): This file requires m4sugar.m4 from Autoconf-2.61 or newer. 2010-06-24 Charles Wilson [cygwin] Refactor C++ exception handling for Win32 correctness * tests/exception.at (common.h): New file, refactored from (module.h): Move declaration of modexc to libcommon. Include common.h. Use explicit import/export markings for symbols when building on win32 or cygwin. (common.cpp): New file. (module.cpp): Ensure correct symbols markings when including module.h. (lib.h): Use explicit import/export markings for symbols when building on win32 or cygwin. (lib.cpp): Ensure correct symbol markings when including lib.h. (main.cpp): Include common.h. (commands): Ensure correct symbol markings when compiling main.cpp, and lib.cpp, and module.cpp. Add command to compile common.cpp, and to link libcommon.la. Add libcommon.la when linking module.la and main. Add command to install libcommon.la. 2010-06-21 Gary V. Vaughan Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer. * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is implemented even if Autoconf's m4sugar.m4 doesn't provide it. (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use it everywhere incase m4sugar.m4 doesn't have an implementation. (m4_ifnblank): Replace all uses with m4_ifval, which was available long before m4_ifnblank was introduced. 2010-06-20 Ralf Wildenhues Fix clean mode for HP-UX 11.31 sh. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try to match a null string in a case pattern, even with surrounding spaces. Fixes `lt_dlopenadvise library loading' test. Add comment for exception handling module unloading issue. * tests/exceptions.at (C++ exception handling): Add comment for last patch. Fix flags test failure when ld is used as linker. * tests/flags.at (passing CC flags through libtool): When $LD is used for linking libraries, ensure flags passed with `-Wc,' are not passed through to $LD, but flags passed with `-Wl,' use $wl when linking programs. Fixed testsuite failure on HP-UX 10.20. 2010-06-19 Charles Wilson [cygwin] Fix segfault in C++ exception handling test * tests/exceptions.at (main.cpp:exceptions_in_module): Move dlclose outside catch block; otherwise __cxa_end_catch (part of the cygwin g++ ABI) accesses pointers to data inside unloaded DLL. This is a platform ABI-specific bug, but is likely common to many platforms' g++ and/or other C++ compilers. 2010-06-19 Ralf Wildenhues Fix srcdir computation for manual runs of old tests. * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow `$srcdir/tests/FOO.test' to be run from the top build directory. Clean up @var handling in the manual. * doc/libtool.texi: Throughout the manual, replace @var with @samp or @code as appropriate, ensure the argument of remaining @var uses are lower-case. Let the bootstrap script fail upon errors. * bootstrap: Enable errexit. Fix execute mode test for OSF/1 5.1. * tests/execute-mode.at (execute mode): Do not use grep -F with an empty pattern. * THANKS: Update. Report by Jay K. Use config.cache variable for PIC flag, to allow override. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) : Save result, and allow override, through cache variable lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable needs to contain an eventual -DPIC. * tests/pic_flag.at (override pic_flag at configure time): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS, THANKS: Update. Suggestion by Joakim Tjernlund and Paolo Bonzini. 2010-06-16 Ralf Wildenhues Optimize func_ltwrapper_scriptname to assume a cwrapper. * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not call func_ltwrapper_executable_p again here, this function is documented to allow being called with wrapper executables. Fix bootstrap script to cope with changed AC_INIT arguments. * bootstrap: When extracting PACKAGE and VERSION from AC_INIT arguments, be sure to remove a 'GNU ' prefix and lowercase the package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL appropriately for GNU software. Pass these variables to the make commands creating tests/package.m4 and other files. * Makefile.am (edit): Fix substitution of PACKAGE_NAME and PACKAGE_STRING. * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not @PACKAGE_STRING@. 2010-06-15 Peter Rosin On Windows, find potential libs regardless of file name case. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD), libltdl/config/ltmain.m4sh (func_mode_link): On Windows, find potential libs regardless of file name case. * tests/nocase.at: New test, to check for regressions of the above. * Makefile.am: Add above new test. * doc/libtool.texi (libtool script contents): Document new variables. * NEWS: Updated. 2010-06-15 Philip Allison (tiny change) Avoid GCC -Wall compiler warning in dlopen self test. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused variable warning in test program. * THANKS: Update. 2010-06-15 Ralf Wildenhues Fix cleaning of uninstalled w32 shell wrapper in subdirs. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not override global objdir variable, instead use odir for the directory of to-be-removed files. Drop unneeded origobjdir. Report by Charles Wilson. 2010-06-14 Ralf Wildenhues Enable colored Autotest testsuite output if available. * tests/testsuite.at: Move AT_INIT call down to late in the file, all prior code can go beforehand. Call AT_COLOR_TESTS if defined. 2010-06-14 Peter O'Gorman Pass resident test with --disable-shared too. * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS. 2010-06-13 Peter O'Gorman Test with --disable-shared at release time too. * HACKING: Note it. Avoid failure for --disable-shared. * tests/lt_dladvise.at: Hack. Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure. * tests/exceptions.at: Use it. 2010-06-13 Ralf Wildenhues Print Libtool project URL in program --help output. * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool', so Autoconf knows this is GNU software. For Autoconf < 2.64, if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL. * Makefile.am (edit): Substitute PACKAGE_URL. ($(srcdir)/tests/package.m4): Also depend on Makefile.am. Define AT_PACKAGE_URL, for `tests/testsuite --help' output. * libltdl/config/getopt.m4sh (func_help): Also extract comment lines that mention a home page and general GNU help. * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of hard-coded list address. Also mention Libtool home page and general GNU help web page. * libtoolize.m4sh: Likewise. 2010-06-12 Peter Rosin Ralf Wildenhues Improve libdir usage from within ltdl on MinGW. * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the libdir entry in the .la file, but accept it only if it is not a unix-style absolute name. * tests/ltdl-libdir.at: New test that checks if ltdl finds an installed module via the libdir variable in the .la file. On MinGW, use a Windows-style libdir name including drive spec. * Makefile.am: Add above. 2010-06-11 Peter O'Gorman Skip bindir install test if we're not building shared. * tests/bindir.at: Skip install test if necessary. * THANKS: Update. Report by Michael E Faenza. 2010-06-11 Gary V. Vaughan Use getopt.m4sh to generate libtoolize option parser. * libtoolize.m4sh: Replace hand written shell code with a call to M4SH_GETOPTS. Move some premature initialization from the preamble to the main part of the script. Exit with an error on spurious additional non-option arguments. (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the main option parsing loop. (opt_copy): Use in place of and in the reverse sense of the old opt_link variable. 2010-06-10 Peter O'Gorman Create reloadable object files with non-pic objects too. * libltdl/config/ltmain.m4sh: When not building a shared library, use the non-pic objects to create a reloadable object, because pic objects do not exist. 2010-06-10 Ralf Wildenhues Ensure libltdl is up to date for check-local. * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable. (all-local): Use it to simplify dependencies. (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS). Report by Peter Rosin. 2010-06-10 Gary V. Vaughan Support shell tracing inside functions even with ksh. * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:' or `set -x' depending on whether --debug was parsed to match usage in libtoolize.m4sh and ltmain.m4sh. * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'. * clcommit.m4sh, libltdl/config/announce-gen.m4sh, libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh: Execute at the start of functions to cater to ksh, which resets `-x' inside shell functions. Fix a typu in HACKING. * HACKING (Release Procedure): s/Makeflie/Makefile/. 2010-06-09 Ralf Wildenhues Factorize testing gcj installation in the testsuite. * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually try to compile a .java file when deciding whether to skip. (LT_AT_EXEC_TAG): New macro, to also ensure runnability. * tests/convenience.at (Java convenience archives): Use LT_AT_EXEC_TAG, simplify accordingly. * tests/flags.at (passing lt_tag flags through libtool): Use m4_defn for tag so LT_AT_TAG works. * tests/infer-tag.at (GCJ inferred tag): Simplify. * THANKS: Update. Report by Warren Dodge. 2010-06-09 Peter O'Gorman Skip demo-nopic tests if SELinux policy will cause failure. * tests/demo-nopic.test: Check SELinux policy and skip if necessary. 2010-06-09 Gary V. Vaughan Set SCM version number to 2.2.11a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.11a. * NEWS: Updated. GNU Libtool 2.2.10 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.10. * NEWS: Update version number. Fix a quoting bug with ./commit -a 'A U Thor'. * clcommit.m4sh (func_commit): Use func_show_eval when calling git, so that the previously func_quote_for_eval()ed $git_flags is expanded properly. 2009-09-15 Peter Rosin Don't try the MSYS libdir path on MinGW. * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute libdir path in the .la file is recorded as an MSYS (POSIX style) path. Make sure it isn't tried when locating the shared library. * NEWS: Updated. 2010-06-09 Gary V. Vaughan Simplify license variations, and add missing license texts. * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998, ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002, ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006, ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add all-permissive license. * HACKING, README, README.alpha, TODO: Relax license to RMS encouraged all-permissive terms. * libltdl/README: Ditto. I added the original license text in 2007, and there's no need for it to be so long for such a trivial file. * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is dead, and I am the author of these files, so consolidated license terms to match regular Libtool licensing. * HACKING (Licensing Rules): Update wording, and list of files for the all permissive license. (GPL with CVS-Utils exception clause): Removed. No files have these license any more. (GPL with Libtool exception clause): Ditto, only libltdl/README used to be distributed with this variation. * AUTHORS: Add GPL license text. Fix a type in the 2.2.8 release notes. * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes. Don't warn about the blank line inserted into git commit message. * clcommit.m4sh: When searching for accidental commits of mutliple changes, ignore the second line of the message, which we inserted earlier to support "git log --oneline". Enable correct extraction of multiline copyright from --version. * libltdl/config/getopt.m4sh: Wrap copyright notice at 76 columns. (func_version): Don't omit spaces when merging multiline copyright notices. * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76 columns. * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P systems, not BG/L. Reported by Christian Rössel 2010-06-08 Ralf Wildenhues Fix testsuite helper macros to not hide failure. * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE): Do not wrap AT_CHECK in a subshell, so that failures are properly propagated; instead, move environment changes inside the AT_CHECK code. Report and analysis by Peter Rosin. Avoid autom4te warning about unnamed diversion. * libltdl/config/getopt.m4sh: Use diversion name KILL not -1. 2010-06-07 Ralf Wildenhues Make versioning test stricter for w32, enable shared libs. * tests/versioning.at (versioning): Add -no-undefined to LDFLAGS. (test_uninstalled): Also move $bindir out of the way temporarily. Fix versioning test for LDFLAGS=-Wl,--as-needed. * tests/versioning.at (versioning): For the library update hypotheses, ensure the unchanged library libb isn't accidentally relinked against the new liba, by not reinstalling libb. Fixes testsuite failure for the incompatible update case with LDFLAGS=-Wl,--as-needed. * THANKS: Update. Report by Ryan Hill. 2010-06-06 Ralf Wildenhues Rewrite manual intro to be gender-neutral. * doc/libtool.texi (Introduction): Use gender-neutral formulation when addressing developers. 2010-06-05 Gary V. Vaughan Update and simplify all m4sh scripts to use latest getopt.m4sh. * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option parsing loop over M4SH_GETOPTS macro, and adjust all clients of option variables to use generated option names. Add missing quote for literal ? in a shell case statement. * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ? correctly for use in a shell case statement. Quote command line arguments after --rcfile properly. * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining arguments shell variable expression correctly for eval. Shift correctly in numbered option argument collection. * libltdl/config/getopt.m4sh (_m4go_option): Argument list also needs to be `shift'ed in the shell option loop after processing a numbered argument collection. Fetch from new upstream host for config.guess and config.sub. * Makefile.maint (WGET_CGIT): Location of newest config.guess and config.sub upstream. (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather than no-longer-updating WGET_SGO location. Update generated upload directive file format to v1.1. * Makefile.maint (git-dist, diffs): Update to generate v1.1 format directive files for ftp://ftp-upload.gnu.org/incoming/ftp. Fix web manual generation details in release instructions. * HACKING (Release Procedure): Move the instruction for generating web manuals for a new release to before the instruction that bumps the version numbers to the post release values. Set SCM version number to 2.2.9a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.9a. * NEWS: Updated. GNU Libtool 2.2.8 was released. Prepare for next release. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.8. * NEWS: Update version number. * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated from canonical source. Provide an m4sh reimplementation of announce-gen. * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes a quoted m4 list of command line options to be parsed, and generates the shell code to parse those options and collect the results into appropriately named 'opt_xxx' shell variables. Also, add some private supporting macros, and improve the comments radically. * libltdl/config/announce-gen.m4sh: New file, to generate and optionally post (an enhancement over the gnulib perl script of the same name) a release announcement. * Makefile.maint (announce-gen): Build a new announce-gen script in the build directory, from the contents of libltdl/config/announce-gen.m4sh. * HACKING (Release Procedure): Update the instructions to use announce-gen. (Alpha release note template, Full release note template): Removed. 2010-05-22 Gary V. Vaughan Support "git log --oneline" in generated commit messages. * clcommit.m4sh (func_check_commit_msg): Insert an empty line between the ChangeLog entry summary line and the ChangeLog entry body, so that "git log --oneline" works properly. Bump copyright and version number. Reported by Ralf Wildenhues 2010-05-22 Ralf Wildenhues * HACKING: Set Reply-To: in announcement emails. 2010-05-21 Gary V. Vaughan Set SCM version number to 2.2.7c. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7c. * NEWS: Updated. GNU Libtool 2.2.7b was released. Prepare for next release candidate. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7b. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files have been updated without a serial bump since the last release. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to account for bugfixes since the last release. * libltdl/config/install-sh, libltdl/config/config.guess, libltdl/config/config.sub, libltdl/config/texinfo.tex, INSTALL: Updated from canonical source. * NEWS: Update with missing entries from ChangeLog. * HACKING: Note workaround for developer tool-path leakage bug. Skip some tests in --disable-ltdl-install mode. * tests/dlloader-api.at, tests/exceptions.at, tests/lalib-syntax.at, tests/loadlibrary.at, tests/lt_dlopenext.at, tests/resident.at: Detect when these tests try to link against the not installed libltdl.la, and skip rather than FAIL. 2010-05-05 Peter Rosin Clarify versioning algorithm documentation. * doc/libtool.texi (Updating version info): Be explicit about setting age to zero on interface change. Reported by Jef Driesen 2010-05-04 Peter O'Gorman Ranlib is required with -force_load and fat archives. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run ranlib. Reported by Jeremy Huddleston 2010-04-09 Ralf Wildenhues Fix incompatible struct declarations. * doc/libtool.texi (Dlpreopening): Remove broken documentation of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist and symbol lt_preloaded_symbols according to the implementation. * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ... (lt_dlsymlist): ... and typedef to this name. (lt_preloaded_symbols, main): Adjust. * tests/pdemo/longer_file_name_dlmain.c: Likewise. 2010-04-04 Ralf Wildenhues Use linker_flags not compiler_flags with $LD. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux] : With xlf and bgxlf compilers, when linking with $LD, use $linker_flags not $compiler_flags. 2010-03-31 Ralf Wildenhues Add FAQ, and FAQ entry for flags stripped at library link time. * doc/libtool.texi (FAQ, Stripped link flags): New nodes. (Wrapper executables): Replace bug address with macro. (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler ' semantics better. * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment for the flags that are passed through. Prompted by reports from Simon Richter , Török Edwin and Åke Sandgren . 2010-03-28 Ralf Wildenhues Fix preloader symbol list declaration in libltdl. * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include array brackets. (lt_dlinit): Do not take address of preloaded_symbols. Fix typo in libtool --help output. * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help output. Fix a couple of documentation errors. * doc/libtool.texi (Autoconf macros): Improve hyphenation. (Using libltdl): libltdl uses the Lesser General Public License, not the Library General Public License. Do not use @sc nor @acronym in the manual. * doc/libtool.texi: Remove all usage of @sc. 2010-03-19 Chris Demetriou Sort output of 'find' to enable deterministic builds. * libltdl/config/ltmain.m4sh (func_extract_archives): Sort output of 'find'. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise. * THANKS: Update. 2010-03-19 Ralf Wildenhues Unconditionally normalize LC_ALL, LANGUAGE in libtool script. * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and LANGUAGE to 'C', to avoid semantic differences on MinGW under Chines locale. SCO issues with e.g. LANG=C are not known to be relevant today any more. Report by Pete Batard and Xiaofan Chen . 2010-03-17 Peter Rosin Preserve the last error when restoring the error mode. * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on SetThreadErrorMode (or SetErrorMode) to not clobber the last error. Report by Ralf Wildenhues. Use Get/SetThreadErrorMode if they are available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced... (wrap_getthreaderrormode): ...by this function that checks first for GetThreadErrorMode, then GetErrorMode and makes use of either of those or... (fallback_getthreaderrormode): ...else falls back to this replacement function that implements the old workaround, which was previously implemented in... (fallback_geterrormode): ...this now renamed function. (geterrormode): Replaced... (getthreaderrormode): ...by this function pointer that points at either of wrap_getthreaderrormode, GetThreadErrorMode, GetErrorMode or fallback_getthreaderrormode. (wrap_setthreaderrormode): New function that checks if SetThreadErrorMode is supported by the system and makes use of it if it is. (fallback_setthreaderrormode): New function that is used otherwise that implements the old version using SetErrorMode. (setthreaderrormode): New function pointer that points at either of wrap_setthreaderrormode, SetThreadErrorMode or fallback_setthreaderrormode. (vm_open): Adjust to the above. 2010-02-28 Ralf Wildenhues Detect Sun compiler suite with 'sun'-prefixed names. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC, sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95. * NEWS: Update. Report by Vadim Zeitlin. 2010-02-28 Pierre Ossman (tiny change) Ralf Wildenhues Fix deplibs check fallback for 64-bit Windows and Windows CE. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ... * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective pattern here; sync pattern from the former. * tests/deplibs-mingw.at (deplibs without file command): New file, new test. * Makefile.am (TESTSUITE_AT): Update. * NEWS: Update. 2010-02-24 Scott McCreary (tiny change) Update search path on Haiku for legacy system directory. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku] : Replace legacy /boot/beos/system/lib directory with /boot/system/lib. * THANKS: Update. 2010-02-22 Ralf Wildenhues manual: fix detailmenu ordering. * doc/libtool.texi (Top): Add section for `Linking executables' in the detailmenu. 2010-02-21 Charles Wilson Guard against strerror()==NULL * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Check return value of strerror() using nonnull(). (func_emit_cwrapperexe_src:find_executable): Ditto. (func_emit_cwrapperexe_src:chase_symlinks): Ditto. 2010-02-21 Charles Wilson Document wrapper changes. * NEWS: Indicate new feature and incompatibility. * doc/libtool.texi [detailmenu]: Add reference to subsection 'Wrapper executables for programs', in Platform Quirks category. [Linking executables]: Mention wrapper executables, in addition to wrapper scripts. Add menu referencing subsection 'Wrapper executables for programs'. [Wrapper executables for programs]: New subsection. Documents cwrapper rationale and command line options. 2010-02-21 Charles Wilson Add --lt-* options to shell wrapper * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call func_parse_lt_options early. Use func_exec_program. (func_emit_wrapper:func_parse_lt_options): New function. (func_emit_wrapper:func_lt_dump_args): New function. (func_emit_wrapper:func_exec_program_core): New function. (func_emit_wrapper:func_exec_program): New function. 2010-02-21 Charles Wilson Enable runtime cwrapper debugging; add tests * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Update comments. Initialize program_name. Eliminate _LENGTH variables for string constants. In debug mode, print a banner with known content before any other output. Remove LTWRAPPER_DEBUGPRINTF macro. Add constants and variables to support new --lt-debug option. (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to... (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print messages if lt_debug != 0. Ensure appearance of messages conforms to GCS. (func_emit_cwrapperexe_src:lt_fatal): Ditto. (func_emit_cwrapperexe_src:lt_error_core): Ditto. (func_emit_cwrapperexe_src): Update all callers to lt_fatal. Update all users of LTWRAPPER_DEBUGPRINTF (()) to call lt_debugprintf () directly. (func_emit_cwrapperexe_src:main): Consolidate option parsing. Ensure first use of lt_debugprintf occurs after option parsing. Add stanza to parse for --lt-debug and set lt_debug variable. Use strcmp rather than strncmp, where safe. * tests/cwrapper.at: Add new tests for --lt-debug and -DLT_DEBUGWRAPPER. 2010-01-31 Ralf Wildenhues Use --email with gendocs.sh. * Makefile.maint (web-manual): Pass bug reporting address to gendocs.sh. Make testsuite code C++ clean again. * tests/resident.at (resident modules): Fix for C++. 2010-01-29 Peter Rosin Ralf Wildenhues Testsuite exposure for dlloader API. * tests/dlloader-api.at: New file, new test. * Makefile.am (TESTSUITE_AT): Update. 2010-01-29 Peter Rosin * tests/loadlibrary.at: Fix C++ issues. 2010-01-20 Peter Rosin Report proper errors from the loadlibrary loader. * libltdl/loaders/loadlibrary.c (loadlibraryerror): New helper function that returns the latest Windows error as a string, or the provided default string on failure to do so. (LOADLIB_SETERROR): New macro that wraps previous to make it easy to use. (vm_open, vm_close, vm_sym): Make use of previous. (LOCALFREE): New macro to help free the Windows error string. (vl_exit): Make use of previous. * tests/loadlibarry.at: New file, new test that makes sure the loadlibrary loader reports non-standard error messages. * Makefile.am (TESTSUITE_AT): Add above test. 2010-01-02 Peter Rosin Use GetErrorMode if it is available. * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New function that checks if GetErrorMode is supported by the system and makes use of it if it is. (fallback_geterrormode): New function that is used otherwise that implements the old workaround. (geterrormode): New function pointer that points at either of the above or directly at GetErrorMode. (vm_open): Make use of the above. 2010-01-11 Ralf Wildenhues Ensure functions from resident modules work in atexit handlers. * tests/resident.at (resident modules): New file, new test. * Makefile.am (TESTSUITE_AT): Adjust. Report by Bob Friesenhahn. Testsuite exposure for relative output file names and deplibs. * tests/deplib-in-subdir.at (deplib in subdir): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Prompted by report from Bob Friesenhahn. 2010-01-11 Ralf Wildenhues Bob Friesenhahn Testsuite exposure for C++ exception handling. * tests/exceptions.at (C++ exception handling): New file, new test. * Makefile.am (TESTSUITE_AT): Update. Report by Bob Friesenhahn. 2010-01-06 Ralf Wildenhues Bump copyright years. * ChangeLog.2009: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2009. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. 2009-12-30 Peter Rosin * libltdl/ltdl.c (lt_dlerror): Remove meaningless conditional. 2009-12-29 Peter Rosin * libltdl/ltdl.c (file_not_found): Fix typos in code comment. 2009-12-12 Ralf Wildenhues Replace last __oline__ instance. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Replace last __oline__ instance with $LINENO. 2009-12-09 Ralf Wildenhues Improve parsing of .la files in libltdl. * libltdl/ltdl.c (trim): Do not dump core upon missing quote in module .la file. * tests/lalib-syntax.at (syntax of .la files): New file, new test. * Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at. Report by Bob Friesenhahn. 2009-12-05 Ralf Wildenhues Sane fallback initialization of $ECHO from $as_echo. * libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is unset. * tests/testsuite.at: Likewise. * THANKS: Update. Report by Vadim Zeitlin and Peter Rosin. 2009-12-02 Ralf Wildenhues lt_dlloader_remove and lt_dlloader_find accept const arguments. * libltdl/lt_dlloader.c (lt_dlloader_remove, lt_dlloader_find): Accept `const char *' arguments, as documented. Cast them to `void *' for the slist machinery. * libltdl/libltdl/lt_dlloader.h: Adjust prototypes. Test and fix slist.c. * libltdl/libltdl/slist.h: Include stddef.h, for size_t. (slist_remove): Return pointer to SList, not void. * libltdl/slist.c: Include stdlib.h, for malloc and free. (slist_remove): Adjust prototype as above. (slist_sort): Do not loop forever on one-item list. * tests/slist.at (SList functionality): New file, new test. * Makefile.am (TESTSUITE_AT): Add tests/slist.at. 2009-11-30 Peter Rosin Please C++ compilers when calling strrchr. * libltdl/ltdl.c (has_library_ext): Match the return type of strrchr with the first argument to please C++ compilers. Report by Peter O'Gorman. 2009-11-29 Ralf Wildenhues Fix bindir and dlopen tests for C++ compilers (CC=g++). * tests/bindir.at (bindir basic lib test, bindir install tests): Include stdlib.h rather than declaring abort. * tests/lt_dlopenext.at (lt_dlopenext error messages): Use `extern "C"' annotation for dlsym'ed function in C++ mode. 2009-11-25 Peter Rosin Fix cross build issue in execute mode test. * tests/execute-mode.at: Skip test for cross builds. 2009-11-24 Ralf Wildenhues Enable symbol versioning with the GNU gold linker. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Accept 'GNU gold' in the version string. * NEWS, THANKS: Update. Report by Peter Fritzsche. Tighten regex for Portland C++ compiler for version 10. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [linux]: Match a dot after version 1 through 5, so 10 and up don't match, and use weak symbols. * THANKS: Update. Report by Jeff Squyres and Brent Leback. 2009-11-16 Peter O'Gorman Update libltdl version to match 2.2.6b release. * libltdl/Makefile.inc: Make version 9:1:2 2009-11-14 Bob Friesenhahn Don't load module.la from current directory by default. * libltdl/ltdl.c (try_dlopen): Do not attempt to load an unqualified module.la file from the current directory (by default) since doing so is insecure and is not compliant with the documentation. * tests/testsuite.at: Qualify access to module.la file in current directory so that test passes. 2009-11-14 Peter O'Gorman Only use preopen loader to load preopened archives * libltdl/ltdl.c: Limit checking of .a to preopen loader. * tests/lt_dlopen_a.at: Add test. * Makefile.am: Add test. 2009-11-14 Ralf Wildenhues Recognize `pgfortran' as Portland compiler. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS): Accept `pgfortran*' too. Report by Jeff Squyres. 2009-11-04 Alexandre Oliva Ralf Wildenhues Fix verbose link extraction for multiply reconfigured GCC. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) : Drop GCC lines "Configured with" that may contain unrelated flags. 2009-11-02 Eric Blake Allow gcc builds with -Wall -Werror. * libltdl/ltdl.c (try_dlopen): Use strlen rather than LT_STRLEN on an array that will never be NULL. 2009-11-01 Ralf Wildenhues Fix func_normal_abspath sed script for Solaris. * libltdl/config/general.m4sh (pathcar, pathcdr, removedotparts) (collapseslashes, finalslash): Use single quotes, for clarity. (removedotparts): Avoid \{N,M\} after subexpression \(...\), for Solaris /bin/sed. Improve versioning algorithm documentation. * doc/libtool.texi (Updating version info): Repeat the algorithms in different, hopefully simpler terms. * THANKS: Update. Prompted by Richard B. Kreckel. 2009-11-01 Ingo Weinhold (tiny change) Support for the Haiku operating system. * libltdl/config/ltmain.m4sh (func_mode_link): Add cases for `*-*-haiku*' alongside `*-*-beos*'. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, LT_LIB_M, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Add cases for `haiku*'. * NEWS, THANKS: Update. 2009-11-01 Ralf Wildenhues Fix quoting of AS, DLLTOOL, and OBJDUMP for the libtool script. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Quote values of $AS, $DLLTOOL, and $OBJDUMP, so they can contain arguments. * THANKS: Update. Report by Matthijs Kooijman. 2009-09-18 Ralf Wildenhues Initial support for the Cuda Compiler Driver on Linux. * libltdl/config/ltmain.m4sh (func_mode_compile): Accept source file extensions `.cu' and `.cup'. * libltdl/m4/libtool.m4 (_LT_COMPILER_NO_RTTI, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS): Support for `nvcc' compiler driver. * NEWS, THANKS: Update. Report by Mahesh Narayanamurthi. 2009-09-12 Dave Korn Control where win32 DLLs get installed. * libltdl/config/general.m4sh (func_normal_abspath): New function. (func_relative_path): Likewise. * libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir". (func_mode_link): Accept new "-bindir" option and use it, if supplied, to place Windows DLLs. * tests/bindir.at: New file for install tests using "-bindir". * Makefile.am (TESTSUITE_AT): Add bindir.at. * doc/libtool.texi (Link Mode): Update documentation. * NEWS, THANKS: Update. 2009-09-11 Akim Demaille libtool: clean libconftest.a. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Here. 2009-09-10 Peter Rosin func_win32_libid doesn't work with MS dumpbin * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): The $NM interface is assumed to be BSD nm in func_win32_libid, so check for that before using it. 2009-09-07 Ralf Wildenhues Allow dlopen self test to work with gcc's -fvisibility=hidden. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Declare default visibility for the symbol we are going to test dlopen (NULL) when a GCC version is used that understands the visibility attribute, under the assumption that if -fvisibility=hidden will be used, the user code will be sufficiently annotated for visibility of needed symbols from the main executable. * THANKS: Update. Report by Josh Hursey against OpenMPI. Fix and split recent testsuite addition for compile/link flags. * tests/flags.at (passing flags through libtool): Split into ... (passing CC flags through libtool) (passing CXX flags through libtool) (passing F77 flags through libtool) (passing FC flags through libtool) (passing GCJ flags through libtool): ... these five tests, factorized with m4_foreach. Fix F77 and FC compile and link commands; add GCJ tag. Use LT_AT_TAG to correctly skip tags for which no compiler exists. Use $EXEEXT where appropriate. Drop unneeded use of reload_cmds. Reports by Peter Rosin and Peter O'Gorman. 2009-09-07 Peter O'Gorman Testsuite keyword 'interactive' and check-* rules. * Makefile.am (testsuite_deps, testsuite_deps_uninstalled): New variables. (check-local, installcheck-local): Use them. (check-interactive, check-noninteractive): New rules. * tests/link-order2.at (Link order of deplibs), tests/static.at (static linking flags for programs): Add keyword `interactive'. * doc/libtool.texi (Test descriptions): Document all keywords used in the Libtool test suite. * NEWS: Update. Fix failure test in the presence of --with-pic or -prefer-pic. * tests/fail.at (Failure tests): Run non-PIC failure test only if pic_mode is 'default' or 'no', rather than 'default' or 'yes' and also -prefer-pic has not been passed in $CFLAGS. * THANKS: Update. Report by Donn Washburn. Add testsuite exposure for passing of compiler and linker flags. * tests/flags.at (passing flags through libtool): New file, new test, for bug fixed in previous commit. * Makefile.am (TESTSUITE_AT): Add tests/flags.at. 2009-09-04 Peter Rosin Make -Wc,FLAG behave like -Xcompiler FLAG in link mode. * libltdl/config/ltmain.m4sh (func_mode_link): Remove "-Wc," instead of replacing it with "$wl" when linking programs through the compiler driver, just as is the case when linking libraries. * NEWS: Update. 2009-08-23 Lennart Poettering (tiny change) Shut up prototype warnings with recent GCC and -Wstrict-prototypes. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Use recent GCC's diagnostic pragma to override a -Wstrict-prototypes setting for the symbol list code. * THANKS: Update. 2009-08-23 Ralf Wildenhues Remove __oline__ from macros, for less spurious configure diffs. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) (_LT_COMPILER_C_O, LT_PATH_NM): Replace __oline__ instances with $LINENO. * NEWS: Update. 2009-07-24 Roumen Petrov (tiny change) Fixup 'execute mode' test for w32. * tests/execute-mode.at (execute mode): Add missing $EXEEXT. (LDFLAGS): Add -no-undefined. 2009-07-01 Yaakov Selkowitz (tiny change) Charles Wilson [CXX] Use correct export_dynamic_flag_spec for PE-COFF $hosts * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec as -Wl,--export-all-symbols here as well (see commit 5f2bbb494a2753afb2878c399cfd8316b7403a5b). 2009-06-29 Charles Wilson [mingw] Improve sys_lib_search_path_spec detection. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Fix handling of dos-style paths when parsing $CC -print-search-dirs output. 2009-06-28 Charles Wilson Finish adding alias for obsoleted AC_LIBTOOL_RC macro. * libltdl/m4/libtool.m4: Add reminder comment concerning aclocal-1.4 backwards compatibility. * libltdl/m4/lt~obsolete.m4: Remove unnecessary AC_DEFUN. 2009-06-27 Charles Wilson Add alias for obsoleted AC_LIBTOOL_RC macro. * libltdl/m4/libtool.m4: Add alias for obsoleted macro AC_LIBTOOL_RC. 2009-06-21 Charles Wilson Remove unneeded functions and options from cwrapper * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [lt_opt_process_env_set]: Remove. [lt_opt_process_env_prepend]: Remove. [lt_opt_process_env_append]: Remove. [lt_split_name_value]: Remove. [file scope]: Don't declare removed functions. Remove constants and defines related to eliminated commandline options. [main]: Remove code related to eliminated commandline options --lt-env-set, --lt-env-prepend, --lt-env-append. 2009-06-19 Yaakov Selkowitz (tiny change) Charles Wilson Ensure LT_PATH_LD works when called before LT_INIT * libltdl/m4/libtool.m4 (LT_PATH_LD): AC_REQUIRE _LT_PROG_ECHO_BACKSLASH. 2009-06-14 Ralf Wildenhues Add versioning tests. * tests/versioning.at (versioning): New file, new test. * Makefile.am (TESTSUITE_AT): Adjust. Prompted by bug report from Mike Gorchak. 2009-06-14 Mike Gorchak (tiny change) Ralf Wildenhues Fix versioning computation for QNX. * libltdl/config/ltmain.m4sh (func_mode_link): Set `$current' and `$age' properly for version_type `qnx'. 2009-06-14 Ralf Wildenhues Avoid spurious localization testsuite failure on HP-UX/ia64. * tests/localization.at (localized compiler messages): Skip test if the compiler warning output contains `locale', for HP-UX. 2009-06-10 Ralf Wildenhues Fix concurrent extraction of convenience libraries on Darwin. * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool variable `lock_old_archive_extraction', set to `yes' on darwin. * doc/libtool.texi (libtool script contents): Document it. * libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock `ar x' invocation if `lock_old_archive_extraction' is yes. * tests/darwin.at (darwin concurrent library extraction): New test. * NEWS: Update. Report by Akim Demaille. 2009-06-07 Ralf Wildenhues Fix testsuite failure of lt_dlopenadvise test on FreeMiNT. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not build moddepend for systems without shared libraries. Report by Alan Hourihane. testsuite: avoid failures due to old Automake. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Speficy libmodule_la_SOURCES in Makefile.am as the default source file naming scheme changed in Automake 1.8. * tests/nonrecursive.at (_LT_AT_LTDL_SETUP): Require Automake 1.9.6. * THANKS: Update. Report by Robert Garron. testsuite: add missing @LIBS@ in a link command line. * tests/old-m4-iface.at (AC_WITH_LTDL): Use @LIBS@ when linking. Report by Patrice Fromy. testsuite: cope when some installed libltdl.la has been removed. * tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl to configure, to ensure we do not accidentally link against a previously installed libltdl.so where the corresponding .la file has been removed, thus we do not add a run path, and the runtime linker then fails to find libltdl.so.7. * tests/configure-iface.at (--with-ltdl-include/lib): Remove -L flags from LDFLAGS to avoid picking up an installed libltdl outside of the default locations. * THANKS: Update. Prompted by report from Patrice Fromy. 2009-06-07 Vincent Torri (tiny change) Fix C wrapper invocation for ceGCC hosts (cegcc and mingw32ce). * libltdl/config/ltmain.m4sh (func_mode_link): do not generate C wrapper for cegcc and mingw32ce hosts. (func_emit_cwrapperexe_src): remove useless check on __MINGW32CE__. 2009-06-07 Ralf Wildenhues Don't pick up double-quotes from /etc/ld.so.conf on Ubuntu. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] : Remove embedded double quotes from paths picked up from /etc/ld.so.conf. Fixes libltdl compile failure on Ubuntu 7.10. * THANKS: Update. Report by Camilo La Rota. 2009-06-06 Richard Sandiford Fix GNU nm invocation for AIX. * libldtl/m4/libtool.m4 (_LT_LINKER_SHLIBS) : Modify the GNU-nm-on-AIX version so that it adds weak defined symbols to the export list. Build AIX shared libraries with binutils 2.19.50+. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) : New variable to control whether the GNU ld or native ld interface is used. Set to "no" for GNU ld 2.19.50+ on AIX, otherwise mirror $with_gnu_ld. Update the warning message that is printed when using GNU ld on AIX. Adjust the whole_archive_flag_spec value for GNU ld on AIX. * NEWS, THANKS: Update. 2009-05-27 Peter O'Gorman Don't run compiler checks twice. libltdl/m4/libtool.m4 (_LT_PROG_FC, _LT_PROG_F77, _LT_PROG_CXX): Remove these macros. libltdl/m4/lt~obsolete.m4: Add removed macros here. libltdl/m4/libtool.m4 (_LT_LANG_FC_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_CXX_CONFIG): Remove references to removed macros, and move functionality here. NEWS: Update. 2009-05-05 Rainer Emrich (tiny change) Peter Rosin Ralf Wildenhues Fix cross compilation for HPPA/64 with a BSD file command. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [hpux10.20*, hpux11*, !ia64] : Match the dot in `PA-RISC 2.0' literally. Adjust hppa*64* pattern to also match BSD `file' output, used in cross compilation setups. * THANKS: Update. Report and initial patch by Rainer Emrich, refined by Peter Rosin. 2009-05-05 Ralf Wildenhues libtoolize: ignore trailing junk on scriptversion line. * libtoolize.m4sh (func_install_update): Ignore semi-colon or comment-sign and all following characters when parsing a `scriptversion' line in one of the auxiliary scripts; recent Automake-provided script have a stylized comment to induce Emacs to use UTC. Exposed by the `libtoolize config files serial update' test. 2009-05-02 Ralf Wildenhues Skip localization test when setlocale is not functional. * tests/localization.at (localized compiler messages): Skip test when there is a warning about `LC_ALL'. * THANKS: Update. Report by Maciej Helminiak. 2009-05-02 Alan Hourihane (tiny change) Improved support for FreeMiNT. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [mint]: Hard-code command line length limit to 8192, to avoid long test. * NEWS, THANKS: Update. 2009-05-02 Ralf Wildenhues Initial port for BlueGene BG/L. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [linux]: Detect bgxl*, bgf*, mpixl* compilers. * NEWS, THANKS: Update. Report, feedback and testing by John R. Cary and Christian Rössel. manual: fix grammaros. * doc/libtool.texi (Dlpreopening): Fix grammaro. (C header files): Remove duplicate word. Allow through -tp=* at link time, for pgcc. * libltdl/config/ltmain.m4sh (func_mode_link): Portlant Group pgcc uses `-tp=PROCESSOR' for target processor selection; allow the flag through at link time. Report by Ethan Mallove. Fix quoting of eval'ed variable. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Double-quote $lt_cv_sys_global_symbol_pipe for eval, like we do in ltmain, in order to preserve TABs and multiple adjacent whitespace. Report by Bruno Haible. 2009-04-22 Ralf Wildenhues Cope better with missing `makeinfo' in `bootstrap'. * bootstrap: Update `./doc/notes.txt' last so missing `makeinfo' does not cause a broken tree. * THANKS: Update. Report by Christian Rössel. 2009-03-29 Yaakov Selkowitz (tiny change) Charles Wilson [cygwin] Improve operation with gcc4 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [cygwin*]: Add w32api to sys_lib_search_path_spec without overriding gcc's own search path. 2009-03-29 Yaakov Selkowitz (tiny change) Charles Wilson Use correct export_dynamic_flag_spec for PE-COFF $hosts * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin*|mingw*|pw32*|cegcc*]: Define export_dynamic_flag_spec as -Wl,--export-all-symbols, as required by GNU ld for PE-COFF. 2009-03-29 Charles Wilson Improve compatibility with older automake * libltdl/m4/lt~obsolete.m4: Add AC_DEFUNs for _LT_PREPARE_SED_QUOTE_VARS and _LT_PROG_ECHO_BACKSLASH. Report by Yaakov Selkowitz. 2009-03-20 Peter Rosin LT_OUTPUT should always create the libtool script. * libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the --no-create configure option, and assume that the user wants to use an up-to-date libtool script if the LT_OUTPUT macro is present. * tests/early-libtool.at: Make sure we do not regress. 2009-01-26 Peter Rosin Don't settle for any dumpbin/link program as name lister. * libltdl/m4/libtool.m4 (LT_PATH_NM): When locating dumpbin or link -dump, check if they appear to really be capable of name listing, in order to eliminate e.g. link from coreutils. This makes the name lister decision fall back on nm as the default if no acceptable candidate is found, which mainly happens on (arguably broken) cross compiles. * NEWS: Update * THANKS: Update Reports by Rudolf Leitgeb and Peter Kjellerstedt. 2009-03-03 Ralf Wildenhues Document INNER_TESTSUITEFLAGS, drop leading space. * README: Document INNER_TESTSUITEFLAGS. * tests/cmdline_wrap.at (Run tests with low max_cmd_len): When using INNER_TESTSUITEFLAGS on the testsuite invocation, drop leading space after "-k libtool", so that the user may further limit the set of tests to be run. 2009-03-02 Ralf Wildenhues Fix low max_cmd_len template test on UnixWare. * libltdl/config/ltmain.m4sh (func_mode_link): When expanding $reload_cmds, always put objects in $reload_objs rather than adding them to the command line, to allow more general command lines in reload_cmds. Ensure $reload_objs contains a leading space. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, sco3.2v5*, sco5v6*] : For CC, invoke prelinker before creating reloadable object. (_LT_CMD_RELOAD) : Declare as _LT_TAGDECL, not _LC_DECL. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG) : Initialize from default (C tag) value. * THANKS: Update. Report and analysis by Tim Rice and John Wolfe. 2009-02-28 Ralf Wildenhues * doc/libtool.texi (Distributing libltdl, Test descriptions): Add missing parentheses. 2009-02-28 Tim Rice Fix C++ template handling for old archives on UnixWare 7.1.4. * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [sysv5*, sco3.2v5*, sco5v6*] : For CC, add template prelink step before archiving. Fixes template.at test failures. 2009-02-28 Török Edwin (tiny change) Ralf Wildenhues Do not add bogus directory arguments to link command lines. * libltdl/config/ltmain.m4sh (func_mode_link): Ensure $path is always initialized before it is used. Reported for zsh, for which $path contains $PATH entries even after "emulate sh", see . 2009-02-28 Andreas Schwab Ralf Wildenhues Remove remaining references to CVS. * bootstrap: Remove references to CVS. * README.alpha: Likewise. * clcommit.m4sh: Likewise. * doc/libtool.texi: Bump copyright years. (libtool script contents): Describe macro_revision as revision without reference to CVS. 2009-02-16 Ralf Wildenhues Do not pass $INSTALL via TESTS_ENVIRONMENT. * Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL, so that a bogus relative path to the install-sh script in the source tree is not propagated to the configure scripts of the old test suite. * tests/testsuite.at: Adjust. * tests/install.at (Install tests): Likewise. 2009-02-03 Ralf Wildenhues Kurt Roeckx New test for lt_dlopenext error message. * tests/lt_dlopenext.at (lt_dlopenext error messages): New file, with new test, with sources taken from the Autobook example. * Makefile.am: Update. 2009-02-03 Kurt Roeckx lt_dlopenext sets error upon successful library load. * libltdl/ltdl.c (lt_dlopenadvise): Fix bogus error on successful loading of library with lt_dlopenext. Report by Kaiwang Chen in . 2009-02-01 Ralf Wildenhues Fix sed script in install.at. * tests/install.at (Install tests): Fix typo in sed script, fixes test failure on HP-UX. Fix $INSTALL in testsuite with relative path to install-sh. * tests/testsuite.at: If `$INSTALL' points to in-tree install-sh, override a possibly-relative path to it with an absolute one. install mode: do not pass `-m $install_override_mode' to cp. * libltdl/config/ltmain.m4sh (func_mode_install): New variable $install_cp, factor test when `cp' is used for installation. Do not pass mode override to cp. Fixes `libtool --mode=install cp ...' on HP-UX; cp should not be used for libraries that might be needed by programs invoked during the installation process. Fix sed script portability issue in func_version. * libltdl/config/getopt.m4sh (func_version): Remove space in `/\./! {' sed command, to please HP-UX sed. 2009-01-31 Jeff Squyres Ralf Wildenhues New test for bogus lt_dlopen error message. * tests/lt_dlopen.at (lt_dlopen error messages): New file, new test, marked as XFAIL for now. * Makefile.am: Adjust. Report and reproducible test case by Jeff Squyres. 2009-01-31 Ralf Wildenhues execute mode: do not transform *.lo or *.la arguments. * libltdl/config/ltmain.m4sh (func_mode_execute): Do not check arguments matching *.lo or *.la for script wrappers. * tests/execute-mode.at (execute mode): Add tests. * NEWS, THANKS: Update. Report by Paul Biggar. Nonexistent `main' does not guarantee link failure. * tests/fail.at (Failure tests): Use an unresolved symbol, rather than non-presence of `main', to provoke a link failure also on QNX. Only check for failure of the libtool script if the link without libtool would have failed, too. Report by Mike Gorchak. Use AT_CHECK more liberally in duplicate members test. * tests/duplicate_members.at (duplicate members in archive tests): Wrap link commands in AT_CHECK, they might fail, as seen on QNX. * THANKS: Update. Report by Mike Gorchak. 2009-01-30 Akim Demaille Fix cwrapper warnings from MSVC 2005. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: define _CRT_SECURE_NO_DEPRECATE. 2009-01-29 Akim Demaille Fix bootstrap with older libtool.m4 in reach of aclocal. * libltdl/m4/lt~obsolete.m4: Add stub definitions for _LT_REQUIRED_DARWIN_CHECKS and _LT_AC_PROG_CXXCPP. Fix func_exec_init. * tests/defs.m4sh (func_exec_init): Instead of using the undefined my_dir, call func_dirname_and_basename and use its result. (func_make): For consistency, don't use the useless local variable my_dir. 2009-01-29 Ralf Wildenhues Document --mode short-hands better, and test them. * doc/libtool.texi (Invoking libtool): Give examples for using the `--mode=MODE' short-hand `MODE', or abbreviations thereof. * libltdl/config/ltmain.m4sh: Mention the short-hand for MODE in the --help output. * tests/help.at (mode short-hands): New test group. Suggestion by Bruno Haible. func_version copes with multi-line copyright headers. * libltdl/config/getopt.m4sh (func_version): Slurp in copyright lines until a period is found. * libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use now. * tests/help.at (standard command line options): New file, new tests. Make this test group the first one for libtool tests, moving the banner ... * tests/duplicate_members.at: ... from here. * Makefile.am (TESTSUITE_AT): Add tests/help.at. 2009-01-29 Akim Demaille Ralf Wildenhues Normalize compiler output due to compiler wrappers. * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New macro, to normalize ccache and distcc output. * tests/localization.at (localized compiler messages): Use it. 2009-01-29 Peter Rosin Make modified libtool script in cwrapper test executable * tests/cwrapper.at: Make modified libtool script executable. Report by Roumen Petrov. 2009-01-28 Akim Demaille Clean space uses. * libtoolize.m4sh: Remove trailing spaces. Use , as some editors remove "useless" spaces in . 2009-01-26 Peter Rosin AWK is required, make sure it is set. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS: Make sure AWK is set (automake brings it in, but is not always used). Fixes old-m4-iface.at on MSYS/MSVC. 2009-01-25 Mike Frysinger Fix typo in libtool install mode documentation. * libltdl/config/ltmain.m4sh (func_mode_help): Change -inst-prefix to -inst-prefix-dir. * doc/libtool.texi (Install mode): Likewise. 2009-01-24 Charles Wilson Add -Wall to cwrapper tests. * tests/cwrapper.at: Add -Wall existing tests. Add additional round of tests with -Wall alone. 2009-01-24 Charles Wilson [cygwin|mingw] cwrapper cleanups. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: re-organized includes and portability macros. Avoid oldnames on MINGW32 and MSVC for setmode/stat/chmod/getcwd/putenv. Declare _putenv on MINGW32 when -ansi. Use namespaced macro LT_DEBUGWRAPPER. 2009-01-24 Peter Rosin Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is argument $3, not $2. 2009-01-23 Charles Wilson Add tests for cwrapper with -std=c89 and -std=c99 * tests/cwrapper.at: New file. * Makefile.am: Add tests/cwrapper.at. 2009-01-22 Peter Rosin Unify line endings in localization test. * tests/testsuite.at: Update copyright year. (LT_AT_UNIFY_NL): Add macro that unifies line endings on platforms that suffer from such confusion. * tests/localization.at: Use it. Update copyright year. Fixes the test on MSYS/MSVC. 2009-01-21 Charles Wilson [cygwin|mingw] Fix compile warnings when -std=c89. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): move contents to... (func_emit_wrapper_part2): move contents to... (func_emit_wrapper): here. (func_emit_cwrapperexe_src) [file scope]: Remove variables script_text_part1 and script_text_part2. (func_emit_cwrapperexe_src) [lt_dump_script]: New function. (func_emit_cwrapperexe_src) [main]: Call it. 2009-01-21 Charles Wilson Minor cygwin cleanup * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Correct case pattern for cygwin. 2009-01-19 Ralf Wildenhues Avoid failure due to Cygwin path detection bug. * tests/execute-mode.at (execute mode): Ignore noise on stderr; Cygwin might consider `d\"e' to be a DOS-style path and warn. Report by Charles Wilson. 2009-01-19 Robert Millan Support GNU/kOpenSolaris. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [kopensolaris*-gnu]: Recognize GNU/kOpenSolaris. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS, THANKS: Update. 2009-01-19 Ralf Wildenhues Another LT_AT_EXEC_CHECK fixup. * tests/shlibpath.at (shlibpath_overrides_runpath): Use LT_AT_EXEC_CHECK instead of AT_CHECK. 2009-01-19 Roumen Petrov (tiny change) Add missing $EXEEXT to java test. * tests/convenience.at (Java convenience archives): Add $EXEEXT. 2009-01-19 Ralf Wildenhues Bump copyright years. * ChangeLog.2008: New, rotated from ... * ChangeLog: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog.2008. * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years. * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise. * libtoolize.m4sh: Likewise. 2009-01-14 Peter Rosin Fix flakey mdemo-dryrun test on MSYS (again!) * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, not time, for really fresh files. Add sleep 1 call at yet another strategic position. Makes the test pass reliably for MSYS/MinGW. 2008-12-19 Akim Demaille Fix copyright notice. * libltdl/config/ltmain.m4sh: Add missing comma. 2008-12-17 Ralf Wildenhues Add cache variables to link tests. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS): Add cache variables to tests that require the linker to work. For shlibpath_overrides_runpath, this also changes the semantics to let the result from the C compiler take precedence. * tests/no-executables.at (AC_NO_EXECUTABLES): New file. * Makefile.am: Update. * NEWS: Update. Report of shlibpath_overrides_runpath issue by Mike Frysinger, report of GCC issue by Andreas Schwab. 2008-11-28 Paolo Bonzini Fix inadvertent commit. * bootstrap: Revert. 2008-11-28 Paolo Bonzini Fix manual typo. * doc/libtool.texi (LT_INIT): Use correct config.status invocation. Reported by Akim Demaille. 2008-11-28 Paolo Bonzini Do not use $ECHO within eval-ed `...`, as %s\\n becomes %s\n. * HACKING: Document func_echo_all. * libltdl/m4/libtool.m4: Use it within backticks that appear in eval-ed variables. Reported by Akim Demaille. 2008-11-24 Ralf Wildenhues Fix func_infer_tag $ECHO usage; some testsuite exposure. * libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all rather than $ECHO for possibly multiple arguments. * tests/infer-tag.at (inferred tag, CXX inferred tag) (F77 inferred tag, FC inferred tag, GCJ inferred tag): New file, new tests. * Makefile.am: Adjust. * tests/runpath-in-lalib.at (Runpath in libtool library files): Add $EXEEXT overlooked in patch yesterday. 2008-11-23 Ralf Wildenhues Fix expout and experr line ending issues. * tests/testsuite.at (LT_AT_HOST_DATA): Renamed from.. (_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this. (LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use _LT_AT_TRANSLATE_TEXT_OUTPUT any more. * tests/configure-iface.at: Use LT_AT_HOST_DATA instead of AT_DATA for `expout' files. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Likewise. * tests/need_lib_prefix.at (enforced lib prefix): Likewise. Report by Roumen Petrov. Relax link-order2 test for systems with partial wrong order. * tests/link-order2.at (Link order of deplibs.): On w32 (and others, e.g., AIX), the wrongly linked executable picks up only one instance of the bad function instead of two; relax the test to accept this; we still require the right link order with the correctly linked executable. Reported by Roumen Petrov and others. 2008-11-23 Roumen Petrov Ralf Wildenhues Add $EXEEXT to all linked programs in the new testsuite. * tests/convenience.at, tests/ctor.at, tests/darwin.at, tests/deplibs-ident.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/export.at, tests/fail.at, tests/indirect_deps.at, tests/inherited_flags.at, tests/link-order.at, tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at, tests/need_lib_prefix.at, tests/runpath-in-lalib.at, tests/search-path.at, tests/shlibpath.at, tests/static.at, tests/stresstest.at, tests/template.at, tests/testsuite.at: Use $EXEEXT throughout, except in Makefile.am snippets where automake takes care of it, and in testsuite macros that take care of the extension. Reports by Roumen Petrov and Alon Bar-Lev. 2008-11-23 Ralf Wildenhues Adjust executable run tests to cwrapper changes. * tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit status flattening. Rewrite to prefer the executable with the `.exe' prefix over one without. Test exit status against expected exit status, not against zero, when determining whether this may be a cross-compilation-induced result. (LT_AT_NOINST_EXEC_CHECK): Likewise. * tests/static.at (static linking flags for programs): Adjust calls. Report by Roumen Petrov. No trailing period in Autotest test group names. * tests/link-order.at (Link order test): Drop trailing period from test name. * tests/link-order2.at (Link order of deplibs): Likewise. 2008-11-23 Vincent Torri (tiny change) Fix func_emit_cwrapperexe_src for WinCE: no errno support. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [__MINGW32CE__]: Do not use errno, do not include errno.h and remove calls related to errno when using the mingw32ce compiler. 2008-11-23 Ralf Wildenhues No libm in WinCE. * libltdl/m4/libtool.m4 (LT_LIB_M) [cegcc*]: This system has only a dummy libm, ignore. Report by Vincent Torri. Fix import library detection for WinCE. * libltdl/config/ltmain.m4sh (func_win32_libid): Work for pe-arm-wince import libraries. * NEWS: Update. Report by Vincent Torri. 2008-11-23 Ralf Wildenhues Eric Blake Fix $ECHO test to not influence other _AS_DETECT_SUGGESTED code. * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Fix test to not influence further tests registered with _AS_DETECT_SUGGESTED and do not use a PATH below /tmp, to avoid influence by a third party. 2008-11-23 Alon Bar-Lev (tiny change) Fix func_win32_libid for 64-bit Windows. * libltdl/config/ltmain.m4sh (func_win32_libid): Accept file format 'pe-x86-64'. * NEWS: Update. 2008-11-23 Ralf Wildenhues Avoid newlines in some AT_CHECK commands. * tests/standalone.at (linking libltdl without autotools): Wrap lines with dnl, to avoid turning off tracing of AT_CHECK. * tests/subproject.at (linking libltdl without autotools): Likewise. Replace uses of $SED $basename. * libltdl/config/ltmain.m4sh (func_mode_link): Replace instances of `$ECHO ... | $SED' with calls to func_basename. * libtoolize.m4sh (func_copy, func_serial) (func_massage_aclocal_DATA): Likewise, replace with func_dirname_and_basename. * tests/defs.m4sh (func_configure_nofail, func_make, func_exec): Likewise. No need to prepend $progname with './'. * libltdl/config/general.m4sh (func_dirname_and_basename): $ECHO copes with leading hyphens now, so do not mangle $progname any more. Revenge of the $ECHO. Kill most uses of Xsed. * libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..." | $Xsed' with `$ECHO "..." | $SED', and employ further trivial simplifications. Replace $ECHO with echo where appropriate. (func_echo_all): New function. * libltdl/config/getopt.m4sh: Likewise simplifications. * libltdl/config/ltmain.m4sh: Likewise. * libltdl/m4/libtool.m4: Likewise. (LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the command line is passed through an exec* function. * libtoolize.m4sh: Likewise simplifications. Use func_echo_all to implement --dry-run. * tests/defs.m4sh: Likewise simplifications. * tests/quote.test: Likewise simplifications. Fix matching of Sun Fortran compiler on Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: Also match `Sun Ceres Fortran' compiler; reorder with C compiler matching. * THANKS: Update. Report by Ethan Mallove. 2008-11-21 Charles Wilson Fix --verbose option; add new --no-{silent|quiet|verbose} options. * libltdl/config/ltmain.m4sh (usage): Document new options --no-silent/--no-quiet and --no-verbose. (func_enable_tag): Handle new options. Modified --verbose to actually activate opt_verbose. New behavior: --silent disables both "normal" output and func_verbose output. --verbose enables both "normal" output and func_verbose output. --no-silent enables "normal" output, but does not affect func_verbose output. --no-verbose disables func_verbose output, but does not affect "normal" output. * NEWS: announce new options --no-silent/--no-quiet, and --no-verbose. * doc/libtool.texi: document new options --no-silent/--no-quiet and --no-verbose. 2008-11-20 Ralf Wildenhues Fix match patterns for cegcc*. * libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*' instead of '*cegcc' for $host_os. * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Likewise. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match '*-*-cegcc*' for $host. Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS. * libltdl/m4/libtool.m4 (LT_INIT): Require AC_CONFIG_AUX_DIR_DEFAULT. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to expose this. Report, analysis, and test example by Jakub Bogusz. Check for bogus aclocal.m4 contents in bootstrap and dist-hook. * Makefile.am (dist-hook): Bail out if shipped aclocal.m4 files contain LT_INIT, AC_PROG_LIBTOOL, or AM_PROG_LIBTOOL macro definitions. These can only come from bogus pull-ins from older installed Libtool macro files. * bootstrap: Likewise. Report by Akim Demaille. 2008-11-16 Ralf Wildenhues Fix $ECHO abuse exposed by recent patch. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require _LT_CHECK_SHELL_FEATURES, for $lt_NL2SP. Always quote argument to $ECHO. Skip sys_lib_search_path on systems without libz. * tests/search-path.at (sys_lib_search_path): Autotest needs at least one AT_CHECK executed in a test group. So if we haven't found -lz anywhere, as may happen with cross-compilers, skip the test. * THANKS: Update. Report by Alon Bar-Lev. Fix execute mode test to actually expose cwrapper failures. * tests/execute-mode.at (execute mode): Actually also test the cwrapper on the arguments. Report by Bruno Haible. 2008-11-15 Charles Wilson Add func_win32_import_lib_p. * libltdl/config/ltmain.m4sh (func_win32_import_lib_p): New function. 2008-11-12 Ralf Wildenhues Fix archive_cmds for older cc on HP-UX 11. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hp-ux11*, !GCC] [!hppa*64*, !ia64*] : Older releases of the HP-UX 11.00 C compiler do not support -b yet; use a link test to decide whether $LD should be used for library creation. * THANKS: Update. Report by Daniel Richard G. 2008-11-12 Paolo Bonzini * configure.ac: Bump Autoconf requirement. * libltdl/config/general.m4sh: Use $as_echo as default $ECHO. * tests/testsuite.at: Use $as_echo as default $ECHO. * libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to work around Autoconf <2.64 bug. (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo. Eliminate lt_ECHO requoting. (_LT_SHELL_INIT): Use a public M4sh diversion. (_LT_PROG_ECHO_BACKSLASH): Rewrite. (LT_CMD_MAX_LEN): Do not use --fallback-echo. * libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo handling. (func_fallback_echo): New. (func_emit_wrapper_part1): Quote ECHO. Remove --no-reexec and --fallback-echo handling. (Execute mode): Do not set qecho. 2008-11-12 Ralf Wildenhues Use -no-undefined in install tests. * tests/install.at (Install tests): Use `-no-undefined'. 2008-11-11 Ralf Wildenhues Do not use `test ... -a ...'. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [hpux10, hpux11]: Replace test -a with test && test. 2008-11-11 Roumen Petrov (tiny change) Fix destdir tests in cross compile mode. * tests/destdir.at (Simple DESTDIR install) (DESTDIR with in-package deplibs): Use $EXEEXT throughout. * THANKS: Update. 2008-11-11 Ralf Wildenhues Simplify cwrapper handling a bit. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1) (func_emit_wrapper_part2, func_to_host_path) (func_to_host_pathlist, func_emit_wrapper): Simplify using default argument, func_append. 2008-11-10 Paolo Bonzini Separate part of _LT_SETUP into other macros, detect ECHO sooner. * libltdl/m4/libtool.m4 (_LT_PREPARE_SED_QUOTE_VARS): New macro, extracted from... (_LT_SETUP): ... here. Require _LT_PROG_ECHO_BACKSLASH sooner. 2008-11-10 Paolo Bonzini Fix quoting when config.status generates libtool config. * libltdl/m4libtool.m4 (_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Double quote ECHO-ed variables. 2008-11-10 Paolo Bonzini Use documented M4sh interfaces. * clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions. * libltdl/config/mailnotify.m4sh: Likewise. * libtoolize.m4sh: Likewise. * tests/defs.m4sh: Likewise. * tests/testsuite.at: Move AT_INIT invocation at the top. * libltdl/m4/libtool.m4 (_LT_INIT_GENERATED): New. (LT_OUTPUT): Use it. * libltdl/config/general.m4sh (M4SH_IN_HEADER): New. (progpath): Move setting before $0 could be clobbered. * libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New. 2008-11-10 Paolo Bonzini Run sh.test on the M4sh source. * tests/defs.m4sh (scripts): Point to pre-m4 sources. 2008-11-10 Paolo Bonzini Avoid that autom4te complains about unexpanded macros. * libtoolize.m4sh: Allow occurrences of "dnl" and use quadrigraphs to protect other m4 macros. 2008-11-11 Bruno Haible Ralf Wildenhues Fix cwrapper argument mangling on w32. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On mingw, preprocess the argument vector through prepare_spawn. * tests/execute-mode.at (execute mode): Output args newline-separated. Extend tests by more argument pairs that contain special characters, where the w32 cwrapper fails. Also test a real compiled program, linked against an uninstalled library, to expose cwrapper issues. * NEWS: Update. 2008-11-10 Ralf Wildenhues Update to GFDL 1.3. * doc/fdl.texi: Update to GFDL 1.3. * doc/libtool.texi: Adjust. * NEWS: Update. 2008-11-09 Alexei Sheplyakov (tiny change) Fix cross compilation with wine for the case SHELL != bash. * libltdl/config/ltmain.m4sh (func_to_host_path): Avoid escape sequence interpretation by 'echo', for w32-style paths. * THANKS: Update. 2008-10-28 Michael Haubenwallner (tiny change) Fix checks for unsupported allow_undefined_flag. * tests/tagdemo-undef.test: Match allow_undefined_flag correctly, for SKIPping. * tests/cdemo-undef.test: Likewise. 2008-10-26 Ralf Wildenhues * tests/testsuite.at (_LTDL_PROJECT_FILES): Fix dependencies for parallel make. * libtoolize.m4sh (func_nonemptydir_p): Fix typo in error message. 2008-10-15 Ralf Wildenhues Fix Autoconf 2.59 incompatibilty. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): m4_pattern_allow `LT_LIBEXT'; Autoconf 2.59's AC_DEFINE* macros didn't do this automatically yet. * NEWS, THANKS: Update. Report by Marcel Loose. 2008-10-05 Ralf Wildenhues Atomic shared library install permissions on HP-UX. The HP-UX 11 runtime linker fails to mmap shared libraries without execute permissions. Fixing them with postinstall_cmds may be too late, as ln, sed, and chmod may link against the library being installed. * libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL. (_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it. * libltdl/config/ltmain.m4sh (func_mode_install): Build a second command line, $install_shared_prog, for the installation of the shared library. Override resp. set the permission mode if install_override_mode is nonempty. * doc/libtool.texi (libtool script contents): Document it. * tests/install.at (Install tests): New test. * Makefile.am (TESTSUITE_AT): Adjust. (TESTS_ENVIRONMENT): Pass INSTALL. Report by Bruno Haible. 2008-09-26 Eric Blake Avoid gcc warning. * libltdl/loaders/loadlibrary.c (vm_open): Don't check for array being a NULL pointer. 2008-09-20 Ralf Wildenhues Man pages for libtoolize and libtool, new command line option --help-all. * Makefile.am (dist_man1_MANS, update_mans): New macros. ($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New rules. Use --help-all for libtool. (MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS. (BUILT_SOURCES): Add libtoolize. * configure.ac: Check for help2man, set HELP2MAN. * doc/libtool.texi: Add @direntry for libtool-invocation. (Invoking libtool): Document -h, --help-all. Reorder mode description for consistency. (Compile mode): Do not document -Wl,FLAG and -XCClinker here. (Link mode): Document -Wc,FLAG here, reformat a bit. * libtoolize.m4sh: Reformat --help output a bit, to help help2man. * libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to `libtool', not `ltmain.sh', so the former is used in the man page. New argument `--help-all'. If given, call func_help and func_mode_help several times, beating output in shape with sed. (func_mode_help): Do not exit here. * libltdl/config/getopt.m4sh (func_usage): Work with different indentations, but require comment hash in first column, when grepping for '-h' in usage to end short help. (func_help): Accept optional argument to not exit. * NEWS, THANKS: Update. Suggestion by Karl Berry. 2008-09-08 Gary V. Vaughan Use `-version-info 9:0:2' for one added iface since 2.2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Make the libltdl version number match 2.2.6a rerelease. Add ./commit option for pushing tags back to origin. * clcommit.m4sh (opt_tags): New --tags push option. (func_commit): Run `$GIT push --tags' if --tags was passed. * HACKING (Release Procedure): Note the requirement to pass --tags to ./commit for new release tag to be push back to origin. 2008-09-07 Gary V. Vaughan Retire gnu.org news.html in favour of savannah news. * HACKING (Release Procedure): Add instructions for sending a web release announcement to http://planet.gnu.org via the savannah news manager. Add untested git push conflict testing to commit script. * clcommit.m4sh (func_check_conflicts): Test return status of 'git push --dry-run', and display an error on non-zero. Enable release procedure to work with lzma OLDRELEASE file. * Makefile.maint (diffs, prev-tarball, new-tarball): If lzma tarballs are present use them to generate the diffs, otherwise use gz tarballs if they are present, or else complain if both are missing. Set SCM version number to 2.2.7a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.7a. * NEWS: Updated. GNU Libtool 2.2.6 was released. Fix typo in Makefile.maint. * Makefile.maint (git-news): Renamed to check-news, since it doesn't actually run git. Adjust all dependees. Run `git commit -a' when no files are passed. * clcommit.m4sh (func_commit): Add -a argument if necessary. Prepare for next stable release. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Update. * libltdl/m4/libtool.m4: Bump serial number to account for changes since 2.2.4 release. * INSTALL, config/config.guess, config/texinfo.tex: Updated from canonical source. * configure.ac (AM_INIT_AUTOMAKE): Specify dist-lzma, which was introduced after automake-1.10 was released. (abs_top_srcdir, abs_top_builddir): No need to substitute these from configure anymore, since we require automake 1.10.1, which does perform the substitutions properly. (TIMESTAMP): Normal releases were displaying the long-form timestamp. Fix to show the short release timestamp as per alpha release numbers. * NEWS: Update with missing entries from ChangeLog. * HACKING (Release Procedure): We release lzma tarballs now but no xdeltas. * Makefile.maint: Updated to match Release Procedure instructions in HACKING. Convert mailnotify headers to git. * clcommit.m4sh: Improve mailnotify contents. Make ./commit useful again. * clcommit.m4sh: Major overhaul and simplification for git. 2008-09-06 Gary V. Vaughan Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures with --program-prefix, where the test case output contains the transformed name somewhere other than the beginning of a line. * libtoolize.m4sh (func_check_macros): Be sure to always use the transformed name in output messages. 2008-09-04 Ralf Wildenhues Do not remove .gcno files when linking. * libltdl/config/ltmain.m4sh (func_mode_link): When removing potential output files before linking, do not remove *.gcno profile information GCC outputs next to object files in `.libs'. Report by Vincent Torri. 2008-09-01 Peter O'Gorman Revert 75142db4f8afc65ba7aae0ed80ea0b35bd9cc382 (AIX libltdl dlopen(NULL) * libltdl/m4/ltdl.m4: Remove LTDL_DLOPEN_SELF_WORKS define. * libltdl/loaders/dlopen.c: Remove LTDL_DLOPEN_SELF_WORKS check. * libltdl/m4/libtool.m4 [aix]: Set export_dynamic_flag_spec to -Wl,-bexpall. This is a temporary workaround until a real fix is implemented. * NEWS: document it. 2008-08-26 Peter O'Gorman Allow for extensions other than .a for preloaded modules. * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT. * libltdl/ltdl.c (lt_dladvise_preload): Use it. Reported by Ralf Wildenhues. 2008-08-26 Peter O'Gorman , Ralf Wildenhues Remove unnecessary global argz functions. * libltdl/argz.c (argz_add,argz_count): Remove. * libltdl/argz_.h (argz_add,argz_count): Remove. * NEWS: Announce it. * tests/ltdl-api.at: Test so we don't repeat it. * Makefile.am: Add new test. 2008-08-22 Ralf Wildenhues Initial support for Lahey Fortran on GNU/Linux. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux] : Add support for Lahey Fortran 8.1. * NEWS, THANKS: Update. Suggested by Craig Tierney. 2008-08-21 Sam Thursfield (tiny change) Avoid leading separator in PATH for DLL search. * libltdl/config/ltmain.m4sh (func_mode_link) [cygwin, mingw] [ pw32, os2, cegcc]: Fix dllsearchpath not to contain leading separator. * THANKS: Update. 2008-08-21 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Quote $#. Disallow `-L path', do not misparse it silently. * libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L' without argument, and `-L path', i.e., with a space. * tests/fail.at (Failure tests): Test for these failures. * THANKS: Update. Report by Olaf Lenz. 2008-08-16 Ralf Wildenhues Avoid test failure due to broken dlpreloading of shared library. * tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop some newlines in AT_CHECK commands, for better 'testsuite -x' output. Only create a static installable libpreload.la, to avoid exposing the bug libtool currently has with preloading of shared libraries. Add a note to revisit this later. 2008-08-12 Ralf Wildenhues Parallel make testsuite fixes. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Add dlopened libmodule.la to main_DEPENDENCIES. * tests/old-m4-iface.at (AC_WITH_LTDL): Likewise, let ltdldemo depend upon module.la and libltdl/libltdlc.la. * tests/testsuite.at (LT_AT_MAKE): Invoke each target in turn, default to 'all'. * tests/early-libtool.at (config.lt): Define 'all' target. * HACKING: Update for git, fix some minor nits. 2008-08-11 Ralf Wildenhues Remove use of exit in configure test sources. * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Return from main, to avoid using undeclared exit. Report against OpenMPI from Coverity via Jeff Squyres. * tests/configure-iface.at (convenience libltdl): Ignore warning from parallel make. 2008-08-07 DJ Delorie * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [tpf] : Fix typo in variable name. 2008-08-06 Steve Ellcey Use -fPIC with GCC on HP-UX/ia64. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [ia64-*-hpux*]: Specify -fPIC when using GCC to build shared libraries. 2008-08-01 Ralf Wildenhues * NEWS: Minor fixups. 2008-08-01 Gary V. Vaughan Bring NEWS up to date. * NEWS: Add missing summaries since 2.2.4 release. Implement lt_dlopening of only preloaded modules. * libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that provides lt_dladvise_preopen when deciding if installed libltdl is 'new enough'. * libltdl/libltdl/lt__private.h (lt__advise): Add a new is_preload flag. * libltdl/ltdl.c (lt_dladvise_preload): New api call to set it. (try_dlopen): If it is set, and the search of preloaded modules didn't return a match, don't bother searching the filesystem. * libltdl/ltdl.h (lt_dladvise_preload): Declare it. * doc/libtool.texi (Libltdl Interface): Document it. * tests/lt_dladvise.at: Test it (and incidentally add some test coverage for `libtool -dlpreopen'). * NEWS: Announce it. 2008-08-01 Vincent Torri Add cegcc (Windows CE/PocketPC) support. * libltdl/config/ltmain.m4sh: Add 'cegcc' case where needed. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, LT_SYS_DLOPEN_SELF) (_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD) (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG): Likewise. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Likewise. * NEWS: Update. * THANKS: Update. 2008-07-31 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_to_host_path): Fix sh.test failure. Report by Paolo Bonzini. 2008-07-31 Paolo Bonzini * ltmain.m4sh (func_emit_cwrapperexe_src): Factor multiple closed braces into the next cat command. 2008-06-19 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC. * tests/localization.at: Skip test if the compiler fails merely due to the locale setting. * THANKS: Update. Report by Vincent Lefevre. 2008-06-17 Ralf Wildenhues * doc/libtool.texi (Linking executables, Static libraries) (Modules for libltdl, Distributing libltdl): Remove TABs from the manual. 2008-06-13 Peter O'Gorman Support ifort on darwin. * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Build shared libraries with ifort. Reported by Christopher Hulbert. 2008-06-01 Charles Wilson [mingw] fix cross-compile-with-wine case * libltdl/config/ltmain.m4sh (func_to_host_path) [host=mingw, build!=mingw|cygwin]: check that winepath stdout is non-empty and exit code is 0, instead of checking stderr. Reported by: Roumen Petrov 2006-06-01 Stas Maximov (tiny change) Check only regular files, not devices, for lalibs. * libltdl/config/ltmain.m4sh (functions func_lalib_p) (func_lalib_unsafe_p): Only read regular files and not device files. Avoids blocking libtool executing gdb, when a pseudo-terminal device /dev/pts/NN is given as one of the arguments to gdb, as in: libtool --mode=execute gdb -q -nw -i mi -tty /dev/pts/4 prog 2008-05-31 Peter O'Gorman Skip darwin test if fat link fails. * tests/darwin.at: Skip if we can not link a fat program. Reported by Daniel Macks 2008-05-26 Ralf Wildenhues libtoolize should not remove config.guess, config.sub. * libtoolize.m4sh (all_pkgconfig_files): Do not list config.guess nor config.sub. We don't install them without --install, and the project may not be using Automake. Report by Andreas Schwab. Simplify argument parsing in cwrapper. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Use NULL where appropriate. Do not compute length of arguments needlessly. 2008-05-25 Charles Wilson [mingw] Add cross-compile support to cwrapper * libltdl/config/ltmain.m4sh (func_to_host_path) [$host=mingw]: If present, use winepath to convert from $build to $host if $build is neither mingw (msys) nor cygwin. Use unconverted path as fallback when conversion fails. Also update comments. (func_to_host_pathlist) [$host=mingw]: Ditto. For fallback case, use simplistic ':' to ';' path separator translation. 2008-05-25 Charles Wilson Cwrapper should not eat -- arguments * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: Defined all option strings in terms of macro LTWRAPPER_OPTION_PREFIX. Similarly defined all option string lengths in terms of macro LTWRAPPER_OPTION_PREFIX_LENGTH. [main]: Modified option parsing algorithm to pass -- on to target, and to not stop processing arguments when -- is seen. Added check for unrecognized options in reserved namespace defined by LTWRAPPER_OPTION_PREFIX. 2008-05-25 Ralf Wildenhues Fix ifort settings again. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : Unlike icc and ecc, not all ifort versions understand `-KPIC', e.g. version 10.1, so use `-fPIC' instead. Report by Jeff Squyres. 2008-05-20 Eric Blake Resynchronize argz whitespace changes from gnulib. * libltdl/m4/argz.m4: Kill trailing whitespace. * libltdl/argz.c: Likewise. 2008-05-19 Eric Blake Fix regression from two days ago. * libltdl/m4/ltdl.m4 (_LT_LIBOBJ): Don't refer to deleted macro. 2008-05-17 Eric Blake Speed up bootstrap by improving lt_combine. * libltdl/m4/ltsugar.m4 (lt_combine): Mirror Autoconf 2.62 improvements. Includes a semantic change where the separator can now be empty, and where an empty fourth argument is now treated as a valid suffix. * libltdl/m4/libtool.m4 (_lt_decl_varnames_tagged): Adjust to new semantics of lt_combine. (lt_decl_varnames_tagged): Fix quoting and optimize. Kill _LT_LIBSOURCES; it wasn't checking anything useful. * libltdl/m4/ltdl.m4 (_LT_LIBSOURCES): Delete. (LTDL_INIT): Ignore arguments to AC_LIBSOURCES during _LTDL_SETUP, on the assumption that libtoolize correctly installed them. 2008-05-13 Charles Wilson [mingw|cygwin] Modify cwrapper to invoke target directly. * libltdl/config/ltmain.m4sh (func_to_native_path): New function. If $host is mingw, and $build is mingw or cygwin, convert path to mingw native format. (func_to_native_pathlist): New function. Ditto, for :-separated pathlists. (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: Ensure putenv and setenv are declared. Define HAVE_SETENV. (func_emit_cwrapperexe_src) [main]: Add new constants to hold desired PATH settings; initialize and use functions above to convert to $host format if necessary. Add new command-line options --lt-env-set, --lt-env-prepend, and --lt-env-append. No longer emit wrapper script as integral part of launching child. Remove support for (now) unnecessary $TARGETSHELL. Exec actual target executable directly. (func_emit_cwrapperexe_src) [lt_setenv, lt_extend_str] [lt_split_name_value, lt_opt_process_env_set] [lt_opt_process_env_prepend, lt_opt_process_env_append] [lt_update_exe_path, lt_update_lib_path]: New functions. 2008-05-11 Charles Wilson Ensure cwrapper compiles without warnings under -std=c99. * libltdl/config/ltmain.m4sh (func_emit_wrapper_part1): new function. (func_emit_wrapper_part2): new function. (func_emit_wrapper): delegate to new functions. (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]: ensure realpath is declared. (func_emit_cwrapperexe_src): declare two different strings to each hold part of the wrapper script content. Initialize using new func_emit_wrapper_partX functions. (func_emit_cwrapperexe_src) [main]: when emitting wrapper script content, use both strings. Reported by Yaakov Selkowitz. 2008-05-06 Charles Wilson Ensure $OBJDUMP is defined * libltdl/m4/libtool.m4 (_LT_DECL_OBJDUMP): new macro ensures that $OBJDUMP is always defined sanely. (_LT_SYS_DYNAMIC_LINKER): call it. (_LT_CHECK_MAGIC_METHOD): call it. 2008-05-05 Gary V. Vaughan Fix libtoolize test failure with aclocal < 1.10.1 * tests/libtoolize.at (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Older aclocal requires a space between -I and the directory argument. Reported by Daniel Macks 2008-05-04 Gary V. Vaughan Set SCM version number to 2.2.5a. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.5a. * NEWS: Updated. GNU Libtool 2.2.4 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.4. * libltdl/Makefile.inc (LTDL_VERSION_INFO): C:R+1:A because the interfaces are unchanged, even though we improved the code some more. * NEWS: Updated. Macro file serial updates for next stable release. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: Bump serial numbers to account for changes since 2.2.2 release. Make libtoolize tests work with distcheck. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): When $tst_aclocal is set, transform paths that use it to generic /usr/local/share/aclocal in time for AT_CHECK comparisons. 2008-05-03 Gary V. Vaughan Don't trip over outdated acinclude.m4. * libtoolize.m4sh (all_pkgconfig_files, all_pkgmacro_files) (all_pkgltdl_files): New variables listing all files ever maintained by any release of libtoolize. (func_install_pkgconfig_parent, func_install_pkgltdl_files) (func_install_pkgconfig_subproject, func_install_pkgmacro_parent) (func_install_pkgmacro_subproject): Carefully clean up any files that may have been installed by previous libtoolize releases. * tests/libtoolize.at: New test for libltdl/acinclude.m4 removal. Reported by Andreas Schwab . 2008-05-02 Peter O'Gorman It helps to close quotes. * libltdl/config/ltmain.m4sh (func_mode_link): Add closing '. 2008-05-01 Peter O'Gorman Use AC_CHECK_TOOL for otool and otool64. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_mode_link): Use. Reported by Richard Purdie 2008-04-30 Eric Blake Support cygwin 1.7.0 in loadlibrary loader. * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD) : Check for modern function. * libltdl/loaders/loadlibrary.c (vm_open): Avoid deprecated cygwin_conv_to_full_win32_path. 2008-04-29 Gary V. Vaughan New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing. * libltdl/config/general.m4sh (opt_warning): New option. (func_warning): Only display a warning message if $opt_warning is true. * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS environment variable. (--no-warn): Parse new option. (func_serial_update_check, func_keyword_update): Use func_warning. (func_check_macros): Bail out before style issues nags when $opt_warning is false. * doc/libtool.texi (Invoking Libtoolize): Document it. * tests/libtoolize.at: Test it. * NEWS: Updated. Fix libtoolize test failure with aclocal-1.10.1. * tests/libtoolize.at (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Force aclocal to search the source tree for latest libtool macros. 2008-04-24 Eric Blake Fix bug in 2008-04-21 type improvements. * libltdl/ltdl.c (load_deplibs): Fix casting bug. 2008-04-23 Michael Haubenwallner Use /nonexistent as destination for files not to be installed. * tests/darwin.at (darwin fat compile): Fix typo. * tests/inherited_flags.at (inherited_linker_flags): Change -rpath to /nonexistent. This helps to avoid accidentally picking up libraries below /usr/local. * tests/template.at (simple template test): Likewise. Fixes test failure for additional incompatible libstdc++ in /usr/local. * tests/testsuite.at (configure_options): Add --prefix=/nonexistent. 2008-04-23 Gary V. Vaughan * libtoolize.m4sh (rerun_aclocal): Remove unused variable. Reported by Olly Betts 2008-04-23 Ralf Wildenhues * tests/static.at (ccache -all-static): Ignore link warnings. Report by Gary V. Vaughan. 2008-04-22 Gary V. Vaughan Libtoolize now advises AC_CONFIG_MACRO_DIR use where appropriate. * libtoolize.m4sh (func_check_macros): Always advise use of AC_CONFIG_MACRO_DIR when not able to copy libtool macros into the project tree. * tests/libtoolize.at: New test for correct diagnosis of mismatch between AC_CONFIG_MACRO_DIR and ACLOCAL_AMFLAGS. Update expected output of other tests. * NEWS: Updated. 2008-04-22 Ralf Wildenhues Fix regression over 1.5.26 with ccache $CC -all-static. * libltdl/config/ltmain.m4sh (func_mode_link): Add $link_static_flag to compile_command and link_command only later, instead of right after a possible compiler wrapper. * tests/static.at (ccache -all-static): New test. * THANKS: Update. Report by Richard Purdie. 2008-04-22 Andreas Schwab Ralf Wildenhues Fix default argument for AC_LIBLTDL_CONVENIENCE. * libltdl/m4/ltdl.m4 (AC_LIBLTDL_CONVENIENCE): Default argument to libltdl. (AC_LIBLTDL_INSTALLABLE): Likewise. * tests/configure-iface.at (convenience libltdl): New test. 2008-04-21 Gary V. Vaughan Only complain that files are up-to-date with --force. As a side effect, this also means that when `aclocal' copies the libtool macros into `aclocal.m4' libtoolize complains only about the macro files that are missing or not up-to-date. * libtoolize.m4sh (func_echo_once): New function that prints the contents of a named variable only on the first call. (func_aclocal_update_check): New function that compares serial numbers of libtool macros in aclocal.m4 and only diagnoses the missing files. (func_copy, func_copy_cb, func_copy_some_files, func_serial_update) (func_keyword_update, func_ltmain_update, func_config_update) (func_install_update): Accept a new argument naming a variable containing a header string to print with func_echo_once iff any body text is output by this function. (func_install_pkgmacro_subproject, func_install_pkgmacro_parent) (func_install_pkgltdl_files, func_install_pkgconfig_subproject) (func_install_pkgconfig_parent: Set and pass a suitable header string variable for the above functions. (func_serial_update_check): Don't advise rerunning `libtoolize --force' when aclocal.m4 is not m4_including libtoolize installed macro files. * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Transform generic /usr/local/share/aclocal paths to point into the uninstalled libtool macro directory. * tests/libtoolize.at: Update tests that were checking for old behaviour of outputing `file is already up to date' even when --force was not passed. * tests/libtoolize.at: New tests to prevent regressions of these smarter messages. * NEWS: Updated. Reported by Olly Betts Capture lt~obsolete.m4 serial number correctly in libtoolize. * libltdl/m4/lt~obsolete.m4: Add the filename to the #serial marker so that libtoolize's serial number checks can find it in a non-include using aclocal.m4. * NEWS: Updated. Reported by Olly Betts Allow better compile time type checking for lt_dladvise. * libltdl/lt__private.h (lt__handle, lt__advise): Typedefs removed in favour of... * libltdl/ltdl.h (lt_dlhandle), libltdl/libltdl/lt_dlloader.h (lt_dladvise): ...changing from void* to forward declarations. * libltdl/loaders/dlopen.c, libltdl/loaders/loadlibrary.c, libltdl/lt_dlloader.c, libltdl/ltdl.c: Remove many redundant type casts. * NEWS: Updated. Suggested by Bob Friesenhahn 2008-04-21 Peter O'Gorman basename does not take a list of strings. * libltdl/config/ltmain.m4sh(func_extract_archives): Use sed $basename. * tests/darwin.at: New. Check that we can built fat program, shared library and convenience library. * Makefile.am: Add test. Reported by LiKai Liu Use AC_CHECK_TOOL for lipo too. * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check. * libltdl/config/ltmain.m4sh (func_extract_archives): Use. 2008-04-20 Gary V. Vaughan Fix misleading lt_dlopenadvise documentation. * doc/libtool.texi (lt_dlopenadvise): The last parameter is of type lt_dladvise, not lt_dladvise*. (my_dlopenext): Correct the example too. * NEWS: Updated. Reported by Gary Kumfert 2008-04-19 Ralf Wildenhues Fix testsuite cleanup warnings on AIX with NFS. * tests/testsuite.at [ aix ]: Set file mode creation so that 'others' have no permissions. Shared libraries are kept in memory on AIX after use if they are world-readable, which means on NFS mounts cleanup of test group directories will fail later. * THANKS: Update. Report and analysis by Michael Haubenwallner. Fix nonportable use of expr. * libltdl/config/ltmain.m4sh (func_mode_link) : Fix expr portability issues, noted on FreeBSD. While at it, simplify and avoid forking. Report by Bob Friesenhahn. Exploit shell arithmetic expansion and ${#var}. * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also check for arithmetic expansion, and ${#var}. (_LT_PROG_XSI_SHELLFNS): Define func_arith and func_len accordingly, falling back on 'expr'. Note that the argument to func_len may not start with a hyphen. In the pre-Posix fallback, take care not to rely on the exit status of the variable assignment (not portable), but set the length to $max_cmd_len instead. * libltdl/config/ltmain.m4sh (func_mode_link): Use func_arith and func_len throughout for integer arithmetic, fixing quadratical amount of counting for reloadable object and piecewise archive linking. Change all comparisons with max_cmd_len to test for smaller, non-equal length. * THANKS: Update. Suggested by Roland Mainz. * libltdl/config/ltmain.m4sh (func_mode_compile): Avoid redundant removal of old output files before compilation. Do not remove $obj until we have successfully grabbed the lockfile (in case the compiler doesn't grok `-c -o'), because it might be identical to $output_obj. At the end of the function, before we remove the lockfile, update $removelist so that if the trap hits after the lockfile has been removed, we do not accidentally remove $output_obj that does not belong to us. (func_write_libtool_object): Use $MV instead of mv. 2008-04-18 Andreas Schwab * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Check optional argument. (AC_ENABLE_STATIC): Likewise. (AC_ENABLE_FAST_INSTALL): Likewise. 2008-04-16 Eric Blake Make ChangeLog merges easier. * .gitattributes: New file. * HACKING: Mention how it helps. 2008-04-15 Peter O'Gorman Allow bootstrap from git repository. * Makefile.am: Pass srcdir as an argument to mkstamp and expect only 2 fields in mkstamps output. * clcommit.m4sh: Ditto. * configure.ac: Ditto. * libltdl/config/mkstamp: return a revision and date based on the number of lines which look like dates in all the ChangeLog* files in the directory we got as arg 1. 2008-04-11 Eric Blake Fix usage of setmode without declaration on cygwin. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Ensure setmode has prototype for both mingw and cygwin. 2008-04-10 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Move non-XSI definition of func_dirname_and_basename ... * libltdl/config/general.m4sh (func_dirname_and_basename): ... here, to use it for the other scripts that use general.m4sh (and as portable fallback for libtool). Add marker for early insertion of generated shell functions (into libtool, not the other scripts) here. Use func_dirname_and_basename to compute progname, progpath. * libltdl/config/ltmain.m4sh (func_mode_help): Remove marker for insertion of generated shell functions. * tests/sh.test: Adjust function definition test to not match function call. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS) : New function. * libltdl/config/ltmain.m4sh (func_mode_compile): Use it to avoid two forks with XSI shells. * tests/suffix.test: Also test a file with multiple dots. 2008-04-10 Peter O'Gorman * libltdl/config/ltmain.m4sh (func_win32_libid, func_generate_dlsyms, func_extract_an_archive, func_extract_archives, func_mode_help): move these so they appear after func_mode_compile. * tests/nomode.test: Check that --mode=link --help works. Reported by Josh Triplett 2008-04-07 Gary V. Vaughan * doc/libtool.texi (Libltdl interface): Add missing documentation for lt_dlopenavise. Reported by Anton Erti * configure.ac, libltdl/configure.ac (AM_INIT_AUTOMAKE): Use gnu rather than gnits standards so that version number 2.2.3a is not rejected! Reported by Olly Betts 2008-04-01 Gary V. Vaughan * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.3a. GNU Libtool 2.2.2 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2.2. * libltdl/Makefile.in (LTDL_VERSION_INFO): C:R+1:A because the interfaces are unchanged, even though we improved the code some more. * NEWS: Updated. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4: Bump serial numbers to account for changes since 2.2 release. 2008-03-27 Peter O'Gorman * libltdl/m4/libtool.m4 [_LT_REQUIRED_DARWIN_CHECKS]: Fix the test for -single_module and log it to config.log. Reported by Torok Edwin and Nigel Home. 2008-03-24 Ralf Wildenhues Document that disable-static plus -all-static is not portable. * doc/libtool.texi (Link mode): -all-static does not go well with disable-static on most systems. * tests/static.at (static linking flags for programs) [!aix]: With --disable-static but nonempty link_static_flag, skip the m-all-static link. Do not skip it on AIX, as there the enable_static is self-inflicted, and thus expected to work. * THANKS: Update. Report by Nix. 2008-03-17 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): No need to escape backticks in argument to AC_MSG_WARN or AC_MSG_ERROR. * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE, LTDL_INIT): Likewise. 2008-03-16 Ralf Wildenhues * libltdl/config/ltmain.m4sh (NLS nuisances): Fix quoting of localization variables for shell-active characters. * tests/localization.at (localized compiler messages): Extend test. * THANKS: Update. Report by Mike Frysinger. 2008-03-15 Ralf Wildenhues * tests/defs.m4sh (func_get_config): Build egrep regex to speed up extracting several variables at once. Use it to extract all default variables at once. Also extract build_alias and host_alias from the libtool script. (func_configure_nofail): Use build_alias and host_alias for --build and --host, respectively. Pass each if nonempty. * tests/testsuite.at: Pass --build if build_alias is nonemtpy. * tests/quote.test: Extract ECHO and wl at once. * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_WIN32_DLL): Require AC_CANONICAL_HOST. * THANKS: Update. Report by Jakub Bogusz. 2008-03-14 Ralf Wildenhues * NEWS: Update. 2008-03-12 Charles Wilson * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) [file scope]: additional #includes and #defines to support... (func_emit_cwrapperexe_src) [main]: ensure stdout is set to binary mode for cygwin|mingw builds. Ensure temporary script file is written in binary mode for cygwin|mingw builds. (func_mode_link) [cygwin|mingw]: cross-build support - only use cwrapper to generate shell wrapper if building native; otherwise use func_emit_wrapper() 2008-03-12 Henning Nielsen Lund * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [amigaos]: Port to AmigaOS4 shared libraries on powerpc. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [amigaos]: Likewise. * THANKS, NEWS: Update. 2008-03-09 Bruno Haible and Ralf Wildenhues Fix compiler output to be in the user locale. * libltdl/config/general.m4sh (func_show_eval_locale): New function, for running commands in the user locale. * libltdl/config/ltmain.m4sh (func_mode_compile): Use it for compiling. * tests/localization.at (localized compiler messages): New test. * Makefile.am: Adjust. Report by Bruno Haible. 2008-03-08 Ralf Wildenhues Fix several test failures on Cygwin and MinGW. * tests/nonrecursive.at: Use -no-undefined for foo.la. * tests/recursive.at: Likewise. * tests/subproject.at: Likewise. * tests/lt_dladvise.at: For systems where undefined symbols are not allowed, to not try to load the module libdepend. [ mingw ]: Add to list of such systems. * tests/testsuite.at (_LT_AT_TRANSLATE_TEXT_OUTPUT): New macro, to translate line ending of expout and experr files suitable for host executables. (LT_AT_CHECK, LT_AT_NOINST_EXEC_CHECK): Use it. Report by Bob Friesenhahn. Fix installcheck dependencies, fix for --program-transform-name. * Makefile.am (installcheck-local): Depend upon tests/atconfig and $(srcdir)/$(TESTSUITE). * tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): New macro. (LT_AT_CHECK_LIBTOOLIZE): Use it to transform expout and experr files suitably. * HACKING: Update. Drop usage of obsolete macros AC_EXEEXT and AC_OBJEXT. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK, _LT_COMPILER_OPTION) (_LT_COMPILER_C_O, LT_PATH_NM, _LT_CMD_GLOBAL_SYMBOLS, _LT_SETUP): Drop usage of obsolete AC_OBJEXT and AC_EXEEXT. * tests/am-subdir.at (C++ subdir-objects): Likewise. 2008-03-07 Peter O'Gorman * tests/convenience.at (Java convenience archives): Skip test if gcj cannot compile a working executable from .java files. Report by Nelson H. F. Beebe. * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Need to set LD. Reported by Nelson H. F. Beebe. 2008-03-06 Peter O'Gorman * libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea. * libltdl/m4/libtool.m4 (_LT_PROG_FC): Report FC=no if the FC compiler is not a GNU compiler and the CXX compiler is a GNU compiler. Reported by Nelson H. F. Beebe. 2008-03-06 Gary V. Vaughan * Makefile.maint (TSDEPS_DIST): Removed. No longer used. (TSDEPS): libtool.m4 has long since moved to libltdl. (cvs-dist): Don't put the suffix dot in twice. 2008-03-06 Ralf Wildenhues * tests/convenience.at (Java convenience archives): Skip test if gcj cannot compile a .java file. Report by Nelson H. F. Beebe. 2008-03-05 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p): redirect and restore from stdin, not stdout. * tests/execute-mode.at (execute mode): Adjust test to catch this. Report by Roberto Bagnara. 2008-03-04 Ralf Wildenhues Fix libltdl to not skip dlopen on systems with several loaders, such as HP-UX, Cygwin. * libltdl/slist.c (slist_concat): When appending to the tail of a list, do not drop items off the beginning of the list. * NEWS: Update. * libltdl/config/ltmain.m4sh (func_mode_execute): Replace only arguments we have identified as shell or C wrappers. (func_emit_wrapper): Output error message on stderr. * tests/execute-mode.at: New file, with --mode=execute tests. * Makefile.am: Adjust. * NEWS: Update. Fixes 2.2 regression. Report by Roberto Bagnara. * libltdl/m4/libtool.m4 (_LT_CONFIG): Drop misleading `GNU' prefix before the host package name in the "Generated by" line for the libtool script. * THANKS: Update. Reports by Peter Rosin and Roberto Bagnara. * doc/libtool.texi (Module loaders for libltdl): Fix typo. * libltdl/loaders/dld_link.c (vl_exit): New function, zero out ... (vtable): ... this new file static variable split out from ... (get_vtable): ... here. Initialize vtable, register vl_exit as dlloader_exit function. * libltdl/loaders/dlopen.c: Likewise. * libltdl/loaders/dyld.c: Likewise. * libltdl/loaders/load_add_on.c: Likewise. * libltdl/loaders/loadlibrary.c: Likewise. * libltdl/loaders/shl_load.c: Likewise. * libltdl/loaders/preopen.c: Likewise; vl_exit existed here already. * tests/lt_dlexit.at (lt_dlexit unloading libs): Update test. * NEWS: Update. Report by Andreas Schwab. 2008-03-01 Gary V. Vaughan * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.3a. GNU Libtool 2.2 was released. * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number to 2.2. * NEWS: Updated. * tests/lt_dladvise.at, tests/lt_dlexit.at, tests/need_lib_prefix.at: Skip these tests when called from `make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install'. The tests try to link against the dummy installed libltdl.la from .../_inst/lib/libltdl.la, which does not exist when configured with --disable-ltdl-install. 2008-02-29 Gary V. Vaughan * libltdl/m4/argz.m4 (AC_CHECK_FUNCS): Also use our replacement argz if the system argz_add or argz_count are missing. Report by Juan Manuel Guerrero . 2008-02-26 Karl Berry * libltdl/argz.c (argz_add, argz_count): New functions. * libltdl/argz_.h: Declare them. Report by Juan Manuel Guerrero . 2008-02-20 Peter O'Gorman * libltdl/m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Do not call the _LT_SYS_DYNAMIC_LINKER macro here. Reported by Mike Frysinger 2008-02-15 Peter O'Gorman * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix typo. 2008-02-14 Peter Breitenlohner * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): better handling of predefined values for lt_cv_sys_lib_search_path_spec and lt_cv_sys_lib_dlsearch_path_spec. 2008-02-14 Ralf Wildenhues * libtoolize.m4sh (func_install_pkgconfig_files): Only call func_install_pkgconfig_parent if $seen_autoconf. * tests/standalone.at (compiling softlinked libltdl) (compiling copied libltdl, installable libltdl) (linking libltdl without autotools): Use checked libtoolize calls to catch warnings. 2008-02-13 Ralf Wildenhues * libltdl/configure.ac: Bump package version. * HACKING: Reminder to do it next time, too. 2008-02-11 Ralf Wildenhues * tests/mdemo/Makefile.am (@LIBLTDL@): Update outdated dependencies. ($(top_distdir)/libltdl/libtool): Remove. Fixes spurious mdemo-dryrun failure with OpenBSD make. 2008-02-09 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] : Treat like icc and ecc, for fixed `-Wl,' and `-KPIC' settings. 2008-02-08 Ralf Wildenhues * tests/archive-in-archive.at (static library contains static library): Test also the actual broken link command, and the following install command, as UnixWare ar rightly refuses to put an archive into an archive. Report by Tim Rice. 2008-02-06 Peter O'Gorman * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Only set default LT_INIT values for LT_INIT, not LTDL_INIT. Reported by Jochem Huhmann 2008-02-01 Ralf Wildenhues * tests/testsuite.at (LT_AT_TAG): For the CXX tag, if $CXX is g++, check that `g++ -v' works; AC_PROG_CXX may have set that as default value even if it found no C++ compiler. Report by Andreas Schwab. 2008-02-02 Gary V. Vaughan * libltdl/Makefile.inc (EXTRA_DIST): Now that we're not using Autoconf's AC_SOURCES macro, Automake can't trace our extra source files argz, lt__dirent.c and lt__strl.c. List them manually here to make sure they are distributed. * NEWS: Updated. Reported by Bob Friesenhahn 2008-02-01 Gary V. Vaughan * configure.ac (AC_INIT): Bump version number to 2.1c. GNU Libtool 2.1b was released. * configure.ac (AC_INIT): Bump version number to 2.1b. * libltdl/Makefile.inc (LTDL_VERSION_INFO): Increment to account for new interfaces since the last libltdl update. * HACKING (Release Procedure): Note that LTDL_VERSION_INFO is now kept in libltdl/Makefile.inc. 2008-02-01 Gary V. Vaughan * tests/cdemo, tests/depdemo, tests/fcdemo, tests/pdemo, tests/demo, tests/f77demo, tests/mdemo, tests/tagdemo (distclean-local): Remove compiler file droppings left by Autoconf tests that prevent make dist from finishing on several machines including Mac OS 10.5. 2008-02-01 Gary V. Vaughan Unfortunately, the autoconf implementation of AC_LIBOBJ and friends requires all libobjs to be in the same directory, as declared by AC_CONFIG_LIBOBJ_DIR. That might prevent using either recursive or nonrecursive libltdl if the parent project has libobjs of its own, except that this patch tracks libltdl's libobjs in another namespace: * libltdl/m4/ltdl.m4 (_LT_LIBOBJ, _LT_LIBSOURCES): Versions of AC_LIBOBJ and AC_LIBSOURCES that save missing sources in a ltdl_LIBOBJS automake macro, instead of the global LIBOBJS automake macro. Content of the macros inspired by code from gnulib-tool. (_LTDL_MODE_DISPATCH): Initialise lt_libobj_prefix in nonrecursive mode. (LTDL_INIT): Push and pop the new definitions around potential sites that call AC_LIBOBJ. Also, using lt_libobj_prefix, initialise ltdl_LIBOBJS and ltdl_LTLIBOBJS. * libtoolize.m4sh (func_fixup_Makefile): Substitute ltdl_LIBOBJS and ltdl_LTLIBOBJS for LIBOBJS and LTLIBOBJS during copying either Makefile.am or Makefile.inc, depending on ltdl_mode. Reported by Eric Blake 2008-01-30 Gary V. Vaughan There are 5 distinct batches of files that libtoolize might install into a project, depending on whether libltdl is being installed in subproject mode, and in that case whether the parent project shares the config and macro directories with the subproject ltdl. Make a separate function for each of those 5 batches (4 new functions below, plus the recently factored func_install_pkgltdl_files), and make a clearer distinction between when each of them is needed: * libtoolize.m4sh (func_install_pkgmacro_subproject): New function for installing and reporting on m4 files copied to a subproject ltdl directory. (func_install_pkgmacro_parent): Similar new function for m4 files copied solely for the use of the parent project, including serial checking. (func_install_pkgconfig_subproject): New function for installing and reporting on config helper files copied to a subproject ltdl directory. (func_install_pkgconfig_parent): Similar new function for config helper files copied solely for the use of the parent project, including serial checking. (func_install_pkgmacro_files, func_install_pkgconfig_files): Rewritten in terms of the above functions. * tests/libtoolize.at: Adjust test expout's to match newly regularized libtoolize output. Move parent project pkgconfig files to build-aux directory so that progress messages show an obvious difference to pkgconfig files installed to subproject `config' directory. (nonrecursive ltdl with AC_CONFIG_MACRO_DIR): New test. (diagnose missing LT_CONFIG_LTDL_DIR): New test. (subproject ltdl with non-shared directories): New test. Reported by Eric Blake 2008-01-29 Peter O'Gorman * libltdl/m4/libtool.m4 [darwin]: Changes to glob pattern matching to be safer. Search the compiler path too. * libltdl/m4/libtool.m4 (compiler_lib_search_dirs): New variable. * libltdl/config/ltmain.m4sh: Use it. Reported by Maynard Johnson 2008-01-28 Gary V. Vaughan * libtoolize.m4sh (func_check_macros): Correct typo with '$opt_quiet ||' where '$opt_quiet &&' that was preventing func_check_macros from running! * libtoolize.m4sh: Set opt_ltdl whenever seen_ltdl is set so that libtoolize behaves as though --ltdl was passed even if it wasn't as long as LTDL_INIT (or equivalent) was seen in configure.ac. Adjust redundant '$opt_ltdl || $seen_ltdl' to simply '$opt_ltdl'. Reported by Eric Blake * libtoolize.m4sh (func_check_macros): Check opt_quiet in the function itself to simplify calling it. Also move the definition of the function. * libtoolize.m4sh (func_scan_files): Be sure to set the default libltdl mode to 'subproject' when libtoolize is executed before configure.ac has been updated. 2008-01-27 Gary V. Vaughan * libtoolize.m4sh (func_install_pkgconfig_files) (func_install_pkgmacro_files, func_install_pkgltdl_files): Factored out from the 'Main' section of the file. * libtoolize.m4sh (subproject_auxdir, subproject_macrodir): New variables to hold the default locations for auxfiles and macrofiles in a subproject libltdl. (ac_auxdir, ac_macrodir): New variables to hold the values passed by AC_CONFIG_AUX_DIR and AC_CONFIG_MACRO_DIR resp. (auxdir, macrodir): Adjust to contain the values to be used by libtoolize at runtime. * libtoolize.m4sh (func_fixup_Makefile) (func_massage_aclocal_DATA, func_massage_pkgltdl_files) (func_massage_pkgconfig_files): Add missing $opt_debug. 2008-01-27 Gary V. Vaughan * libtoolize (func_fixup_Makefile, func_massage_aclocal_DATA) (func_massage_pkgltdl_files, func_massage_pkgconfig_files): Add missing $opt_debug. 2008-01-26 Gary V. Vaughan * libtoolize.m4sh (Main): Copy (or link) libltdl sources into project tree when LTDL_INIT was seen, whether or not `--ltdl' is passed. (func_check_macros): Recommend LTDL_INIT instead of LT_WITH_LTDL when `--ltdl' is used before configure.ac is upgraded. * tests/libtoolize.at: Test that it works. (_LT_AT_LTDL_SETUP): Factor out some common test setup. Reported by Eric Blake 2008-01-24 Peter O'Gorman * doc/notes.texi: Fix errors in previous commit. * libltdl/m4/libtool.m4 (sys_lib_search_path_spec, sys_lib_dlsearch_path_spec): Allow for a cache variable lt_cv_sys_lib_... to set these at configure time. * doc/notes.texi: Short note about the above change. 2008-01-24 Eric Blake Add proper quoting to doc examples. * doc/libtool.texi: Use m4 quotes where appropriate. (Test descriptions): Fix truncated sentence. 2008-01-18 Gary V. Vaughan * Makefile.am (DISTCLEANFILES): Remove libtool.dvi generated by 'make dvi'. 2008-01-17 Ralf Wildenhues * libtoolize.m4sh (func_scan_files): Avoid matching our own macro code when scanning configure.ac and aclocal.m4. Don't produce spurious output if AC_PROG_RANLIB is found. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Add a (weak) check that we don't match our own macro code when searching for user code calling us. * TODO: Updated. 2008-01-17 Ralf Wildenhues New variable LTDLDEPS for use in output_DEPENDENCIES. * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE, _LTDL_INSTALLABLE) (LTDL_INIT): Set and substitute LTDLDEPS according to chosen method. * tests/configure-iface.at (installable libltdl) (--with-ltdl-include/lib, --with-included-ltdl): Test it. * doc/libtool.texi (Distributing libltdl): Document LTDLDEPS. * NEWS: Updated. Dependency bug exposed by Eric Blake in M4, found by Bob Proulx build daemon. 2008-01-17 Ralf Wildenhues * doc/libtool.texi (Distributing libltdl): Clarify that `${top_build_prefix}' may be used in place of `${top_builddir}/'. * doc/libtool.texi (Distributing libltdl): Clarify that LTDL_INIT goes after LT_INIT; also show the latter in the respective examples. * tests/subproject.at: Adjust order. 2008-01-16 Ralf Wildenhues * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Use AM_CONDITIONAL only if defined. Allows to use libltdl without aclocal. 2008-01-16 Peter O'Gorman * libltdl/m4/libtool.m4: Set GCC var for every tag, avoids need to set withGCC var. 2008-01-15 Ralf Wildenhues * configure.ac: Set libltdl nonrecursive option, to avoid configuring libltdl inside the Libtool package. 2008-01-14 Ralf Wildenhues Silence all non-warning output from `libtool --silent'. * libltdl/config/ltmain.m4sh (func_generate_dlsyms) (func_extract_archives, func_mode_link): Use func_verbose instead of func_echo for all non-warning output. * Makefile.maint (fetch): Update to match upstream git sources. Pull `INSTALL' from gnulib instead of from Autoconf. * doc/notes.texi: Mention AIX binutils deficiency for C++ code. Report by Rainer Tammer. Suggest using bash for configure. * libltdl/m4/ltoptions.m4 (AC_ENABLE_SHARED): Fix to use new _LT_SET_OPTION semantics. 2008-01-12 Ralf Wildenhues * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LTDL_DLOPEN_SELF_WORKS, depending upon lt_cv_dlopen_self. * libltdl/loaders/dlopen.c (vm_open) [!LTDL_DLOPEN_SELF_WORKS]: Fail for dlopen(NULL), so that the preopen loader is used. This fixes mdemo-exec.test failures on AIX where dlopen(NULL) succeeds but dlsym resolves no symbol. * NEWS: Update. Report by Rainer Tammer. * tests/am-subdir.at: Drop unused variables. * tests/configure-iface.at: Likewise. * tests/ctor.at: Likewise. * tests/early-libtool.at: Likewise. * tests/lt_dladvise.at: Likewise. * tests/old-m4-iface.at: Likewise. * tests/lt_dlexit.at: Likewise. Also drop unused functions. * tests/old-m4-iface.at (AM_PROG_LIBTOOL): Also copy needed lt~obsolete.m4. * libltdl/config/ltmain.m4sh (func_mode_link): Fix warning about -l and -L for archives and objects as output, to not trigger for *.la files. Non-convenience archives are diagnosed later on. * tests/configure-iface.at: Ensure LTDLINCL is expanded before CPPFLAGS, so that even CPPFLAGS=-I/usr/local/include won't make the tests prefer an installed ltdl.h over the in-package one. * tests/lt_dladvise.at, tests/lt_dlexit.at: Likewise. * tests/need_lib_prefix.at, tests/old-m4-iface.at: Likewise. Report by Bob Friesenhahn. 2008-01-11 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) : Also exclude `_GLOBAL__F[ID]_.*'. Also set for the C++ tag. Fixes esp. demo/helldl build failure with GCC on AIX. Report by Rainer Tammer. 2008-01-11 Peter O'Gorman * libltdl/m4/libtool.m4 [darwin]: Reorganize darwin support, use dsymutil if it is available so that debugging is possible, check for nmedit and dsymutil with AC_CHECK_TOOL, use the linker flag -exported_symbols_list in preference to nmedit if it is available. Drop support for xlc, it is probably broken. * tests/template.at [darwin]: Skip this test, I can not find a way to make it work on darwin9 with Xcode-3.0. * NEWS: Note the dropping of xlc support. 2008-01-08 Ralf Wildenhues * libltdl/m4/libtool.m4 (LT_INIT): m4_require, not AC_REQUIRE _LT_CHECK_BUILDDIR, as it's m4_defun'ed, not AC_DEFUN'ed. Report by Peter O'Gorman. * libltdl/m4/ltdl.m4 (_LTDL_INSTALLABLE): Restore correct _LT_BUILD_PREFIX-using code. 2008-01-08 Gary V. Vaughan * tests/recursive.at: Remove bogus --debug option. Reported by Ralf Wildenhues * tests/configure-iface.at: Build libltdl in a subdir so that it can be easily removed without trying to remove config.log on windows (which can't delete a file until it is closed). Reported by Ralf Wildenhues * libltdl/m4/ltdl.m4 (LTDL_INSTALLABLE): Use _LT_BUILD_PREFIX instead of ${top_builddir} for Autoconf-2.62. Reported by Ralf Wildenhues * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Correct closing comment. Reported by Ralf Wildenhues * NEWS: Grammar nit. * tests/configure-iface.at, tests/nonrecursive.at, tests/recursive.at, tests/subproject.at (_LTDL_SETUP): Renamed to _LT_AT_LTDL_SETUP to avoid a nameclash with libltdl/m4/ltoptions.m4:_LTDL_SETUP from yesterday's patch. Reported by Ralf Wildenhues 2008-01-07 Ralf Wildenhues * tests/runpath-in-lalib.at (Runpath in libtool library files): Compile program file without libtool. Report by Rainer Tammer. 2008-01-07 Rainer Tammer (tiny change) Ralf Wildenhues Support AIX 6.1. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_FC_CONFIG): Adjust case patterns to match AIX 6 through 9 as well. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS: Update. * THANKS: Update. 2008-01-07 Gary V. Vaughan Move libltdl build mode options from LT_CONFIG_LTDL_DIR to LTDL_INIT. Accept (optional) new 'convenience' and 'installable' options in lieu of LTDL_CONVENIENCE and LTDL_INSTALL macros. And also, implement --with-included-ltdl, --with-ltdl-lib and --with-ltdl-include configure-time options: * libltdl/m4/ltoptions.m4: Associate existing option settings with LT_INIT. (LT_OPTION_DEFINE): Associate options 'nonrecursive', 'recursive', 'subproject', 'installable' and 'convenience' with LTDL_INIT. (_LT_MANGLE_OPTION, _LT_SET_OPTION, _LT_IF_OPTION) (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Add MACRO-NAME argument to support options to named macros instead of hardcoding only LT_INIT options. * libltdl/m4/ltdl.m4 (_LTDL_CONVENIENCE): Factor common code from LTDL_CONVENIENCE and LTDL_INIT([convenience]). (_LTDL_INSTALLABLE): Factor out common code from LTDL_INSTALLABLE and LTDL_INIT([installable]). (_LTDL_SETUP): Renamed from LTDL_INIT. Support new configure-time options: --with-included-ltdl, --with-ltdl-lib, --with-ltdl-include. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. (LT_WITH_LTDL): Removed. (LTDL_INIT): Parse caller options. * libltdl/m4/libtool.m4 (LT_INIT): Declare that this macro must be expanded before LTDL_INIT, and be sure to parse caller options. * configure.ac: Call directly into internal _LTDL_SETUP macro. * libtoolize.m4sh (func_scan_files): Ltdl mode argument moved from LT_CONFIG_LTDL_DIR to LTDL_INIT. * tests/nonrecursive.at, tests/recursive.at: Use new interfaces. * tests/configure-iface.at: Test it. * Makefile.am (TESTSUITE_AT): Add configure-iface.at. * doc/libtool.texi (Distributing libltdl): Document improved LTDL_INIT interfaces. * NEWS: Updated. 2008-01-02 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): When creating reloadable object files, avoid issuing plain `rm -f' without further arguments, even if the line length limit is ridiculously low as in the `Run tests with low max_cmd_len' test. This failure is exposed on NetBSD. Report by Patrick Welche. * Makefile.am (EXTRA_DIST): Add ChangeLog.2007. * ChangeLog.2007: New, rotated, from... * ChangeLog: ...here. * NEWS, README, README.alpha, Makefile.am, libtoolize.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4: Bump copyright years. 2007-11-30 Stefan Sperling (tiny change) * doc/libtool.texi (Linking executables): Reorder paragraphs. 2007-11-26 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM XL 8.0 C++ compiler may also be called xlc++*, not only xlC*. Report by Nysal K Jan . 2007-11-24 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro. Warn about whitespace in the absolute build tree name. (LT_INIT): Use it. * THANKS: Update. Report by Jim Meyering. * libltdl/config/ltmain.m4sh (func_extract_an_archive) (func_extract_archives): Add some quoting. 2007-11-16 Ralf Wildenhues Use `${top_build_prefix}' for better compatibility with non-GNU make. * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro. If the Autoconf version used is >= 2.62, then expand to `${top_build_prefix}', otherwise to `${top_builddir}/'. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining LIBLTDL. Fixes a build failure with AIX make in a package using convenience libltdl in nonrecursive mode. * doc/libtool.texi (Distributing libltdl): Document requirements to define `top_build_prefix' if Automake is not used. Report by Bob Friesenhahn. 2007-11-12 Ralf Wildenhues Avoid warnings about conftest.dSYM directories on Mac OS X Leopard. * libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE) (_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove conftest.dSYM directory. Report and analysis by Jeff Squyres and Peter O'Gorman. 2007-11-09 Ralf Wildenhues * libltdl/configure.ac: Drop the broken and long-disabled code to output a banner for the libltdl configure. Avoids the need to ship mkstamp with libltdl. 2007-11-08 Ralf Wildenhues * tests/runpath-in-lalib.at: New test. * Makefile.am: Update. Report by Benoit SIGOURE . 2007-10-16 Eric Blake Speed up bootstrap by improving lt_join. * libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror Autoconf 2.62's faster implementation. 2007-10-12 Eric Blake Whitespace cleanup. * libltdl/m4/ltsugar.m4: Avoid space-tab in indents. * libltdl/m4/libtool.m4: Avoid trailing space. Deal with Autoconf 2.62's semantic change in m4_append. * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of m4_append. (lt_if_append_uniq): Don't require separator to be overquoted, and avoid broken m4_append. (lt_dict_add): Fix typo. * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator. 2007-10-12 Ralf Wildenhues * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'. (func_mode_execute): Also restore `LANGUAGE', for old glibc. Report by Paul Eggert against Autoconf. 2007-10-11 Eric Blake * libltdl/.cvsignore: Ignore argz.h. 2007-10-11 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) : Renamed from lt_prog_compiler_pic_works. : Renamed from lt_prog_compiler_static_works. * NEWS: Update. 2007-10-09 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_compile): Accept extension `.sx'. * tests/suffix.test: Test it. 2007-09-07 Ralf Wildenhues * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use NULL, not 0, for the benefit of too picky compilers like PGI. * slist.c (slist_tail): Likewise. Include stddef.h, for NULL. Report by Jeff Squyres. 2007-09-05 Eric Blake * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller has set data. 2007-09-04 Ralf Wildenhues * doc/libtool.texi (User defined module data) : Document that a NULL place matches all modules. * libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate over all open modules when looking for modules that use it. If a resident module is found, return but do not set the error string. * libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore errors that stem from earlier failed commands. Exposed by the lt_dladvise test. Fixes regression over branch-1-5. Memleak report as Coverity CID 19 via Jeff Squyres. 2007-09-01 Ralf Wildenhues * NEWS: Update. * libltdl/ltdl.c (trim): Fix possible write beyond array bound. * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return FILE_NOT_FOUND if the filename is "". * libltdl/ltdl.c (try_dlopen): Fix computation of extension, avoids subtracting pointer from NULL pointer. * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test array address of sys_dlsearch_path against NULL, rather test for nonempty contents. Coverity reports CID 148 and CID 149 via Jeff Squyres. * libltdl/ltdl.c (tryall_dlopen_module): Fix string length computation: do not allocate more than needed. 2007-08-30 Ralf Wildenhues * libltdl/loaders/preopen.c (vm_close): `module' is unused. Coverity report CID 158 via Jeff Squyres. * libltdl/ltdl.c (parse_dotla_file): If we run out of memory, do not close the .la file twice. Coverity report CID 440 via Jeff Squyres. * libltdl/ltdl.c (has_library_ext): Remove dead code. Coverity report CID 561 against Open MPI via Jeff Squyres. 2007-08-29 Ralf Wildenhues * libltdl/slist.c (slist_remove): When a matching item is found, break out of the loop to return the first match; also fixes possible NULL dereference. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0 C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux, tested on ppc, pending a $shlibpath_var related fix. (_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd properly during evaluation, obsoleting $no_glob_subst mangling. * NEWS: Update. 2007-08-18 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [ k*bsd*-gnu ] : Avoid spurious output in runpath test. 2007-08-16 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ] : Do not use -DDLL_EXPORT. Report by Ross Ridge . * Makefile.am (edit): Do not warn against manual editing for the generated files libtool, libtoolize, libltdl/m4/ltversion.m4, tests/defs, as they are still in a preferred source code form as required by GPL. Report by DJ Delorie. 2007-08-15 Dirk Mueller (tiny change) Ralf Wildenhues * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen. When reading .la files, cope with files that are not newline-terminated. 2007-08-05 Tilman Koschnick (tiny change) * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG) [ linux ]: Treat pgcpp as Portland Group C++ compiler as well. 2007-08-05 Ralf Wildenhues * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than `filename', as the former has the needed extension when called by lt_dlopenext. Report by Brian Barrett. 2007-07-27 Peter Rosin * Makefile.am: Pass STRIP through to the testsuite, so that tests that run configure will use the same strip program. 2007-07-24 Ralf Wildenhues * tests/mdemo-exec.test: Also try absolute library names. * tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well. * THANKS: Update. Report by Brian Barrett. 2007-07-23 Ralf Wildenhues * doc/fdl.texi: Update to GFDL 1.2. * doc/libtool.texi: Adjust. Put License in Appendix. * libltdl/config/ltmain.m4sh (func_mode_link): Remove each intermediate relinked object after use, to avoid quadratic space complexity when linking partially. Report by Isidor Zeuner . 2007-07-23 Eric Blake * libltdl/config/ltmain.m4sh: Whitespace cleanup. * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src) : Avoid compiler warning. 2007-07-22 Peter Rosin * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add support for Microsoft Visual C. Also, older MinGW versions seem to need stdint.h to find intptr_t. 2007-07-22 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: Ignore lines in ld.so.conf starting with 'hwcap '. 2007-07-16 Charles Wilson * tests/cdemo-exec.test: use $EXEEXT where appropriate to correct mingw cross-compile issues. * demo-deplibs.test: Ditto. * demo-exec.test: Ditto. * demo-inst.test: Ditto. * demo-relink.test: Ditto. * depdemo-exec.test: Ditto. * depdemo-inst.test: Ditto. * depdemo-relink.test: Ditto. * f77demo-exec.test: Ditto. * fcdemo-exec.test: Ditto. * mdemo-exec.test: Ditto. * mdemo-inst.test: Ditto. * mdemo2-exec.test: Ditto. * pdemo-exec.test: Ditto. * pdemo-inst.test: Ditto. * tagdemo-exec.test: Ditto. 2007-07-14 Peter Rosin * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin. 2007-07-13 Charles Wilson * libltdl/m4/libtool.m4 (func_dirname_and_basename) : New function. (func_dirname_and_basename) : New function. * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Call it. Also, take advantage of missed optimization using func_dirname's additional arguments. (func_mode_compile): Call it. (func_mode_install): Call it. (func_mode_link): Call it. 2007-07-12 Peter Rosin * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper using $STRIP instead of relying on the tools to support -s, which MSVC doesn't. 2007-07-06 Peter O'Gorman * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the linker. Reported by Bob Friesenhahn 2007-07-04 Bob Friesenhahn * libltdl/lt__alloc.c, libltdl/loaders/preopen.c, libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c, libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c: Include lt__private.h prior to any system headers. * libltdl/lt__alloc.c: Remove redundant inclusion of configuration header. 2007-07-04 Eric Blake * libltdl/ltdl.c (advise_dup): Delete function no longer used after memleak fix three days ago. 2007-07-03 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to old Sparc Solaris 7 ld that does not understand `-64'. Report by Vincent Lefevre . 2007-07-01 Ralf Wildenhues * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to force-pull in this file by aclocal. * libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION. * tests/libtoolize.at (upgrading verbatim style aclocal.m4): Adjust. Report by H. J. Lu . * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed alias of `advise' instead of allocating a copy. Fixes memleak. 2007-06-30 Peter Breitenlohner * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo ("-dld" instead of "-ldld"). 2007-06-24 Gary V. Vaughan Add a test to simulate a failure visible on systems which need a library prefix like 'lib', such as BeOS. Fix a number of bugs exposed by this test in order for it to pass. Currently the prefix is hardcoded as 'lib', as I am not aware of systems that require a different prefix: * libltdl/loaders/preopen.c (lt_dlpreload_open): Move error condition out of test loop to be sure that each originator is tried, instead of erroring out if the first doesn't match. Support passing NULL as the originator to load all preloaded modules originating in the program itself. * libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function. * libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it when LT_DEBUG_LOADERS is defined at compile time. * libltdl/ltdl.c (lt_dlinit): Dump loader list after successful initialisation. (tryall_dlopen): Add a new VTABLE parameter to force use of a specific loader in preference to trying every loader in turn. Adjust all callers. (try_dlopen): Always see whether a module was preloaded for module names with no directory component before searching the filesystem for a match. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare a new global_symbol_to_c_name_address_lib_prefix variable. (global_symbol_to_c_name_address_lib_prefix): The sed expressions to use when a lib prefix is enforced need to be slightly different to work with preloaded modules. * libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order to name preloaded symbols correctly for the lookup algorithm to work when the loaded module file must be prefixed with lib. Use global_symbol_to_c_name_address_lib_prefix when need_lib_prefix is other than no. * tests/need_lib_prefix.at: New test to check for breakage on hosts where need_lib_prefix is unknown. * Makefile.am (TESTSUITE_AT): Add new test. * tests/TODO: Note missing tests that would have caught some of the latent bugs fixed by this patch. * HACKING: Document libltdl keyword. * NEWS: Updated. 2007-06-24 Gary V. Vaughan Reenable compilation of libltdl with C++: * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to attempt, and cast explicitly. (advise_dup): Add explicit cast. 2007-06-22 Peter O'Gorman * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract 1 from major as it may be less than age. 2007-06-21 Noah Misch * tests/f77demo/configure.ac [--with-dist]: New option. Skip most Fortran checks when given. * tests/fcdemo/configure.ac [--with-dist]: Likewise. * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist. Reported by Benoit Sigoure . 2007-06-19 Charles Wilson * AUTHORS: Add myself. 2007-06-18 Charles Wilson * libltdl/config/ltmain.m4sh: Add new magic variable for use with cwrapper. (func_ltwrapper_script_p): New function. (func_ltwrapper_executable_p): New function. (func_ltwrapper_scriptname): New function. (func_ltwrapper_p): Accomodate both wrapper scripts and wrapper executables. (func_mode_execute): Handle $file that is a wrapper script and $file that is a wrapper executable differently. (func_mode_install) [cygwin|mingw]: If $file is a wrapper executable, use func_ltwrapper_scriptname to determine wrapper script name. Afterwards, always use func_ltwrapper_script_p instead of func_ltwrapper_p. (func_emit_libtool_wrapper_script): Rename to... (func_emit_wrapper): ...this. All callers changed. (func_emit_libtool_cwrapperexe_source): Rename to... (func_emit_cwrapperexe_src): ...this. All callers changed. Embed new magic_exe variable into source. Private transient wrapper script now called foo_ltshwrapperTMP, not foo_ltshwrapper. (func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv and return child's exit code manually rather than rely on broken execv. (func_mode_link) [cygwin|mingw]: Don't call dirname and basename directly; use func_dirname and func_basename when computing cwrapper names. Use cwrapper to generate wrapper script, and use pathname returned by func_ltwrapper_scriptname instead of $output. (func_mode_link) [NOT cygwin|mingw]: move wrapper script generation for non-win32 inside case statement, as default case. (func_mode_uninstall) [$name's extension != .lo|.la]: 'clean' mode must handle $file differently if it is a libtool wrapper script, or if it is a libtool wrapper executable. * tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups. * tests/destdir.at [DESTDIR with in-package deplibs]: Ditto. 2007-06-17 Noah Misch * AUTHORS: Add myself. 2007-06-17 Peter O'Gorman * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to the test -n. 2007-06-17 Charles Wilson * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr is redirected even when getconf does not exist. 2007-06-09 Charles Wilson * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): Take an argument to specify value assigned to WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted script. (func_emit_libtool_cwrapperexe_source) [file scope]: define permission flags S_IXGRP and S_IXOTH if not already defined. (func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]: Use C89-compatible syntax to mimic variadic macros. Adjust all callers. (func_emit_libtool_cwrapperexe_source) [check_executable]: avoid embedded #ifdefs; use S_IXGRP and S_IXOTH unconditionally. (func_emit_libtool_cwrapperexe_source) [make_executable]: ditto. (func_emit_libtool_cwrapperexe_source): don't rewrite WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass correct argument when calling func_emit_libtool_wrapper_script. (func_mode_link): pass correct argument when calling func_emit_libtool_wrapper_script. 2007-06-07 Charles Wilson * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source): ensure that generated source follows GCS as nearly as possible. 2007-06-07 Charles Wilson * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script): add code block to handle cases when wrapper script is in $objdir. (func_emit_libtool_cwrapperexe_source): replace DEBUG() macro with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call func_emit_libtool_wrapper_script() with appropriate filters to embed script text in C char* static variable. (f_e_l_c_s: main): add new option --lt-dump-script, parse argv[] for it, and take appropriate action. Call chase_symlinks() on argv[0], in case this.exe was launched via one. Use chased value to determine full absolute pathname of wrapper script, in $objdir. Unconditionally write script out to this pathname and set permission bits. Remove extraneous ';' from debugging loop. (f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating newargv[0]; if $TARGETSHELL environment variable is set, use it instead of $SHELL and do not DOS-ize. Ensure newargv[1] (wrapper script absolute path) uses only '/', not '\'. Make sure to call execv() with DOS-ized $SHELL (or un-DOS-ized $TARGETSHELL, if set) (f_e_l_c_s: make_executable): new function (f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK) 2007-06-03 Peter O'Gorman * libltdl/m4/libtool.m4 (old_archive_cmds): Remove old_deplibs. * tests/archive-in-archive.at: Check for archives as members of static archives. Currently XFAILS, above only eliminates one of the two static archives. * Makefile.am: Add test. Reported by Daniel Macks 2007-06-01 Steve Ellcey * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf to set lt_cv_sys_max_cmd_len. 2007-05-28 Peter O'Gorman * libltdl/config/ltmain.m4sh (func_mode_link), libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring with xlc. 2007-05-22 Gary V. Vaughan * tests/lt_dladvise.at: Use the lib prefix throughout for better portability - testing whether modules build and load without that prefix is not the domain of this test. Also, only run the test of the global hint with the depend module on hosts that can compile a module without passing -no-undefined in link mode. 2007-05-10 Noah Misch * tests/duplicate_deps.at: Make the XFAIL unconditional, but skip the test if the test link would succeed even without --preserve-dup-deps. * libltdl/config/general.m4sh (func_echo): Use $* instead of ${1+"$@"}. 2007-05-09 Eric Blake * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix buffer overflow in previous patch. 2007-05-09 Gary V. Vaughan * tests/lt_dladvise.at: Commit missing file from below. 2007-05-08 Gary V. Vaughan Without this patch, lt_dlopen always opens modules with symbol visibility set according to the underlying implementation. Here, we add lt_dlopenadvise() to allow callers to request, among other things, local or global symbol visibility from the underlying dlloader: * libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed. (LT_DLIS_RESIDENT): Use public is_resident info field. (LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for module symbol visibility status. (tryall_dlopen): If vtable->module_open() was able to act on either is_symlocal or is_symglobal hints, store that in the handle flags. (lt_dlopenadvise): New function that works like lt_dlopen(), but accepts an advise type to determine whether to ask dlloaders to change default symbol visibility. (lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with the correct parameters. (lt_dladvise_init, lt_dladvise_destroy): New functions to initialize and destroy an advise type hint. (lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local) (lt_dladvise_global): Set hints on an advise type. (openadvise): Factored out of lt_dlopenadvise. (has_library_ext): Factored out of lt_dlopenadvise. * libltdl/ltdl.h: Declare all of the above. (lt_dlinfo): New fields for advise hints. * libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new advise parameter. Adjust all callers. (lt_dladvise): New opaque type for advise hints. * libltdl/libltdl/lt__private.h (lt__advise): Declare contents of opaque lt_dladvise type. * libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error for attempts to have local and global symbol visibility at the same time. * libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust. * libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to define these symbols if the system has equivalents. (vmopen): If unable to act on a caller request to set symbol visibility, then unset the relevant hints in the advise type. * tests/lt_dladvise.at: New tests for the above. * doc/libtool.texi (Libltdl Interface): Updated. * NEWS: Updated. 2007-05-03 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): When adding new_inherited_linker_flags to compiler_flags, remember to translate .ltframework back. Fixes bug introduced 2007-04-23. * THANKS: Update. * tests/inherited_flags.at: Amend test. Report by Christoph Egger. 2007-05-03 Reuben Thomas (tiny change) * doc/libtool.texi (Libltdl interface): Fix typo. 2007-05-01 Ralf Wildenhues * Makefile.am (clean-ltmain-sh): Removed. (libtool, $(srcdir)/$(m4dir)/ltversion.m4) ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any phony rules. Test `$?' for prerequisites that should always cause us to update the target. Fixes rebuilding rules, at the cost of sometimes updating too much with non-GNU make. 2007-04-27 Noah Misch * tests/ctor.at: New file. * Makefile.am (TESTSUITE_AT): Add tests/ctor.at. 2007-04-27 Charles Wilson * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ instead of SYSTEM_ARGZ_IS_BROKEN. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto. Also, minor stylistic improvements. Report by Bruno Haible . 2007-04-25 Charles Wilson Ralf Wildenhues * libltdl/argz_.h: ensure error_t definition is obtained in same mechanism system argz.h would have. * libltdl/libltdl/lt__glibc.h: also detect if SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def argz* functions. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's argz facilities are known bad. Err on the side of caution if cross-compiling. 2007-04-25 Ralf Wildenhues * README, README.alpha: Document how to test an arbitrary installed libtool script. 2007-04-24 Ralf Wildenhues * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not defined (Autoconf < 2.60). * tests/shlibpath.at: Add `libtool' keyword. * tests/indirect_deps.at: New file, with tests to ensure `link_all_deplibs=no' does not break functionality. * Makefile.am: Adjust. 2007-04-23 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation of `inherited_linker_flags' entries from multiple deplibs, by adding $new_inherited_linker_flags only once, only in link pass. * tests/inherited_flags: Amend test to expose this. * NEWS: Adjust: kill one regression, but add note about the feature new in 1.9b. Report by Jeff Squyres and others. 2007-04-23 Charles Wilson * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper script generation from here... (func_emit_libtool_wrapper_script): to this new function, and write to stdout (func_mode_link): move cwrapper source code generation from here... (func_emit_libtool_cwrapperexe_source): to this new function, and write to stdout (func_mode_link): call the two new functions and redirect output to appropriate file. 2007-04-10 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install> [ darwin ]: Treat like `-no-fast-install', as we cannot hardcode. Report by Simon Josefsson. 2007-04-03 Ralf Wildenhues * doc/libtool.texi (Link mode) <-no-install>: Mention that this still generates a wrapper script on systems without hardcoding. * tests/stresstest.at: Test `-no-install'. * THANKS: Update. Report by Simon Josefsson. 2007-03-30 Matthieu Herrb * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ openbsd ]: Add an explicit check for shared libraries support. 2007-03-29 Ralf Wildenhues * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting error. 2007-03-28 Gary V. Vaughan * HACKING (Abstraction layers in libltdl): Rewritten somewhat for (hopefully) better clarity. 2007-03-26 Gary V. Vaughan The stamp-vcl file rules caused non-gnu make programs to rerun parts of the configuration process on each invocation. Instead of relying on a stamp file, we now compare version numbers of generated files with the ChangeLog timestamp manually in the affected make rules to decide whether regenerating is necessary: * Makefile.am (EXTRA_DIST): Remove stamp-vcl. (clean-ltmain-sh): Also remove users' obsolescent stamp-vcl. (rebuild): Keep some common code here for... (libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh): Rewritten to work without reference to intermediate stamp-vcl file. * configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from stamp-vcl to ChangeLog. * NEWS: Removed entry saying this fix is needed. 2007-03-25 Gary V. Vaughan * HACKING (LGPL with Libtool exception clause): Typo. Reported by Tim Van Holder * HACKING (Licensing Rules): Explain the various license texts used for files distributed with Libtool, and update license text to match. * Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO, bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc, libltdl/README, libltdl/argz.c, libltdl/argz_.h, libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, libltdl/config/mkstamp, libltdl/configure.ac, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h, 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, libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c, libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4, libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in, libltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4, libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at, tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/cdemo-undef.test, tests/cdemo/Makefile.am, tests/cdemo/configure.ac, tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c, tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh, 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/demo/Makefile.am, tests/demo/configure.ac, tests/demo/dlmain.c, tests/demo/foo.c, tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c, tests/demo/hello.c, tests/demo/main.c, 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/depdemo/Makefile.am, tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am, tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h, tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c, tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am, tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h, tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c, tests/depdemo/l4/l4.h, tests/depdemo/main.c, tests/depdemo/sysdep.h, tests/deplibs-ident.at, tests/destdir.at, tests/duplicate_conv.at, tests/duplicate_deps.at, tests/duplicate_members.at, tests/early-libtool.at, tests/export.at, tests/f77demo-conf.test, tests/f77demo-exec.test, tests/f77demo-make.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/f77demo/Makefile.am, tests/f77demo/configure.ac, tests/f77demo/cprogram.c, tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared.test, tests/fcdemo-static.test, tests/fcdemo/Makefile.am, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/inherited_flags.at, tests/libtoolize.at, tests/link-2.test, tests/link-order.at, tests/link-order2.at, tests/link.test, tests/lt_dlexit.at, 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/mdemo/Makefile.am, tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c, tests/mdemo/sub.c, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test, tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac, tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at, tests/objectlist.test, tests/old-m4-iface.at, tests/pdemo-conf.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/pdemo-make.test, tests/pdemo/Makefile.am, tests/pdemo/configure.ac, tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c, tests/pdemo/longer_file_name_foo.c, tests/pdemo/longer_file_name_foo2.c, tests/pdemo/longer_file_name_hell1.c, tests/pdemo/longer_file_name_hell2.c, tests/pdemo/longer_file_name_hello.c, tests/pdemo/longer_file_name_main.c, tests/quote.test, tests/recursive.at, tests/search-path.at, tests/sh.test, tests/shlibpath.at, tests/standalone.at, tests/static.at, tests/stresstest.at, tests/subproject.at, tests/suffix.test, tests/tagdemo-conf.test, tests/tagdemo-exec.test, tests/tagdemo-make.test, tests/tagdemo-shared.test, tests/tagdemo-static.test, tests/tagdemo-undef.test, tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp, tests/tagdemo/baz.h, tests/tagdemo/configure.ac, tests/tagdemo/conv.cpp, tests/tagdemo/conv.h, tests/tagdemo/foo.cpp, tests/tagdemo/foo.h, tests/tagdemo/main.cpp, tests/tagtrace.test, tests/template.at, tests/testsuite.at: Apply correct license text according to the new rules set out in HACKING. 2007-03-19 Gary V. Vaughan * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so that it isn't copied unless libltdl is being used. Copy other macro files according to their tagged serial numbers. * tests/libtoolize.at: Adjust. 2007-03-18 Ralf Wildenhues * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add `-export-symbols-regex ".*"' because the convenience libltdl uses export markers and thus turns off autoexport on w32. Fixes test failures for Cygwin and MinGW. Bug analysis by Charles Wilson. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When matching for interix, accept version range [3-9] instead of 3. * NEWS: Update. Report by Martin Koeppe . * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error that caused `dnl' to be merged to the previous word. * THANKS: Update. Report by Steve Ellcey. 2007-03-09 Gary V. Vaughan * libtoolize.m4sh: Replace literal tab chars in help comment with spaces to align columns in --help output. 2007-03-06 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the symbol filtering for w32 and the include_expsyms feature in the case of exceeded command line length. Fixes test failure on MinGW. * tests/stresstest.at: For const data object imported from shared library, define appropriate macros to expand __declspec(dllimport) on w32. Use two different main objects and pick the right one for the link flags we are about to test. Fixes test failure on MinGW. * tests/export.at: For const data object imported from shared library, define appropriate macros to expand __declspec(dllimport) on w32. Fixes test failure on MinGW. 2007-03-05 Gary V. Vaughan * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly in AC_CONFIG_MACRO_DIR diagnostics. * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to simplify m4sh quote quoting in blocks of raw shell code. * clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh, tests/defs.m4sh: Use it. * HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro. 2007-02-27 Ralf Wildenhues * tests/lt_dlexit.at: Allow test to pass on static-only systems and with disable-shared. * NEWS: Rewrite all news since 1.9f and put in categories, update. * libltdl/Makefile.inc: Fix the file description, so that it matches recursive and nonrecursive libltdl setup. * Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend upon the exact text of the copyright header, just copy until the marker line. Remove the marker lines in the output, and adjust the description for subpackage setup. 2007-02-26 Gary V. Vaughan * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo. * clcommit.m4sh: Look in the right directory for helper scripts. 2007-02-25 Gary V. Vaughan * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to match Copyright notice change below. * HACKING, Makefile.am, Makefile.maint, bootstrap, libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4, ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am, tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am, tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/libtoolize.at, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update Copyright notice text to include URL for canonical GPL document. 2007-02-25 Ralf Wildenhues * tests/static.at: Forgot to fix PATH for the first func_test_exec invocation. So factor out into new functions func_fix_path and func_restore_path and use those. * README: Document the need for GNU make to build Libtool. Point the user to the doc/notes.txt file. In the examples, use `gmake' throughout to make it more obvious. Explain simpler way to run both testsuites and either one. Referring to individual tests needs the `tests/' prefix. * README.alpha: Likewise. * doc/notes.texi: Likewise, document need for GNU make. Comment out the FreeBSD make issue for now. * tests/static.at: Larger rewrite to make work on w32: Use three different prefixes instead of three libdirs, so the moving of the DLLs works as expected. Adjust all code. Since now $libdirI/../bin is distinct from the directory of the installed program, take care than on w32 PATH contains the needed bindirs, in appropriate order. Report by Charles Wilson. * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and LIBLTDL to installed libltdl, so that it is being used by the lt_dlexit test. 2007-02-24 Ralf Wildenhues * doc/libtool.texi (Install mode, libtool script contents): Describe current and system-specific DESTDIR limitations. * tests/destdir.at: XFAIL if `fast_install' is no. * doc/libtool.texi (LT_INIT): Fix typo. * doc/libtool.texi (Libtool test suite): Mention the new testsuite. Point to README rather than INSTALL for testing instructions. (Test descriptions): Fix more file names. Also mention cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test, mdemo2-make.test, objectlist.test, pdemo-conf.test, pdemo-exec.test, pdemo-inst.test, pdemo-make.test, tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test, tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test, f77demo-conf.test, f77demo-exec.test, f77demo-make.test, f77demo-static.test, f77demo-shared.test, fcdemo-conf.test, fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test, fcdemo-shared.test. Describe what they do. (When tests fail, Troubleshooting): Mention how to pass options to the new test suite. * tests/tagdemo/README: Fix description. * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a preliminary ltmain.sh script. * doc/libtool.texi (Test descriptions): Track the grand test suite renaming from 2003-10-14 in the tests documentation. assign.test is merged into sh.test. Fix description of sh.test. * tests/sh.test: Likewise. * doc/libtool.texi (LT_INIT): Fix wording of intro a bit. : Also describe these default LT_INIT options. : Mention deprecated macro names, including the respective LT_INIT replacement. : Document, un-deprecate. Suggest the respective LT_INIT replacement. : Document deprecated aliases. (Distributing libltdl) : Document deprecated aliases. * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED) (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of the respective AC_* macros, so we do not recommend LT_INIT(*) in this case. (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC) (AC_DISABLE_STATIC): Un-deprecate these. Remove now-superfluous aclocal-1.4 backwards compatibility comments. * tests/link-order2.at: Rewrite completely. Do not use `sin' from the math library, there are too many problems with this. Instead, use a self-written library, install it without the Libtool library file, to emulate a native library in a system directory, and adjust $shlibpat_var. Try overriding its symbol. Further, also try an installed `wrong' binary. Avoid failing test bits on AIX without runtimelinking and on Darwin in some cases, SKIP at the end in this case. Analysis by Peter O'Gorman. * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue. * tests/template.at: Only skip those tests failing on Darwin if `-flat_namespace' is used by libtool. In that case, SKIP at the end. Analysis by Peter O'Gorman. 2007-02-23 Ralf Wildenhues Fix -export-symbols and -export-symbols-regex for links that exceed the command line length and use convenience archives. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a nonexistent file if using reloadable objects. Do not create a linker script nor a linker input file if no objects are passed. Apply export_symbols_regex in case the command line length is exceeded. Report by Bob Friesenhahn. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) : New tag variable. Default to `no'. (_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9. (_LT_LANG_CXX_CONFIG): Also default it to `no'. [ linux ]: Set it to `yes' for Sun C++ 5.9. * libltdl/config/ltmain.m4sh (func_mode_link): If we link no objects but only convenience archives into a library, force expansion if `compiler_needs_object' is yes. For creating a linker input filelist due to long cmdline, extract the first object if `compiler_needs_object' is yes. * doc/libtool.texi (libtool script contents): Document it. Fixes test failures of Sun compilers on GNU/Linux. Report by Terry D. Dontje. * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting `$libobjs' to a single space; set it to empty in that case. 2007-02-23 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]: On Tru64 5.1, const relocations do not work well. Omit the const here. Fixes failure of demo-make after demo-shared with link editor error `seg_info_ptr: Couldnt find a seg type 2'. * Makefile.am (doc_libtool_TEXINFOS): Renamed from... (libtool_TEXINFOS): ...this, to fix dependencies. Omit from EXTRA_DIST. (check-local): Also depend upon $(bin_SCRIPTS). 2007-02-23 Ralf Menzel (tiny change) * libltdl/config/general.m4sh (sed_double_backslash): Fix hacky sed script to avoid limitations but retain portability to Solaris /bin/sed. Remove old obsolete cruft. 2007-02-22 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for convenience archives when warning about linking against static libraries: test against $deplib rather than empty $lib. 2007-02-19 Ralf Wildenhues * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough libltdl by actually checking for the declaration of lt_dlinterface_register in ltdl.h with AC_CHECK_DECL. Remove redundant configure output line. * tests/template.at: Reformat, add M4 quoting. Use $LDFLAGS consistently for link mode. 2007-02-18 Ralf Wildenhues * tests/static.at: Use the right names for the broken libs. 2007-02-17 Ralf Wildenhues * tests/deplibs-ident.at [aix, hppa*-*-hpux*, interix, openbsd]: Do not XFAIL, on these systems we happen to pass. * tests/duplicate_deps.at [aix]: Likewise. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux | k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test. * HACKING: Update. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ] : For Sun C/C++ 5.9, do not add /dev/null as dummy object, it fails with GNU ld version 2.16.91.0.7-amd-sles9. Report by Terry D. Dontje. * THANKS: Update. 2007-02-14 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ] : Use `${wl}-input' not `-input', for cc. Could use `-input_to_ld'. (_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] : Use `${wl}' instead of `-Wl,', for consistency. 2007-02-12 Ralf Wildenhues Fix spurious testsuite failures on AIX due on NFS mounts due to shared library images that cannot be removed without `slibclean' which needs superuser privileges. * tests/testsuite.at (PREPARE_TESTS): Define $mkdir_p globally. (LT_AT_MVDIR): New macro to emulate `mv dir dest'. * tests/destdir.at: Use LT_AT_MVDIR. * tests/shlibpath.at: Likewise. * tests/static.at: Likewise. 2007-02-12 Ralf Wildenhues * tests/export.at: Exporting is not fully functional with -retain-symbols-file. Do not test for failure to link `broken' in this case. At the end of the test, SKIP if we are not fully functional. * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test pass with a C++ compiler. * libltdl/config/ltmain.m4sh: Remove duplicate marker for generated shell functions. * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): New macro, like LT_AT_EXEC_CHECK but uses `$LIBTOOL --mode=execute' and allows to pass `-dlopen MODULE' arguments. * tests/lt_dlexit.at: Use it. Also, do not test `-dlpreopen', that currently needs library names to begin with `lib'. 2007-02-11 Ralf Wildenhues * tests/export.at: New test: expose -export-symbols failure when the input consists solely of convenience archives, and failure to not export all symbols when the command line length is exceeded. * Makefile.am: Adjust. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted function `func_lo2o', saving two fork&exec with XSI shells. * libltdl/config/ltmain.m4sh (func_mode_compile) (func_mode_install, func_mode_link): Use it for rewrites of single files. * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function func_opt_split, for XSI and portable shell. * libltdl/config/ltmain.m4sh: Move the insertion point for the configure-generated shell functions to before the first option parsing loop. Rewrite the separation of the long options to use func_opt_split. 2007-02-11 Ralf Wildenhues Eliminate roughly a third of the script execution time overhead for all modes except for link/relink and uninstall/clean. * libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE MARKER', obsolete since 2005-04-17. * libltdl/config/ltmain.m4sh: Likewise, several instances. (Main): Tear apart, moving individual bits up as early in the script as possible, to help the shell to avoid parsing the rest. 2007-02-11 Ralf Wildenhues * doc/libtool.texi: Update copyright years. 2007-02-11 Ralf Wildenhues * libltdl/config/general.m4sh (sed_double_backslash): Replace POSIX sed script with a hack that treats up to 10 backslashes in the input correctly and is portable to Solaris /bin/sed. 2007-02-08 Ralf Wildenhues * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler variable is set to `no', not only if it is empty. 2007-02-06 Ralf Wildenhues * tests/lt_dlexit.at: Do not compile main object with libtool. * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir to inner testsuite. * Makefile.am (TESTSUITE_AT): Move destdir.at after search-path.at so the banners fit better. * tests/convenience.at: Use $CPPFLAGS for compilation. * tests/deplibs-ident.at: Likewise. * tests/duplicate_members.at: Likewise. * tests/inherited_flags.at: Likewise. * tests/link-order.at: Likewise. * tests/stresstest.at: Likewise. * tests/early-libtool.at: Likewise. Do not quote $CC. * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with C++ compiler again. * tests/destdir.at: Add `libtool' keyword to tests. 2007-02-05 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) (_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX) (_LT_COMPILER_C_O): Require _LT_DECL_SED. * THANKS: Update. Report by Maciej W. Rozycki. 2007-01-29 Ralf Wildenhues * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir, in the new testsuite. 2007-01-29 Samuel Thibault * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ] : Behave like Linux, so that --version-script is used for Hurd as well. 2007-01-28 Charles Wilson * NEWS: Update for Cygwin changes. 2007-01-28 Brian W. Barrett * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails. 2007-01-28 Dave Brolley , Ralf Wildenhues * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL before checking that it is still in the list. * tests/lt_dlexit.at: New test. * Makefile.am (TESTSUITE_AT): Adjust. (check-local): Also depend on libltdl/libltdlc.la. (check-recursive): Removed, unnecessary use of Automake internals. 2007-01-28 Mike Frysinger * libltdl/config/ltmain.m4sh (func_mode_link): Pass through `-p' and `-fprofile-*' for GCC. 2007-01-28 Ralf Wildenhues * libltdl/libltdl/lt_system.h: Adjust copyright years. 2007-01-28 Charles Wilson * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]: Also define on Cygwin. * libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise. 2007-01-28 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ] : Avoid shell expansion of '/s/.*' through double expansion, in case there is a 'S:' drive. Report by Charles Wilson. 2007-01-28 Ralf Wildenhues Introduce a new test keyword `recursive' for tests that create a modified `libtool' script and run the suite on this script. All tests with the keyword `libtool' are (by definition) suitable to be used here. * tests/cmdline_wrap.at: New test. * Makefile.am: Adjust. * tests/testsuite.at (LT_ESCAPE): New macro: clone of Autoconf AS_ESCAPE that does not escape `$'. (LT_AT_CHECK): New macro: print a command-to-be-run while expanding parameters but nothing else. * tests/stresstest.at: Use LT_AT_CHECK. Create some files to expose erroneous globbing errors with `-export-symbols-regex', similar to those reported by Charles Wilson. Use `eval' and adjusted quoting so the expansion doesn't already happen in the testsuite commands. * HACKING: Update. 2007-01-27 Ralf Wildenhues Assume C89 for included headers, and throughout the testsuite. * NEWS: Update. * libltdl/argz.c: Do not include strings.h nor memory.h, include string.h unconditionally. Patch by Simon Josefsson . * libltdl/libltdl/lt__private.h: Likewise. * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h, strings.h, memory.h. * tests/cdemo/configure.ac: Assume presence of math.h. * tests/cdemo/foo.c: Likewise. * tests/demo/configure.ac: Likewise for math.h, string.h. Assume 'const'. Drop obsolete AC_EXEEXT. * tests/demo/dlmain.c: Likewise. * tests/demo/foo.c: Likewise. * tests/depdemo/configure.ac: Likewise. * tests/depdemo/l4/l4.c: Likewise. * tests/f77demo/configure.ac: Likewise. Also drop obsolete AC_OBJEXT. * tests/fcdemo/configure.ac: Likewise. * tests/mdemo/configure.ac: Likewise. * tests/mdemo/foo1.c: Likewise. * tests/mdemo/foo2.c: Likewise. * tests/mdemo2/configure.ac: Likewise. * tests/pdemo/configure.ac: Likewise. * tests/pdemo/longer_file_name_dlmain.c: * tests/pdemo/longer_file_name_foo.c: Likewise. * tests/pdemo/longer_file_name_foo2.c: Likewise. * tests/tagdemo/configure.ac: Likewise. * tests/tagdemo/foo.cpp: Likewise. 2007-01-24 Reuben Thomas (tiny change) * doc/libtool.texi (Inter-library dependencies): Fix typo. 2007-01-21 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]: Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path translation mangling. Report by Christopher Hulbert. * THANKS: Update. * libltdl/config/ltmain.m4sh (func_mode_compile): Accept suffixes matching `[fF][09].', for Fortran. * tests/suffix.test: Also test F90, F95, f03, F03. * Makefile.am (EXTRA_DIST): Add ChangeLog.2006. * ChangeLog.2006: New, rotated, from... * ChangeLog: ...here. 2007-01-21 Ralf Wildenhues * doc/libtool.texi: Typo fixes. * TODO: Likewise. 2006-12-14 Ralf Wildenhues * tests/link-order2.at: Define our override `sin' function with C binding even if $CC is a C++ compiler. Skip the test with g++ as its command line driver reorders `-lm'. * tests/search-path.at: Declare `inflate' with C binding. * tests/stresstest.at: Avoid unused variable warnings. 2006-11-07 Ralf Wildenhues * tests/link-order2.at: Simplify logic to be a bit more self documenting. Suggested by Gary V. Vaughan. 2006-10-28 Ralf Wildenhues * tests/link-order2.at: Add missing $bindir setting. Prevent compiler optimization of sqrt call. Fix logic inversion and add some comments about this stunt. Add a test with reversed library link order that should fail if the system has a libm. Report by Patrick Welche. 2006-10-26 Ralf Wildenhues Assume presence of a config header in all files, to provoke test failures on all systems. * libltdl/lt__alloc.c: Likewise. * libltdl/libltdl/lt__dirent.h: Likewise. * libltdl/libltdl/lt__glibc.h: Likewise. * libltdl/libltdl/lt__private.h: Likewise. * libltdl/libltdl/lt__strl.h: Likewise. * tests/recursive.at: Use AC_CONFIG_HEADERS. * tests/nonrecursive.at: Likewise. Invoke autoheader. * HACKING: Adjust. Report by Patrick Welche. 2006-10-24 Paul Eggert , Ralf Wildenhues * doc/libtool.texi (Distributing libltdl): In recursive and nonrecursive mode, a config header is now required. * libltdl/argz.c: Remove check for HAVE_CONFIG_H, to conform to gnulib's policy of including config.h unconditionally. 2006-10-24 Ralf Wildenhues * tests/link-order2.at: New test to show one case where ordering of depdepls on the command line matters. * Makefile.am: Adjust. * tests/tagtrace.test: SKIP if `autoconf --trace' exits 63 or 1, for various possible (valid) error cases. Also output stderr, to help with analysis. * NEWS: Account for recent multilib fix. * tests/search-path.at: New test, to provide at least a weak test. * Makefile.am: Update. * libtoolize.m4sh (func_fixup_Makefile): Fix missing substitution for nonrecursive mode. Remove otherwise-empty continuation lines in the output file. Report by Bob Friesenhahn. 2006-10-22 Peter O'Gorman * libltdl/config/ltmain.m4sh: Add -F* to flags that are passed to the linker. Reported by SIGOURE Benoit 2006-10-19 Peter O'Gorman * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Improve multilib support. Reported by Kate Minola and others. 2006-10-13 Eric Blake * libltdl/ltdl.c (load_deplibs): Avoid memory leak on failure. (unload_deplibs): Avoid memory leak on cleanup. 2006-09-20 Ralf Wildenhues * libltdl/m4/libtool.m4 (func_mode_compile): Accept files with extension `.f9?'. * tests/suffix.test: Test `f95'. * libltdl/config/ltmain.m4sh (func_mode_uninstall): Use `func_source' consistently. 2006-09-18 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [k*bsd*-gnu ]: Fix brown paper bag: save and restore `libdir'. 2006-09-17 Ralf Wildenhues * tests/duplicate_deps.at: New file. Test circular depending convenience archives (currently failing). * Makefile.am: Update. Report by Stefan Traby . * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ openbsd ]: Set `hardcode_direct_absolute', to prefer rpath over putting absolute file names in NEEDED entries. * NEWS: Update. Reported by Jake Meuser and others. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ] [ k*bsd*-gnu ]: Test if ld sets DT_RUNPATH; in that case, set shlib_overrides_runpath to `yes'. Fixes test failure of new test on Gentoo GNU/Linux. * tests/shlibpath.at: New file, with... (shlibpath_overrides_runpath): ...new test. * Makefile.am: Update. 2006-09-12 Ralf Wildenhues * tests/destdir.at: New file. * Makefile.am: Adjust. 2006-09-11 Ralf Wildenhues * tests/inherited_flags.at: Drop `${parameter}' for `$parameter' where appropriate, for improved `testsuite -x' output. 2006-09-04 Ralf Wildenhues * libltdl/ltdl.c: Move LT__UNUSED before parameter name, for g++ 3.2.3 (on MinGW). * libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. 2006-09-04 George Bosilca and Ralf Wildenhues Make libltdl work when compiled with a C++ compiler. * libltdl/lt__alloc.c, libltdl/lt_dlloader.c, libltdl/ltdl.c, libltdl/slist.c, libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt_error.h, libltdl/libltdl/slist.h, 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, tests/stresstest.at, tests/testsuite.at, tests/f77demo/foo.h, tests/fcdemo/foo.h, tests/mdemo/foo.h, tests/mdemo/foo1.c, tests/mdemo/foo2.c, tests/mdemo/main.c: Allow sources to be compiled by a C++ compiler: Cast appropriately, add C linkage for `get_vtable' functions, do not use C++ keyword `delete'. * libltdl/config/ltmain.m4sh (func_mode_link): In the dlsym file, define a type for the symbol list, and declare the list `extern', so that it is extern even if compiled by a C++ compiler. The type definition helps avoid a compiler warning against anonymous extern struct. * libltdl/libltdl/lt_system.h: Add `extern' to `LT_SCOPE' for the same reason. * libltdl/argz_.h: It's __cplusplus, not _cplusplus. * libltdl/libltdl/slist.h: Likewise. * libltdl/libltdl/lt__glibc.h: Wrap included argz.h in `extern "C"', for broken headers on Cygwin. 2006-09-03 Ralf Wildenhues * tests/testsuite.at: Test `unset' on a set variable; older bash versions return 1 if the variable was not set. * tests/am-subdir.at, tests/early-libtool.at: Fix the LF vs. CRLF related failures on MinGW by grepping for good output instead of using AT_CHECK's `expout'. 2006-09-01 Ralf Wildenhues Drop K&R support from testsuite in favor of C89. * tests/duplicate_members.at: provide declarations of used functions. * tests/testsuite.at: Drop unneeded arguments. * tests/cdemo/main.c: Assume C89. * tests/demo/dlmain.c: Likewise. * tests/demo/main.c: Likewise. * tests/depdemo/main.c: Likewise. * tests/depdemo/l1/l1.c: Likewise. * tests/depdemo/l2/l2.c: Likewise. * tests/depdemo/l3/l3.c: Likewise. * tests/depdemo/l4/l4.c: Likewise. * tests/f77demo/cprogram.c: Likewise. * tests/fcdemo/cprogram.c: Likewise. * tests/mdemo/mlib.c: Likewise. * tests/mdemo2/main.c: Likewise. * tests/pdemo/longer_file_name_dlmain.c: Likewise. * tests/pdemo/longer_file_name_main.c: Likewise. * tests/fcdemo/fooc.c: Reformat. * tests/mdemo/sub.c: Likewise. 2006-08-31 Ralf Wildenhues * tests/mdemo/main.c: Fix bogus line in last patch. 2006-08-31 Ralf Wildenhues Avoid mixing functions and data pointers in callback functions. * libltdl/ltdl.c (file_worker_func): New type. (lt_dlforeachfile): Instead of passing a function pointer as a data pointer, pass a pointer to a file_worker_func pointer. (foreach_callback_func): Adjust. * tests/mdemo/main.c: Assume C89. Exercise lt_dlforeachfile. (callback, try_iterate, my_dirname): New functions. * tests/mdemo-exec.test: Check for its output. 2006-08-30 Ralf Wildenhues * libltdl/libltdl/lt__private.h (__attribute__, LT__UNUSED): New macros. * libltdl/loaders/dld_link.c: Use LT__UNUSED where appropriate. * libltdl/loaders/dlopen.c, libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c, libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Likewise. * libltdl/ltdl.c: Likewise. (find_file_callback): Fix declaration names to match definition. (load_deplibs) [!LTDL_DLOPEN_DEPLIBS]: Use separate definition for less preprocessor clutter. * Makefile.am (check-local, installcheck-local): Use `TESTSUITEFLAGS' rather than `TESTSUITE_FLAGS', like Autoconf. * HACKING, README, README.alpha: All uses changed. 2006-08-28 Ralf Wildenhues * libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code sharing with gnulib. Report by Eric Blake. * libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: Likewise. * HACKING: Update. 2006-08-25 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Pass through `--coverage' and `-pg', for GCC. Report by Rainer Keller and Tor Lillqvist . 2006-08-25 Kurt Roeckx , Aurelien Jarno * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [k*bsd*-gnu]: kfreebsd*-gnu and knetbsd*-gnu behave like linux-gnu. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [x86_64-*kfreebsd*-gnu]: Add 32/64 bit bi-arch support. * NEWS: Update. 2006-08-25 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ mingw,pw32 ]: If `file' is present, use `func_win32_libid' rather than `objdump -f', to facilitate cross-compilation. Reported by Pierre Ossman . 2006-08-23 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): In GNU ld script, do not quote object file names, for Intel icc 9.0 IPO link. 2006-08-22 Eric Blake * libltdl/m4/ltdl.m4 (LTDL_INIT): Avoid macros marked obsolete in latest autoconf. * libltdl/m4/libtool.m4 (_lt_cv_sys_global_symbol_pipe): Work in spite of -Wmissing-prototypes. * libltdl/libltdl/lt__dirent.h: Rewrite to accomodate loss of AC_HEADER_DIRENT. * libltdl/m4/libtool.m4: Avoid space-tab. 2006-08-07 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_execute): Also search the directory above `$objdir' for the argument of "-dlopen", as mentioned in the error message. 2006-08-03 Ralf Menzel * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Fix issues with previous patch. for ... do' line is superflous. Need _LT_TAGVAR not _LT_AC_TAGVAR, should be for both linux and solaris with Sun compiler. 2006-08-01 Albert Chin * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS) [ solaris ]: Don't set $postdeps to "-lCstd -lCrun" if "-library=stlport4" set in CXXFLAGS as stlport4 C++ library incompatible with Cstd C++ library. Use '-library=Cstd -library=Crun' instead of '-lCstd -lCrun'. 2006-07-28 Eric Blake * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD, LT_OUTPUT): s/recognise/recognize/. 2006-07-22 Eric Blake * libltdl/ltdl.c (loader_init_callback) [HAVE_LIBDLLOADER]: Protect definition to avoid compiler warnings about unused function. 2006-07-21 Eric Blake * libltdl/m4/ltdl.m4 (LT_LIB_DLLOAD): Search for dlopen without depending on -ldl, required by cygwin 1.5.20. 2006-06-24 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) ( _LT_LINKER_BOILERPLATE): Rewrite to not use unchecked `printf', for old systems like SunOS 4.1. (_LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O, _LT_LINKER_SHLIBS): Likewise. (_LT_LANG_C_CONFIG): Adjust: use literal newlines in `lt_simple_compile_test_code' and `lt_simple_link_test_code'. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Likewise. Bug report by Bruce Becker and Mark Andrews. 2006-06-13 Ralf Wildenhues Fix the bugs where libtoolize needs to use `dir/file' instead of `./dir/file', where ltdldir is `.', so that libtoolize correctly checks for (and suggests) `config' and `m4' instead of `./config' and `./m4' as auxiliary resp. macro directories. The change is necessary for unambiguous naming, the chosen way plays better with non-GNU make in VPATH builds. * libtoolize.m4sh (ltdlprefix): New variable, to use as prefix instead of `$ltdldir/'. (func_check_macros): Use it. Bug report by Eric Blake. 2006-06-12 Ralf Wildenhues Fix several libtoolize-related bugs: - Do not symlink aclocal.m4, to work around a bug in aclocal overwriting the linked-to file instead of removing the symlink. - Have `libtoolize --copy' cause current time stamps, so that dependents will be rebuilt; for this, install files in order. - Fix list of distribution files for (non)recursive libltdl. - Fix some failure cases. * libtoolize.m4sh (func_copy_cb): If `$opt_link', still copy `aclocal.m4', so a subsequent `aclocal' will not overwrite the symlink target. In `--copy' mode, do `cp -p' and `touch' for each file, so timestamps are updated but permissions preserved. (main): Reorder installing of files to match logical order and timestamp requirements. (func_fixup_Makefile_inc): Renamed to (func_fixup_Makefile): this. Add sed scriptlet to remove non-existent files from EXTRA_DIST, for either nonrecursive or recursive mode. (main): call it to mangle also in recursive mode. * tests/libtoolize.at (expout): Adjusted. * tests/testsuite.at (tst_dist): Default to `dist'. 2006-06-10 Ralf Wildenhues Fix libltdl to always have all generated files up to date. * Makefile.am (all-local): Depend on all generated files in libltdl, namely... (libltdl/aclocal.m4, libltdl/configure, libltdl/config-h.in): ...these. List explicitly, including dependencies and rebuilding rules, using... (sub_aclocal_m4_deps, sub_configure_deps): ...these new variables. Report by Dan Lacher . 2006-06-09 Ralf Wildenhues * Makefile.am (install-data-local): Do not use $(INSTALL_DATA) from another directory: it may use a relative path to `install-sh'. Bug report by Dan Lacher . 2006-06-08 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Honor `-threads', similar to `-mt'. Report by Eric Paire . 2006-06-01 Charles Wilson * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]: define DLL_EXPORT for PIC objects on cygwin. 2006-05-24 Albert Chin * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: Set hardcode_direct_absolute for CXX tag too! 2006-05-19 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link, shell wrapper): Do not put `"$@"' in argument to $ECHO. 2006-05-18 Ralf Wildenhues * libltdl/m4/libtool.m4: Bump serial, necessary because of _LT_CHECK_SHELL_FEATURES changes. 2006-05-18 Albert Chin-A-Young * tests/early-libtool.at: Pass $CPPFLAGS and $CFLAGS to compiler when compiling for extra flags that might be needed for ANSI-compliance, 64-bit, etc. The environment we compile with should match the environment libtool was compiled with. 2006-05-18 Ralf Wildenhues Fix mode=compile time regression of CVS HEAD over branch-1-5. * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Rename to... (_LT_CHECK_SHELL_FEATURES): ...this. (_LT_SETUP): Adjust caller. (_LT_CHECK_XSI_SHELL): New libtool variables `lt_unset', `SP2NL', `NL2SP', to contain results from tests for unset, taken from AS_BOURNE_COMPATIBLE, and ASCII vs EBCDIC, taken... * libltdl/config/general.m4sh: ...from here, and used... * libltdl/config/ltmain.m4sh: ...here everywhere now. * (AS_SHELL_SANITIZE): Replace by faster, actually necessary part of its expansion, taken from current Autoconf CVS. Do not save and set all locale variables any more, but only LANG, LC_ALL, LC_CTYPE, LC_COLLATE, LC_MESSAGES. (func_mode_execute): Adjust. * libltdl/m4/libtool.m4 (_LT_CONFIG): No need to unset CDPATH here any more. * libtoolize.m4sh: Compute `SP2NL' and `NL2SP' here, too. 2006-05-17 Gary V. Vaughan * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG), tests/link-order.at [ aix4*, aix5*, hpux10*, hpux11* ]: rename hardcode_direct_static to hardcode_direct_absolute. * doc/libtool.texi (libtool script contents): Adjust. * libltdl/ltdl.c (lt_dlhandle_fetch): Arguments to lt_dlhandle_iterate were in the wrong order. 2006-05-17 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_OPTION): Require _LT_DECL_SED. (_LT_CMD_GLOBAL_SYMBOLS, _LT_LINKER_SHLIBS): Likewise. * libltdl/m4/ltdl.m4 (LTDL_INIT): Likewise. (_LT_DECL_SED): Set $Xsed here, using $SED. Moved from... (_LT_SETUP): ...here. Report by Eric Blake. 2006-05-17 Gary V. Vaughan * doc/libtool.texi (libtool script contents): Document new hardcode_direct_static variable. * tests/link-order.at: Be careful about usage of shrext_cmds. * libltdl/m4/libtool.m4 (LT_AC_PROG_SED): Declarations for compatibility with old versions of libtool, and old versions of aclocal. 2006-05-17 Albert Chin-A-Young * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) [ aix4*, aix5*, hpux10*, hpux11* ]: Introduce a new variable, hardcode_direct_static, which would ignore hardcode_direct=yes if the result would create a static library dependency. Static library dependencies are immune to $shlibpath_var. * tests/link-order.at: Take hardcode_direct and hardcode_direct_static into consideration when testing link order. 2006-05-17 Ralf Wildenhues Eliminate quadratic scaling in argument parsing loop, for shells that understand `var+=value', such as Bash-3.1, or Zsh. * libltdl/m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Test whether the shell understands `var+=value'. (_LT_PROG_XSI_SHELLFNS): Define `func_append' based on this. * config/ltmain.m4sh (func_mode_link): Use `func_append' for compile_command, finalize_command, libtool_args, libobjs, non_pic_objects. 2006-05-15 Bruno Haible , Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ linux ]: Add support for Sun C 5.9, Sun C++ 5.9, and Sun Fortran 8.3 on GNU/Linux. * NEWS: Update. 2006-05-15 Ralf Wildenhues * Makefile.am (check-local): Move `$(TESTS_ENVIRONMENT)' and `$(BUILDCHECK_ENVIRONMENT)' to be arguments of `testsuite', so that reruns will remember it; set enviroment variable `CONFIG_SHELL' so the suite will know which shell it was started with. (installcheck-local): Likewise, for `$(TESTS_ENVIRONMENT)' and `$(INSTALLCHECK_ENVIRONMENT)'. * tests/testsuite.at (LT_AT_TAG): Do not set the compiler variable here. 2006-05-14 Albert Chin-A-Young * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ aix ]: $hardcode_direct is set twice. 2005-05-14 John Bowler * libltdl/config/ltmain.m4sh (func_mode_link): For version_type `none', we still need to set `current', `age', and `revision', so that our checks don't barf. The values won't be used later. Apparently reported by several people, several times, for BeOS. * NEWS, THANKS: Update. 2006-05-13 Ralf Wildenhues * tests/fail.at: Use "test -x" if available, for testing of executables; code modified from Autoconf's AS_EXECUTABLE_P. Reported by Albert Chin . 2006-04-22 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_write_libtool_object): New function, factored out from.. (func_mode_compile): .. here. Call it to generate the libtool object file (the `.lo' file) in one step. 2006-04-03 Peter O'Gorman * libltdl/loaders/preopen.c: Don't allow lt_dlopen if the module has no symbols. 2006-03-28 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when "parsing" `/etc/ld.so.conf' and empty `/etc/ld.so.conf.d'. Reported by Orion Poplawski . 2006-03-27 Ralf Wildenhues * bootstrap: Actually use the correct version of the last patch. 2006-03-25 Ralf Wildenhues * bootstrap: Enable `WORKING_LIBOBJ_SUPPORT' if we detect Autoconf-2.60+ and Automake-1.10+, or CVS versions. * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Sync with gnulib: If we define `error_t', also define `__error_t_defined', so argp.h will not typedef the former. 2006-03-23 Ralf Wildenhues * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS) [ freebsd ] [ dragonfly ]: Set libltdl_cv_sys_dlopen_deplibs to yes. Fixes excessive lt_dlopen times on these systems. * NEWS, THANKS: Update. Bug reported by Peter Jeremy , patch by Joerg Sonnenberger . 2006-03-20 Ralf Wildenhues * tests/static.at: New tests for comprehensive test exposure of all current and proposed static linking flags for programs. * Makefile.am: Updated. * libltdl/config/ltmain.m4sh (func_mode_link) < -static-libtool-libs >: New option. * doc/libtool.texi (Link mode, Distributing libltdl): Document it. Suggested by Gary Kumfert . 2006-03-17 Ralf Wildenhues * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp [ hpux ] : The HPPA C++ compiler has namespace support but provides no `std' namespace; just provide it with a dummy. * libltdl/m4/libtool.m4 (AC_PROG_SED): Do not forget to reset IFS even in case of empty `$PATH'. 2006-03-16 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Comment out the code to remove uninstalled paths, as it is wrong here. Change the wrong shell quoting that kept it from "working" before. * THANKS: Updated. * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [ freebsd, dragonfly ]: Fix 1.5.22 regression caused by too strict $host_os match that stopped DragonFly from working. * THANKS: Updated. Reported by Jeremy C. Reed , patch by Todd Vierling . 2006-02-24 Ralf Wildenhues * libltdl/config/ltmain.m4sh (startup): save all locale specific environment, variables:, LANG, LANGUAGE, LC_ADDRESS, LC_ALL LC_COLLATE, LC_CTYPE, LC_IDENTIFICATION, LC_MEASUREMENT, LC_MESSAGES LC_MONETARY, LC_NAME, LC_NUMERIC, LC_PAPER, LC_TELEPHONE, LC_TIME. (func_mode_execute): Restore them. 2006-02-15 Ralf Wildenhues * doc/libtool.texi (Tags): Mention `FC'. (libtool script contents) : Specify more precisely as the compiler of the current tag. : Document these variables. 2006-02-15 Ralf Wildenhues * doc/libtool.texi: Update copyright years. * libltdl/config/getopt.m4sh (func_help): Substitute `$host'. * libltdl/config/ltmain.m4sh (help message): Use $host not @host_triplet@, as the `@..@' substitution is done at bootstrap time already. Reported by Julien Lecomte . * doc/libtool.texi (Implementation issues): Note that both prefix and suffix of a library may differ. (Using libtool, Creating object files, Linking libraries): Remove last documentation traces of the age when `foo.lo' was the PIC object file and not the `libtool object' text file. (libtool script contents) : Remove description of this variable. It was removed from libtool in 1.5 times. 2006-02-13 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link) [ linux ]: PGI: for `reload_cmds', we not only need to get rid of `$wl', but also turn comma into space so $LD understands whole_archive_flag_spec correctly. * libltdl/config/ltmain.m4sh (func_mode_link) : Add _AS_BOURNE_COMPATIBLE code from Autoconf, to fix issues with zsh and other shells. Reported by David Gómez Espinosa . 2006-02-09 Ralf Wildenhues * libltdl/m4/libtool.m4 (AC_PROG_SED): m4_defun this rather than AC_DEFUN, so that old aclocal does not pick this up. * Makefile.am ($(TESTSUITE)): Also depend on `Makefile.am'. Write to temporary file and rename. 2006-02-05 Ralf Wildenhues * Makefile.am (EXTRA_DIST): Add `$(srcdir)/' to all generated files so that non-GNU make programs will use the rebuilding rules. * tests/testsuite.at: Add new keyword `libtoolize' for tests that exercise the `libtoolize' script that is generated at build time. * HACKING: Update testsuite mention, explain keywords. * libltdl/config/ltmain.m4sh (extracted_archives) (extracted_serial): New globals. (func_extract_archives): Use them to rename extraction archives for linking against multiple convenience libraries with the same name. * tests/duplicate_conv.at: New tests. * Makefile.am: Adjusted. Reported by Carlo Contavalli . * libltdl/config/ltmain.m4sh (func_mode_link) < test_compile >: Fix a couple of instances where `test .. -ne ..' would possibly compare non-numbers. Clean up a bit. * tests/convenience.at, tests/deplibs-ident.at: Add new keyword `libtool' for tests that exercise the unmodified `libtool' script that is generated at build time. * tests/duplicate_members.at, tests/fail.at: Likewise. * tests/inherited_flags.at, tests/link-order.at: Likewise. * tests/stresstest.at, tests/template.at: Likewise. 2006-02-03 Ralf Wildenhues * tests/fail.at: Also pass a bogus object file to the linker so it fails more reliably; AIX and IRIX linkers ignore duplicate symbol definitions. * libltdl/m4/libtool.m4 [ solaris ] (_LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) < whole_archive_flag_spec >: Fix this once and for all, for both the SUN compiler suite (cc/CC/f77/f90/f95) and GCC. Reported by Yuri Pukhalsky . * tests/cdemo/Makefile.am: Remove broken use of undocumented Automake variable `$(OBJECTS)'. * tests/demo/Makefile.am, tests/depdemo/Makefile.am: Likewise. * tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am: Likewise. * tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am: Likewise. * tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Likewise. * libltdl/config/ltmain.m4sh (func_mode_link): Fix logic for adding run paths to also add paths for installed libtool libraries in case `-static' is used. 2006-02-01 Ralf Wildenhues * Makefile.am (TESTSUITE_AT): List testsuite files in the order in which they are to be expanded in the suite. (tests/TESTSUITE): Rebuild by passing all $(TESTSUITE_AT) files, with their path suitably adjusted. This enables us to.. * tests/testsuite.at: ..get rid of their redundant mention here. 2006-01-30 Ralf Wildenhues * doc/libtool.texi (titlepage): Remove superfluous word. * libltdl/config/ltmain.m4sh (func_mode_link): Fix matching duplicate run path entries with the correct separator. * tests/testsuite.at (PREPARE_TESTS): Escape `^' for some older shells. * ChangeLog, HACKING, README, README.alpha, libltdl/config/ltmain.m4sh: Add vi(m) modelines, to match emacs formatting variables. 2006-01-24 Ralf Wildenhues * Makefile.am (libltdl/Makefile.am): Fixup sed script. Reported by Bob Friesenhahn . 2006-01-23 Ralf Wildenhues * Makefile.am, bootstrap, clcommit.m4sh, libltdl/config/getopt.m4sh, libltdl/config/mailnotify.m4sh, tests/sh.test, tests/testsuite.at: Bump copyright years. 2006-01-21 Eric Blake * THANKS: Move myself to contributor. 2006-01-21 Ralf Wildenhues * bootstrap: Don't use semicolons inside { } in sed scripts, as Posix says it's not portable. * Makefile.am (libltdl/Makefile.am): Likewise. * libtoolize.m4sh (all over the map): Likewise. * libltdl/config/getopt.m4sh (func_version, func_usage) (func_help): Likewise. * libltdl/config/ltmain.m4sh (func_win32_libid): Likewise. * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Likewise. * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Likewise. * tests/sh.test, tests/testsuite.at (LT_AT_TAG): Likewise. Noted by Paul Eggert . * libltdl/config/ltmain.m4sh (func_mode_compile): Also transform `.obj' correctly. Reported by George Bosilca . 2006-01-13 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): Fix my forward port error of last commit. 2006-01-12 Leif Ekblad * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC): Added support for RDOS. * NEWS: Updated. 2006-01-11 Ralf Wildenhues * libtoolize.m4sh, libltdl/config/general.m4sh, libltdl/config/getopt.m4sh, libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4: Bump copyright years. 2006-01-03 Ralf Wildenhues * Makefile.am (EXTRA_DIST): Add ChangeLog.2005. * README, README.alpha: Adjust copyright years. * ChangeLog.2005: New, rotated, from.. * ChangeLog: ..here. 2005-12-29 Ralf Wildenhues * Makefile.am (libtoolize): Also depend on `config.status'. (tests/atconfig): Normalize path, for non-GNU make. Reported by Bob Friesenhahn . * libltdl/config/ltmain.m4sh (func_mode_link) : Fix position of separator for shlibpath_var setting in shell wrapper. * libltdl/lt_error.c (error_strings): Remove parentheses around string literal initializers, uncovered by `tcc'. Reported by Edward Chernenko . 2005-12-21 Gary V. Vaughan * .cvsignore, libltdl/.cvsignore, tests/.cvsignore: Ignore +build, +dest, +inst, .cvslog-tlasync, .gdb_history, .pc, libltdl/INSTALL, libltdl/stamp-mk and tests/testsuite.log. 2005-12-20 Eric Blake * README.alpha: Really commit. 2005-12-19 Eric Blake * HACKING (release note templates): Update anon cvs location. * README.alpha (Reporting Bugs): Likewise. 2005-12-18 Jacob Meuser , Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Move library search paths that coincide with paths to not yet installed libraries to the beginning of the library search list. 2005-12-18 Ralf Wildenhues * THANKS: Updated. * HACKING: `./libtool --config' is more helpful than `--help'. * libltdl/config/ltmain.m4sh : Initialize properly. 2005-12-18 Kean Johnston , Ralf Wildenhues * libltdl/m4/libtool.m4 (LT_PATH_NM): Also look in /usr/ccs/bin/elf, for SCO. If we are not cross-compiling, but $ac_tool_prefix is set, also try an un-prefixed `nm'. 2005-12-18 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) : Initialize, to `unsupported'. 2005-12-18 Marc Espie * libltdl/m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [ openbsd ] : Set to `/usr/lib' only. 2005-12-16 Ralf Wildenhues * tests/old-m4-iface.at: Require Autoconf-2.50, so that Debian's autoconf wrapper will not cause 2.13 to barf over `--force'. Reported by Kurt Roeckx . * README.alpha (Reporting bugs): Suggest to also bootstrap the libltdl subdirectory -- the Makefile will enforce it anyway. (The Test Suite): Renamed to.. (The Test Suites): ..this. Introduce the new Autotest test suite, how to run each one individually, and what to report. * README (The Test Suite): Likewise. 2005-12-16 Ralf Wildenhues In the subpackage case, we do not install Makefile.inc. Since we have to be correct for this case, remove `Makefile.inc' from EXTRA_DIST. Recursive mode does not use it either. Since nonrecursive mode requires an Automake >= 1.7 anyway, and those versions automatically distribute included makefile fragments, we don't need to cater for that one either. * libltdl/Makefile.inc (EXTRA_DIST): Remove Makefile.inc. Reorder other entries. 2005-12-16 Ralf Wildenhues * Makefile.am (libltdl/Makefile.in): also depend on libltdl/aclocal.m4, so that we guarantee timestamp consistency. (libltdl/stamp-mk): New target, to fix `libltdl/Makefile.in'. (EXTRA_DIST): Distribute `libltdl/stamp-mk' and `libltdl/m4/lt~obsolete.m4'. (all-local): Ensure the stamp files is up to date. (libltdl/aclocal.m4): New target, to ensure timestamp consistency. Depend on all m4 files. * HACKING: Updated. * tests/testsuite.at (PREPARE_TESTS): New variable `tst_dist', default to empty. * tests/nonrecursive.at, tests/recursive.at, tests/standalone.at, tests/subproject.at: Use it in LT_AT_BOOTSTRAP or LT_AT_MAKE, so that you can optionally test redistribution within the tests. * libltdl/m4/lt~obsolete.m4: Update documentation for aclocal versions before 1.7. Change all macros to use AC_DEFUN instead of AU_DEFUN. * (_AC_PROG_LIBTOOL, AC_LIBTOOL_SETUP, _LT_AC_CHECK_DLFCN) (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_TAGCONFIG) (AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_CXX, _LT_AC_LANG_F77) (_LT_AC_LANG_GCJ, AC_LIBTOOL_RC, AC_LIBTOOL_LANG_C_CONFIG) (_LT_AC_LANG_C_CONFIG, AC_LIBTOOL_LANG_CXX_CONFIG) (_LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_LANG_F77_CONFIG) (_LT_AC_LANG_F77_CONFIG, AC_LIBTOOL_LANG_GCJ_CONFIG) (_LT_AC_LANG_GCJ_CONFIG, AC_LIBTOOL_LANG_RC_CONFIG) (_LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG) (_LT_AC_FILE_LTDLL_C): Add new fake macros for these, they were used at one time in libtool.m4. * tests/am-subdir.at (Makefile.am): Put automake options here, in AUTOMAKE_OPTIONS. Require 1.6 because of the newer `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' scheme. * tests/nonrecursive.at, tests/recursive.at: Require 1.7, because libltdl rules use `+=' in conditionals. * tests/testsuite.at (LT_AT_AUTOMAKE): Fix indenting. (LT_AT_AUTORECONF): also detect too old Automake. 2005-12-08 Eric Blake * libltdl/libltdl/lt__alloc.h (FREE): Cast away constness of argument to `free' to avoid compiler warning. 2005-12-08 Peter O'Gorman * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_LINKER_SHLIBS) [darwin]: Use $LTCC $LTCFLAGS to check for -single_module. Reported by Ralf Wildenhues 2005-12-07 Ralf Wildenhues * bootstrap: always remove Makefile, to avoid triggering the autotools rebuild rules before autoreconf builds these. Reported by Bob Friesenhahn . 2005-12-07 Peter O'Gorman * libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4 [darwin]: Use -single_module by default when linking shared libraries. Can be overridden by specifying -multi-module or by setting the env var LT_MULTI_MODULE before configure. * libltdl/m4/libtool.m4 (archive_expsyms_cmds) [darwin]: Simplify. Reported by Ralf Wildenhues 2005-12-04 Ralf Wildenhues * doc/libtool.texi (References): Do not use `@/' for the benefit of older `makeinfo', break lines instead. * Makefile.am (install-data-local): No continuation here. (dist-hook): Fix copying of README.alpha to README. * tests/early-libtool.at (configure.ac): Remove `AM_INIT_AUTOMAKE', we do not use automake in these tests. * README, README.alpha, libtoolize.m4sh: Typos. * tests/am-subdir.at, tests/duplicate_members.at: Make all banners end with a dot, for symmetry. * libtoolize.m4sh (func_copy_all_files) (glob_exclude_pkgaux_files): Removed, since unused. * libtoolize.m4sh (func_copy_cb, func_copy_some_files) (func_serial_update, func_keyword_update): Fail immediately if some file we may install does not exist. Reported by Troy Benjegerdes . 2005-12-03 Ralf Wildenhues * TODO: A bunch of items fixed. :) * tests/convenience.at: Updated to expose more corner cases. * doc/libtool.texi (Invoking libtoolize): Remove mention of the nonrecursive restriction to name the directory `libltdl'. * libtoolize.m4sh (func_fixup_Makefile_inc): New function. (main): Call it in nonrecursive mode to mangle Makefile.inc. * tests/nonrecursive.at: adjusted to test this. 2005-12-03 Ralf Wildenhues Basic support for PIE (position-independent executables). * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Don't pass PIE flag for compilation of the symbol file object. (func_mode_compile): Pass PIE flag only for non-PIC objects. * NEWS: Updated. 2005-12-03 Ralf Wildenhues * libltdl/config/general.m4sh (func_show_eval): Rewrite use of the failure expression, because the exit status of the previous command may not be preserved in the next `eval' by some shells, such as pdksh. * libltdl/config/ltmain.m4sh (func_extract_an_archive): Use func_show_eval correctly. (func_mode_link): Likewise. Also, do not use `$status'. * tests/fail.at: New set of tests to ensure libtool fails. * Makefile.am, tests/testsuite.at: Adjusted. 2005-11-26 Peter O'Gorman * libltdl/m4/libtool.m4 [darwin]: Use $LTCC $LTCFLAGS to create reloadable objects. 2005-11-25 Ralf Wildenhues * libltdl/Makefile.inc (libltdl/argz.h): Create libltdl directory if it does not exist yet. Take care that munging of the file will not mess up the build rule. Reported by Peter O'Gorman . 2005-11-25 Eric Blake , Ralf Wildenhues * libltdl/loaders/loadlibrary.c (iface_id): New variable. (get_vtable): Get an `iface_id' from `lt_dlinterface_register'. (get_vtable): Rewrite to catch up with lt_dlhandle_iterate interface change. Append dot only after w32 path conversion so it works on cygwin managed mounts. * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlinterface_free): New function. * doc/libtool.texi (User defined module data): Document it. 2005-11-25 Ralf Wildenhues * libltdl/m4/libtool.m4 [aix] (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Always move -bnoentry before $compiler_flags, so it can be overridden. * libltdl/config/ltmain.m4sh (func_mode_link): Allow GCC response files through. 2005-11-25 Peter O'Gorman * libltdl/config/ltmain.m4sh (func_mode_link): Pass through -isysroot for cross architecture builds on darwin. 2005-11-24 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_uninstall): In clean mode, don't remove non-existent libfoo.lai. 2005-11-20 Ralf Wildenhues * Makefile.am (aclocalfiles): Also install lt~obsolete.m4. * libtoolize.m4sh (func_check_macros): Updated. * tests/libtoolize.at: Adjusted. 2005-11-20 Eric Blake , Ralf Wildenhues * bootstrap (--help): Provide some help. 2005-11-20 Todd Vierling , Thorsten Glaser * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN, _LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ interix3 ]: Support for Interix/Microsoft Services for Unix. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Likewise. * NEWS: Updated. 2005-11-20 Ralf Wildenhues * tests/link-order.at [ interix ]: Skip command line grep. * tests/deplibs-ident.at [ interix ]: Not broken here. Reported by Thorsten Glaser . 2005-11-18 Ralf Wildenhues * libtoolize.m4sh (func_copy_all_files) (func_massage_aclocal_DATA, func_massage_pkgltdl_files) (func_massage_pkgconfig_files): Work around ksh limitation. Reported by Thorsten Glaser . 2005-11-14 Albert Chin * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ hpux11 ]: Pass +nodefaultrpath when linking on ia64*. 2005-11-14 Ralf Wildenhues Testsuite portability update round. * tests/inherited_flags: skip when shared libs are disabled. * tests/deplibs-ident.at [ aix ]: No unexpected failure here. * tests/libtoolize.at: Fix for distcheck (readonly sources). * tests/nonrecursive.at, tests/recursive.at, tests/subproject.at (foo.c): Actually export a symbol, for AIX. * tests/old-m4-iface.at: Use AC_LIBTOOL_DLOPEN, for AIX. * tests/nonrecursive.at: Set foo_la_SOURCES, for automake-1.7. * tests/subproject.at: Require automake-1.9, we use indirect subdirs. * tests/am-subdir.at: Move AT_KEYWORDS settings.. * tests/testsuite.at: ..here, in respective macros. (LT_AT_AUTOMAKE): Skip if we detect failure due to old version. (PREPARE_TESTS): Set autotool variables to `no' if not present. (LT_AT_ACLOCAL, LT_AT_AUTOCONF, LT_AT_AUTOMAKE) (LT_AT_AUTOHEADER, LT_AT_AUTORECONF): Use to XFAIL tests. Reported by Tim Rice . (LT_AT_MAKE): Do not use `make -e'. (_LTDL_PROJECT_FILES): Adjust sub-make call. Work around `make' which does not set `MAKE' or `SHELL'. Fix for user-set `CONFIG_SHELL'. Reported by Charles Wilson . * libltdl/m4/lt~obsolete.m4 (_LT_CC_BASENAME) (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): Added because they were added to branch-1-5 AC_DEFUNed. * HACKING: Add note about lt~obsolete.m4. * Makefile.am, libltdl/Makefile.inc (INSTALL_LTDL): For nonrecursive mode, add to include_HEADERS as well. * doc/libtool.texi (Invoking libtoolize, Distributing libltdl), tests/nonrecursive.at: Adjusted, and removed TABS from .texi. * libtoolize.m4sh: Revert use of `$tst_aclocaldir'. 2005-11-13 Eric Blake * libltdl/ltdl.c (lt_dlhandle_iterate): Fix endless loop. (lt_dlinterface_register): Fail if lt__strdup did. 2005-11-13 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LANG_C_CONFIG): Removed `lt_prog_cc_shlib' cruft, not needed any more. 2005-11-13 Kean Johnston , Tim Rice * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS) (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG) [ sco3.2v5, sysv4, sysv4.3, sysv5, sco3.2v5, sco5v6, unixware, OpenUNIX, sysv4*uw2 ]: Complete overhaul of SCO support. * THANKS: Updated. 2005-11-13 Ralf Wildenhues * tests/quote.test: Do not fail on harmless shell bug present in some ksh versions. Reported by Tim Rice and others. 2005-11-12 Ralf Wildenhues * libltdl/m4/ltoptions.m4 (_LT_SET_OPTION): Use m4_warning instead of m4_warn. * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC): `wl' is tagged here. * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF, _LT_COMPILER_PIC): Make sure `$wl' is properly expanded for tests involving `export_dynamic_flag_spec', `lt_prog_compiler_static'. * tests/defs.m4sh (func_configure): Actually pass options (like --disable-shared) to func_configure_nofail. 2005-11-11 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Fix shlibpath_overrides_runpath settings. Reported by Dave Benson . 2005-09-10 Charles Wilson * libltdl/config/ltmain.m4sh (func_win32_libid): use $SED not sed. 2005-11-10 Albert Chin-A-Young * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ] : Use C++ compiler for linking rather than ld. 2005-11-10 Ralf Wildenhues * libltdl/m4/ltsugar.m4 (lt_join, lt_combine, lt_dict_filter): Rewrite to eliminate tail recursion; use .. (lt_unquote): New trivial helper macro. * libltdl/m4/libtool.m4 (_lt_decl_filter): Document. 2005-11-10 Gary V. Vaughan * tests/testsuite.ac (macrodir): Don't set it here... * Makefile.am (BUILDCHECK_ENVIRONMENT, INSTALLCHECK_ENVIRONMENT): ...set it here to pick up files from the right place in context. * tests/libtoolize.at, tests/old-m4-iface.at: Adjust. * libtoolize.m4sh: Take tst_aclocaldir into account when running inside the test harness. 2005-11-10 Gary V. Vaughan * tests/am-subdir.at: Now that we don't run autoreconf, we have to explicitly tell aclocal what flags to use. * tests/testsuite.at (LT_AT_BOOTSTRAP): Allow passing arguments to configure. * tests/am-subdir.at, tests/nonrecursive.at, tests/old-m4-iface.at, tests/subproject.at: Use LT_AT_BOOTSTRAP. 2005-11-09 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Also set pic_flag. (_LT_LANG_CXX_CONFIG): Use $as_unset, not unset. (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG): Remove bogus ld_shlibs tests. * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS): Move setting of `variables_saved_for_relink'.. (_LT_SYS_DYNAMIC_LINKER): here, when both `shlibpath_var' and `runpath_var' have been set. Reported by Mike Frysinger . * libltdl/Makefile.inc (AM_CPPFLAGS): Do not define HAVE_CONFIG_H. * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not invoke AC_CONFIG_HEADERS ourselves, we can build with or without now. 2005-11-07 Kean Johnston * libltdl/config/ltmain.m4sh (func_mode_link) [ sysv4*uw2*, unixware7* ]: Work around linker bug on older SCO systems. 2005-11-07 Albert Chin-A-Young * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG) [ hpux10, hpux11 ]: hardcode_libdir_flag_spec and hardcode_minus_L are the same for hppa*64 and ia64*. Don't set hardcode_libdir_flag_spec='-L$libdir' on ia64* because if you specify +b and -L, +b overrides what is set into DT_RPATH. 2005-11-07 Gary V. Vaughan * tests/testsuite.at (_LTDL_PROJECT_FILES): Factored out from common code to build a basic libltdl using project. * tests/old-m4-iface.at, tests/standalone.at, tests/subproject.at: Use it. * doc/libtool.texi (Distributing libltdl): Document correct use of LT_CONFIG_LTDL_DIR mode argument with Autoconf and Automake. 2005-11-07 Gary V. Vaughan Support 'recursive' mode for building libltdl: Automake will recursively descend into the libltdl directory, and use libltdl's Makefile.am code to build libltdl: * ltdl.m4 (LT_CONFIG_LTDL_DIR): Don't barf on 'recursive' mode for 2nd argument. (_LTDL_MODE_DISPATCH): Handle recursive mode. 2005-11-07 Gary V. Vaughan * tests/recursive.at: New tests for libltdl as a subdirectory, configured and compiled from the toplevel project using a recursive make.. * tests/testsuite.at: Use it. * Makefile.am (TESTSUITE_AT): Depend on it. * libltdl/m4/ltdl.m4 (LTDL_INIT): Don't force running AC_CONFIG_HEADERS for subproject ltdl. * tests/old-m4-iface.at, tests/subproject.at: Remove workaround. * libltdl/m4/ltdl.m4 (LT_CONFIG_LTDL_DIR): Add LTDL-MODE argument. * configure.ac: Use it. 2005-11-06 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): lt_unknown is lt_dlunknown. * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Revert expansion of `$wl'. (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_GCJ_CONFIG): Do not require LT_SYS_DLOPEN_SELF. (_LT_LANG_C_CONFIG): Instead call it at the right time. (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG) (_LT_LANG_GCJ_CONFIG): Do not call _LT_CMD_STRIPLIB. * Makefile.am: `2>&1' as suggested by Albert Chin. * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: Two newlines before each macro, fix underlines. 2005-11-05 Kean Johnston , Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link) [*-*-sco3.2v5*]: Don't pass through -lc, nor add it to deplibs. [*-*-sysv5*]: Ditto. [*-*-openbsd*, *-*-freebsd*, *-*-dragonfly*]: Remove bogus `$arg'. 2005-11-04 Ralf Wildenhues * THANKS: Updated. 2005-11-02 Gary V. Vaughan * tests/nonrecursive.at: New tests for libltdl as a subdirectory, configured and compiled from the toplevel project. * tests/testsuite.at: Use it. (LT_AT_AUTOHEADER): New macro. * Makefile.am (TESTSUITE_AT): Depend on nonrecursive.at. 2005-11-01 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Add `-64' to $LD if necessary, to permit combining of several convenience libs without any further objects added. Reported by Brian Barrett . 2005-11-01 Kean Johnston , Ralf Wildenhues * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Use `lt_prog_compile_static', not `link_static_flag'. Expand `$wl' so expansion of `export_dynamic_flag_spec' works. (_LT_TRY_DLOPEN_SELF): Show dlerror() in case of failure. (_LT_LINKER_SHLIBS) [ aix3 ]: Likewise. (_LT_COMPILER_PIC) [ hpux* ]: Use `${wl}'. 2005-11-01 Ralf Wildenhues * THANKS: Updated. 2005-11-01 Gary V. Vaughan * libltdl/m4/ltdl.m4 (LTDL_INIT): Call _LT_ENABLE_INSTALL directly instead of m4_requiring it, as it relies on enable_ltdl_install and enable_ltdl_convenience to have been initialised first. * libtoolize.m4sh: Use serial tags to locate the correct serial numbers when deciding whether to update. (func_serial): Allow for macro_regex argument to be originating file name. (func_serial_update): Use NL2SP to flatten list of extracted m4_include files. * tests/libtoolize.at: More tests for old-style verbatim copying of macros into aclocal.m4. * libltdl/m4/argz.m4, libltdl/m4/ltoptions.m4, libltdl/ltsugar.m4, libltdl/m4/ltversion.in: Add serial number tags, and bump serial number. 2005-10-31 Kean Johnston [ sysv5*, sco3.2v5*, sco5v6*, unixware*, OpenUNIX*, sysv4*uw2* ] Patches for various bug fixes, small improvements and updating the SCO platform support. * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Set correctly for SCO. * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Set correct symcode values for the native nm on SCO platforms. * libltdl/m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): All SCO platforms open dependency libraries when you dlopen a module. 2005-10-31 Albert Chin-A-Young * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ aix ]: Remove duplicate always_export_symbols=yes for AIX. 2005-10-29 Howard Chu * libltdl/config/ltmain.m4sh (func_mode_link): With `-static', only link statically against uninstalled libtool libraries. Fixes 1.5.x regression to match documented behavior. * NEWS: Updated. 2005-10-27 Stepan Kasal * HACKING: Update note about use of `$#' in m4 macros. 2005-10-27 Ralf Wildenhues * tests/tagtrace.test: Allow `$AUTOCONF' to contain arguments. Skip if the running `autoconf' version is older than the one used to bootstrap Libtool. 2005-10-26 Eric Blake , Ralf Wildenhues * Makefile.am (vcl-tmp): Avoid warnings from diff. * bootstrap: Avoid warnings from find. (lt_tab): Use to prevent editor whitespace "cleanup". 2005-10-26 Gary V. Vaughan * libtoolize.m4sh: Put back the func_serial_update callback for func_copy_some_files so that the testsuite passes again. We'll have to find a better way of handling serial numbers in libtool macro files. * libltdl/Makefile.inc: New file, factored out of Makefile.am for use in non-recursive libltdl installations. * bootstrap: Adjust. * Makefile.am: include it. (libltdl/Makefile.am): Adjust to build from the new libltdl/Makefile.inc. (SUBDIR_LIBOBJS): Renamed from this... (LTDL_SUBDIR_LIBOBJS): ...to this. * configure.ac: Adjust. * doc/libtool.texi (Invoking libtoolize): Document the new modes and libtoolize option to select them. * libtoolize.m4sh: Parse new options, --nonrecursive, --recursive and --subproject. Install the appropriate files with --ltdl according to the selected mode. (func_scan_files): If --subproject, --recursive or --nonrecursive options were not given, use the value from LT_CONFIG_LTDL_DIR; if a mode was given, and there is also an argument to LT_CONFIG_LTDL_DIR, ensure they are the same. * NEWS: Updated. * libtoolize.m4sh: Don't use func_serial_update as a copy function for libtool m4 files with no macro_regex. If the files are copied directly into aclocal.m4, because AC_CONFIG_MACRO_DIR isn't set for example, there is no way to tell what serial number goes with what source file. (func_serial_update): For future-proofing, only make the second serial number check if the destination file wasn't m4_included into aclocal.m4 (and hence updated automatically by the cat of copying a new version to the dest directory). * libtoolize.m4sh: Move the consistency checks... (func_check_macros): ...into here. Also suggest LT_WITH_LTDL if appropriate. * libtoolize.m4sh: Copying just libtool.m4 for hand maintained aclocal.m4 doesn't work. List all required files in that case, using the files from installed libltdl if available. Also, list the additional files required when using libltdl. Reported by Patrick Welche . * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_first): Removed. * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlhandle_next) (lt_dlhandle_find, lt_dlforeach): Removed... (lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map): Similar functions that are multi-loader safe, and require a registered interface validator argument. * doc/libtool.texi: Updated. * NEWS: Updated. * libtoolize.m4sh: Always copy pkgconfig_files for --ltdl, incase ltdl needs additional things not found by automake when looking at the parent project configury. * tests/libtoolize.at: Adjust. 2005-10-17 Ralf Wildenhues * libltdl/config/ltmain.m4sh [darwin]: Don't check for "bundle" in file path. Reported by Christoph Egger . 2005-10-14 Gary V. Vaughan * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Don't nest AC_MSG_CHECKING/ AC_MSG_RESULT pairs. 2005-10-14 Gary V. Vaughan * tests/subproject.at: Move 'touch config.h.in' invocation. * tests/subproject.at (_LTDL_SETUP): Use pushdef/popdef to simulate file-local scope. Empty source file compilation is not portable, so add minimal code to generated foo.c file. 2005-10-13 Ralf Wildenhues * libltdl/m4/libtool.m4 (LT_PATH_NM): End test source with newline. Reported by Charles Wilson . 2005-10-13 Peter O'Gorman * libltdl/ltdl.c (find_module): Check that dir is set. (load_deplibs): Don't free the user search paths too early. 2005-10-11 Ralf Wildenhues * tests/testsuite.at (LT_AT_AUTOMAKE): New macro. * tests/subproject.at: Use it. Do not call `autoreconf' in tests, since it will try to reconfigure `sub/ltdl', which breaks `make check' during `distcheck' because of a readonly source tree. * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Also set INCLTDL. * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE) (LT_WITH_LTDL): Revert Gary's 2005-10-10 patch. * tests/stresstest.at: Use `allow_undefined_flag' instead of host_os setting. 2005-10-10 Gary V. Vaughan * libltdl/m4/ltdl.m4 (_LT_ENABLE_INSTALL): Remove bogus extra closing brackets. 2005-10-10 Gary V. Vaughan * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Remove AC_SUBST of LIBLTDL, LTDLINCL, and all mention of INCLTDL. (LT_WITH_LTDL): Due to order constraints between LTDL_CONVENIENCE, LTDL_INSTALLABLE, LT_WITH_LTDL & LTDL_INIT, we can safely AC_SUBST LIBLTDL and LTDLINCL here. Also, remember to synch INCLTDL. 2005-10-10 Ralf Wildenhues * tests/stresstest.at [ aix3, beos, os2 ]: Always use `-no-undefined'. 2005-10-09 Christian Biesinger * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG) [ beos ]: Initial shared library support for C++. 2005-10-07 Ralf Wildenhues * configure.ac (abs_top_builddir, abs_top_srcdir): always substitute. * Makefile.am (BUILDCHECK_ENVIRONMENT) (INSTALLCHECK_ENVIRONMENT): New macros. Set _lt_pkgdatadir, LIBTOOL, LIBTOOLIZE accordingly, by using above, and program_transform_name. * tests/testsuite.at (TESTS_PREPARE): Do not set them anymore. Set $unset. (LT_AT_MAKE): Use to unset LIBTOOL and LIBTOOLIZE. 2005-10-05 Gary V. Vaughan * tests/subproject.at: Commit the right file this time. 2005-10-05 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Fix m4 quoting for lt_simple_link_test_code. Reported by Nicolas Joly . 2005-10-05 Gary V. Vaughan * tests/subproject.at: New tests for libltdl as a subproject with its own configuration. * tests/testsuite.at: Use it. * Makefile.am (TESTSUITE_AT): Depend on it. 2005-10-05 Ralf Wildenhues * Makefile.am: Simplify. Do not use abs_top_srcdir. Reported by Gary V. Vaughan . 2005-10-05 Gary V. Vaughan * libltdl/m4/ltdl.m4 (_LT_CONFIG_LTDL_DIR): Spurious './' prefixes upset BSD pmake, don't set lt_ltdl_dir in this case. (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Adjust. 2005-10-05 Ralf Wildenhues * Makefile.am (BUILDCHECK_ENVIRONMENT) (INSTALLCHECK_ENVIRONMENT): New macros. (check-local, installcheck-local): Use them. * tests/testsuite.at (PREPARE_TESTS): Extract host_alias, ECHO. Set configure_options appropriately. (LT_AT_CONFIGURE, LT_AT_AUTORECONF, LT_AT_MAKE): New macros. (LT_AT_BOOTSTRAP): Use them. * tests/am-subdir.at, tests/early-libtool.at, tests/old-m4-iface.at, tests/standalone.at: Likewise. * tests/link-order.test: Do not extract ECHO any more. * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Require AC_CANONICAL_HOST and _LT_DECL_SED. 2005-10-03 Gary V. Vaughan * libltdl/m4/ltdl.m4: Bump serial as we are changing the interface. (LT_CONFIG_LTDL_DIR): New macro to centralise setting the subdirectory used for libltdl. (LTDL_CONVENIENCE): Continue backwards compatibility support for declaring the libltdl source subdirectory with an argument, but defer to LT_CONFIG_LTDL_DIR. (AC_LIBLTDL_CONVENIENCE): Adjust to upgrade to the new style. (LTDL_INSTALLABLE, AC_LIBLTDL_INSTALLABLE): Ditto. (LTDL_INIT): lt_ltdl_dir is set by LT_CONFIG_LTDL_DIR now, and even `./' needs trailing slashes trimming! If the user didn't upgrade their configure.ac yet, call LT_CONFIG_LTDL_DIR for them. * libtoolize.m4sh (func_scan_files): If --ltdl option is given without a directory argument, use the value from LT_CONFIG_LTDL_DIR; if the argument is given, and there is also a value in LT_CONFIG_LTDL_DIR, ensure they are the same. * libltdl/configure.ac: Use it. * NEWS: Updated. 2005-10-02 Ralf Wildenhues * tests/old-m4-iface.at (Makefile.in): Do not reconfigure libltdl directory. 2005-09-30 Ralf Wildenhues * tests/deplibs-ident.at: New file with XFAIL test to expose wrong multiple listing of a deplib on the command line. * Makefile.am, tests/testsuite.at: Updated. Reported by Brian Barrett . * tests/old-m4-iface.at: Define top_srcdir, work around current ltdl.m4 bug. * libltdl/config/ltmain.m4sh (func_mode_link): Fix wrong logic introduced in last commit. 2005-09-30 Gary V. Vaughan * tests/libtoolize.at: Add a new test to catch a regression I almost introduced with respect to copying macro files when AC_CONFIG_MACRO_DIR is shared with libltdl subproject. 2005-09-30 Gary V. Vaughan * tests/old-m4-iface.at: Start of a new test series for m4 interface backwards compatibility. * tests/testsuite.at: Use it. (macrodir): Declare the location of uninstalled libtool m4 macros. * Makefile.am (TESTSUITE_AT): Depend on it. 2005-09-29 Tim Rice (tiny change) * tests/early-libtool.at (Makefile.in): Set $(SHELL). 2005-09-29 Peter Ekberg * libltdl/config/ltmain.m4sh (func_mode_link): Don't modify user provided symbols file. Adjust removal of temporary files and also remove temporary files used during symbols file filtering. 2005-09-29 Ralf Wildenhues * libtoolize.m4sh (func_included_files): Do not recurse non-existent files. 2005-09-27 Gary V. Vaughan * libtoolize.m4sh (func_scan_files): Support projects that have upgraded libtool, but still use an old autoconf. When the libtool macros are not copied (because of missing ACLOCAL_AMFLAGS and AC_CONFIG_MACRO_DIR ), point them at the libtoolize master tree for files to manually copy into acinclude.m4 or aclocal.m4. * libltdl/lt_error.c (lt__last_error, lt__error_strings): The lt__ prefix is used to indicate internal symbols that are only exported for use by other parts of libltdl. These are now static, so... (last_error, error_strings): ...renamed to this. Changed all callers. * libltdl/ltdl.h (lt_dlmutex_register, lt_dlmutex_lock) (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror) (lt_dlmalloc, lt_dlrealloc, lt_dlfree): Remove deprecated APIs. * doc/libtool.tex: Updated. * NEWS: Updated. * libltdl/ltdl.c (lt_dlcaller_register): Renamed to avoid problems with module visibilty when linked with programs written for the old API. (lt_dlinterface_register): New name. * Makefile.am (VERSION_INFO): Bumped. * doc/libtool.texi (User defined module data): Updated. 2005-09-27 Tim Rice * tests/defs.m4sh, tests/testsuite.at (PREPARE_TESTS) : Allow variable override. 2005-09-26 Ralf Wildenhues * HACKING: Only update libltdl version info before release. 2005-09-26 Tim Rice * configure.ac : Allow variable override. 2005-09-25 Alan W. Irwin , Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_win32_libid) [ cygwin, mingw ]: Robustify sed script to determine win32_libid_type. (func_mode_link) [ mingw ]: Ignore `-lm'. 2005-09-25 Peter Ekberg * libltdl/libltdl/lt__private.h, libltdl/lt_error.c: Don't export the lt__last_error and lt__error_strings variables. Define lt__error_strings so that no relocations are needed. * libltdl/libltdl/lt__private.h (LT__STRERROR, LT__GETERROR) (LT__SETERRORSTR): Adjust to not use the above variables, instead use the following functions... * libltdl/lt_error.c: (lt__error_string, lt__get_last_error) (lt__set_last_error): Reimplement the functionality in these functions instead. * libltdl/libltdl/lt_error.h: Add LT_ERROR_LEN_MAX define for max error string length. (lt_dlerror_table): Append explicit nul terminators so that compilers warn more reliably if the above define is too small. 2005-09-23 Ralf Wildenhues * tests/link-order.at [ aix* ]: skip path syntax grep. 2005-09-23 Peter Ekberg * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Fix awk script to be a single line so that the cache variable isn't multiline. 2005-09-23 Eric Blake (tiny change) * libltdl/loaders/loadlibrary.c (vm_open): Silence gcc warnings. [__CYGWIN__]: Include for prototype. 2005-09-22 Gary V. Vaughan * bootstrap: Don't clobber the working copy metadata in ./{arch}/libtool during bootstrap. 2005-09-22 Peter Ekberg , Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Filter user supplied symfile to tag relevant symbols as data symbols. Fixes segfault in stresstest.at on Cygwin and makes the test pass. 2005-09-22 Peter Ekberg * tests/link-order.test: Clean up the uninstalled libraries before linking the test executables so that they don't pick up the dlls from the current dir on Cygwin and MinGW. 2005-09-22 Tim Rice * libltdl/m4/libtool.m4 (LT_PATH_NM, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS): Add missing `;;' after case list. 2005-09-22 Peter Ekberg , Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS, _LT_COMPILER_PIC) (_LT_LINKER_SHLIBS): Require _LT_TAG_COMPILER to make sure that $compiler is assigned. Fixes crippled configure output. 2005-09-21 Peter Ekberg * libltdl/m4/libtool.m4 (LT_PATH_NM): Fix autodetection of dumpbin and also check for "link -dump -symbols" as a synonym for "dumpbin -symbols". * libltdl/config/ltmain.m4sh (func_mode_uninstall): Clean up $dlname as well when cleaning a uninstalled libtool library. Fixes -mode=clean on Cygwin and MinGW to actually remove the dll when cleaning up an uninstalled library. 2005-09-20 Peter Ekberg * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Split up --out-implib option for linker in separate args so that the MSYS path translation can do its magic on the provided path to the import library. Fixes problem in stresstest.at on MinGW. 2005-09-19 Ralf Wildenhues * Makefile.am (ltdldatafiles): Fix installation order to match dependency order. (libltdl/Makefile.in): Use $(srcdir) for non-GNU make. 2005-09-17 Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_mode_link): Allow some ARM gcc ABI flags through. Reported by Andrés Moré . * Makefile.am (all-local): Rebuild libltdl/Makefile.in. * libltdl/m4/ltdl.m4 (LTDL_INIT) : Rename to.. : this, to contain the name of the config header. * Makefile.am : Use it to define LT_CONFIG_H. * HACKING, libltdl/argz.c, libltdl/lt__alloc.c, libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h: Adjusted. 2005-09-16 Peter Ekberg * tests/testsuite.at (LT_AT_EXEC_CHECK): Make sure that the exit status of the tested program is propagated as the exit status of the expression fed to AT_CHECK. 2005-09-14 Ralf Wildenhues * libltdl/argz.c : Avoid redefinition warning. * libltdl/ltdl.c (lt_argz_insert): Work around newlib argz_insert bug. * Makefile.am (VERSION_INFO): Bumped revision. Reported by Eric Blake . 2005-09-13 Peter Ekberg , Ralf Wildenhues * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix escape expression to actually escape relevant characters from the following grep. Fix Cygwin and MinGW to use the filtered symbol list when exporting from self, and not the symbol filter. * tests/stresstest.at: Export w8, not w8$ 2005-09-12 Ralf Wildenhues Make tagdemo work smoothly with both pre- and ISO C++ compilers, and remove all use of libstdc from other tests. * tests/tagdemo/configure.ac (HAVE_NAMESPACES, HAVE_IOSTREAM): New tests for ISO C++ features. Reimplementation of similar macros from the autoconf archive. * tests/tagdemo/foo.cpp, tests/tagdemo/main.cpp: Adjusted. * tests/am-subdir.at, tests/template.at: Do not use iostream. 2005-09-12 Peter Ekberg , Ralf Wildenhues * tests/testsuite.at (host_os): Pull from `libtool --config'. * tests/stresstest.at [ cygwin, mingw, pw32 ]: Use it to fix setting of `-no-undefined'. 2005-09-12 Ralf Wildenhues * libltdl/m4/ltdl.m4 (LT_WITH_LTDL, LTDL_CONVENIENCE) (LTDL_INSTALLABLE): Use less quoting for expanded LIBLTDL, LTDLINCL. Use m4_default instead of m4_if, to work around AU_ALIAS bug with empty macro arguments. (LTDL_INIT): Likewise. * libltdl/m4/ltoptions.m4 (_LT_WITH_PIC): Likewise. * TODO, HACKING: Updated. 2005-09-10 Gary V. Vaughan * libtoolize.m4sh (TAR): Allow the user to override the tar command. 2005-09-09 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE) (_LT_LINKER_BOILERPLATE, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O): When comparing expected and actual compiler/ linker output for warnings, weed out both empty lines as well as lines starting with possibly indented `+', to allow for shell debugging with `set -x'. Check the weeded instead of unweeded contents for emptiness. * libltdl/config/ltmain.m4sh (func_mode_link): Actually provide a useful error message. Fixes long-standing shameful user neglection. Reported by Martin Paljak . 2005-09-08 Peter Ekberg * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Symbols in "pick any" sections are not global. Use awk, not sed, in the global_symbol_pipe so that keeping track of sections is easier. * doc/libtool.texi (libtool script contents): Update to hint at new findings concerning "pick any" sections. 2005-09-08 Ralf Wildenhues * tests/early-libtool.at (config.status): Use EXEEXT consistently. Reported by Charles Wilson . 2005-09-08 Charles Wilson * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [ cygwin, mingw, pw32 ]: Use --enable-auto-image-base instead of a fixed image base address. 2005-09-06 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv4*uw2*, sysv4.2uw2* ]: Fix my last checkin to really match the more special case before the general case. Reported by Stepan Kasal . 2005-09-06 Roger Cornelius * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD) [ sysv5OpenUNIX8, sysv5UnixWare7, sysv5uw[78], unixware7, sysv4*uw2* ]: Match special cases before general case. 2005-09-05 Ralf Wildenhues * bootstrap: another AIX sed fix. * Makefile.am (TESTS_ENVIRONMENT): Export SHELL. * bootstrap (SHELL): Set to $CONFIG_SHELL or /bin/sh. Name `make' targets in portable fashion. Work around `rm' warnings. Unconditionally create fake `libtoolize'. Reported by Patrick Welche . * Makefile.am (doc/notes.txt): Use --no-headers instead of --plaintext for makeinfo. Reported by Peter O'Gorman . 2005-09-04 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ aix ] : Work around shell expansion issue in func_show_eval by separating `$' and field number; drop then unnecessary m4 quoting. 2005-09-02 Gary V. Vaughan AC_BEFORE only works if declarations are made inside the macro cited as the first argument: * libltdl/m4/libtool.m4 (LT_OUTPUT): Move AC_BEFORE decls... (LT_INIT, LT_LANG): ...to the macro that has to come first. 2005-09-01 Peter O'Gorman * libltdl/m4/libtool.m4 (old_postintall_cmds): chmod 644 before running ranlib. Reported by Gerald Pfeifer 2005-09-01 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_PROG_CXX, _LT_PROG_F77) (_LT_PROG_FC): aclocal-1.4 compatibility workaround. * bootstrap: Do not use nonportable -path. Reported by Ralf Menzel . 2005-09-01 Gary V. Vaughan * doc/libtool.texi (LT_INIT): Fix a logical error with documentation of --with-pic vs --without-pic. 2005-09-01 Ralf Wildenhues * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): m4_defun this.. * libltdl/m4/libtool.m4 (LT_INIT): so it can be m4_require'd from here with user-supplied options. Fixes output macro ordering issue. 2005-09-01 Gary V. Vaughan * libtoolize.m4sh (func_scan_files): When searching for evidence of Autotools in aclocal.m4, be careful not to trip over requires and defuns. 2005-08-31 Gary V. Vaughan , Ralf Wildenhues * libltdl/m4/ltoptions.m4 (_LT_SET_OPTIONS): Move option macro dipatch.. (_LT_SET_OPTION): here. Do not fail but warn on unknown options. (_LT_UNLESS_OPTIONS(win32-dll), LT_OPTION_DEFINE(dlopen)): Add whitespace. Reported by Robert Ögren and Akim Demaille . 2005-08-31 Ralf Wildenhues * libltdl/m4/libtool.m4 [ solaris CC ]: Document issue with C++ standard libraries. 2005-08-30 Gary V. Vaughan * libltdl/m4/ltoptions.m4 (AC_LIBTOOL_PIC_MODE): Renamed... (AC_LIBTOOL_PICMODE): ...this in the backwards compatibility code. There never was an AC_LIBTOOL_PIC_MODE macro. * libltdl/m4/libtool.m4 (_LT_SETUP): Remove duplicate --enable-libtool-lock declaration. 2005-08-29 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_PATH_TOOL_PREFIX, _LT_SYS_HIDDEN_LIBDEPS, _LT_DECL_EGREP): Fix typos. * Makefile.am: Install libltdl data files in correct order. Use pre-defined programs for installation; use NORMAL_INSTALL and NORMAL_UNINSTALL. Really fix ownership and timestamp problems. Fix typo in uninstallation of aclocal files. Reported by Peter Breitenlohner and Charles Wilson . 2005-08-29 Gary V. Vaughan , Ralf Wildenhues Allow for portability with Autoconf 2.59, Automake 1.9.6, which lack AC_CONFIG_LIBOBJ_DIR support. * bootstrap: Unless environment variable WORKING_LIBOBJS_SUPPORT is set to true aka `:', symlink .. * argz.c lt__dirent.c lt__strl.c: .. these from the copies in libltdl. * configure.ac (SUBDIR_LIBOBJS): Automake conditional, set if bootstrap didn't make the extra copies of libobj sources in top srcdir... * Makefile.am: Add these to EXTRA_DIST if SUBDIR_OBJS is not set, as well as the originals in libltdl/, in order to work when bootstrapped both with old and newer Automake/Autoconf. 2005-08-29 Gary V. Vaughan * libltdl/m4/ltdl.m4 (LTDL_CONVENIENCE): Fix the comment to not pretend that LIBLTDL and LTDLINCL are not AC_SUBSTed here. 2005-08-29 Gary V. Vaughan Some macros had relied on accidentally correct ordering in order for $MV to be defined before use. Factor out setting of some common file commands and m4_require it before use: * libltdl/m4/libtool.m4 (_LT_FILEUTILS_DEFAULTS): Allow user to override some common file commands at configure time. (_LT_SETUP, _LT_CONFIG, _LT_COMPILER_OPTION, _LT_LINKER_OPTION) (_LT_COMPILER_C_O, _LT_COMPILER_FILE_LOCKS) (_LT_SYS_DYNAMIC_LINKER, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) (_LT_SYS_HIDDEN_DEPLIBS): m4_require it to ensure the commands are defined before they are called. 2005-08-28 Gary V. Vaughan * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4: AU_DEFUN doesn't pass arguments. Use AU_ALIAS instead! 2005-08-28 Ralf Wildenhues , Gary V. Vaughan * libltdl/config/ltmain.m4sh (func_lalib_unsafe_p) [osf]: Save file descriptor to original STDIN, and restore after redirection. Fixes memory corruption with Tru64 and OSF sh. Reported by Nicolas Joly . 2005-08-26 Ralf Wildenhues , Peter Ekberg * tests/early-libtool.at: Fix goofed up make rules in previous commit. * tests/inherited_flags.at: Weaken for MSVC. * tests/early-libtool.at, tests/template.at: Fix for compiler that do not understand '-c -o'. 2005-08-26 Ralf Wildenhues * tests/standalone.at, tests/template.at: Do not compare output because of EOL issues. Resolve warnings, make cross- compilation aware. Reported by Peter Ekberg . * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) (_LT_LINKER_SHLIBS): Double-quote unsafe tag variable descriptions: they are literals. 2005-08-25 Peter Ekberg , Ralf Wildenhues * tests/standalone.at: (without autotools): Add $(CFLAGS) to LTCOMPILE and LTLINK. Separate compiling and linking. Remove compiling flags from link. Add --tag. Add -no-undefined flag. 2005-08-24 Bruno Haible * libltdl/config/ltmain.sh (func_mode_install): Try "ln -s -f" and "rm -f && ln -s" to make a symlink for a shared library: the former is needed for libraries `ln' depends on, the latter for Solaris /bin/ln. Reported by Nelson H. F. Beebe . * libltdl/config/ltmain.sh (cwrappersource): return 127 if exec failed. 2005-08-24 Ralf Wildenhues * libltdl/m4/libtool.m4 (_LT_COMPILER_C_O): Send chmod warning to log. * tests/defs.m4sh (m4dir, auxdir, scripts): Fix for source tree reorganization. * tests/sh.test: Adjust. Also barf on sed diagnostics so this test will not fail again silently. * libltdl/m4/ltdl.m4 (LT_SYS_SYMBOL_USCORE): Use _LT_EOF, not EOF. * tests/fcdemo/Makefile.am (suffix rules): Explicitly add $(FCFLAGS_f90) so the tests can pass on AIX. 2005-08-24 Peter O'Gorman * libltdl/config/ltmain.m4sh (inherited_linker_flags): Work when output is an application too. Reported by Christopher Egger 2005-08-23 Stepan Kasal , Ralf Wildenhues * libltdl/m4/ltdl.m4 (LTDL_INIT): Use AH_HEADER if defined. Compute CONFIG_H only before creating config.status. Reported by Peter Ekberg . 2005-08-23 Ralf Wildenhues * Makefile.maint (web-manual): Fix $(LN_S) to use absolute path. Fix creating the manual for VPATH build. * bootstrap: Fix missing replace config -> $auxdir. ltmain.m4sh is prerequisite to ltmain.sh. Improve warning message. 2005-08-22 Gary V. Vaughan Reorganise the libtool tree to create a bootstrapped libltdl for installation to the libtoolize master tree, so that libltdl is useable even in the extreme case of when automake and autoconf are not installed on the developers machine. Part of this change requires some duplication of rules between Makefile.am (which builds libltdl for this distribution) and libltdl/Makefile.am (which is used by projects that libltoolize --ltdl --copy), so libtool now really does use a single toplevel Makefile.am, and we generate libltdl/Makefile.am from that: * m4, config: Moved from here... * libltdl/m4, libltdl/config: ...to here, to reduce the amount of kludging needed in bootstrap for autoreconf to run. * tests/cdemo/Makefile.am, tests/demo/Makefile.am, tests/depdemo/Makefile.am, tests/f77demo/Makefile.am, tests/fcdemo/Makefile.am, tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am, tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (ACLOCAL_AMFLAGS): Adjust to compensate. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/fcdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Ditto. * libltdl/m4/ltdl.m4: Increment serial number. (LTDL_INIT): Accept an optional directory argument to prefix each of the LD_DLLOADERS locations. Default to empty for backwards compatibility. * Makefile.maint: Adjust to compensate. * configure.ac (AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR): Adjust. (AC_CONFIG_LIBOBJ_DIR): Set here so that we can build LTLIBOBJS from in a subdirectory from the amalgamated Makefile.am. (AM_PROG_CC_C_O, AM_INIT_AUTOMAKE): Use subdir-objects. (AC_CONFIG_FILES): Remove libltdl/Makefile.am. * libltdl/Makefile.am: Removed from repository, and merged into Makefile.am as we now generate it... * Makefile.am (libltdl/Makefile.am): ...from here, by extracting the merged rules, and tweaking paths to accomodate the difference in directory from Makefile.am to libltdl/Makefile.am. (nobase_dist_pkgdata_DATA): Automake generated installation rules change timestamps of installed files, so renamed this... (configauxfiles): ...to this... (libtoolize): ...substitute it... (install-data-local): ...install manually, preserving timestamps... (install-data-hook): ...and set execute bit as appropriate. (uninstall-hook): Not forgetting to remove them at uninstall. (libltdl/Makefile.in): New rule. Called from... * bootstrap: ...here to avoid relying on config.status at bootstrap time. (auxdir, m4dir): Extract from configure.ac for ease of future maintenance. Adjust all references. (reconfdirs): Call autoreconf for libltdl too -- even though we don't use it for the build, libltdl/configure and friends are installed with `libtoolize --ltdl --copy'. * libtoolize.m4sh: Add files from the installed config master tree to libtoolize --ltdl project subdirectory. Diagnose duplicated files when --ltdl is used in an autotooled project. It's perfectly fine to run `libtoolize --ltdl --copy' in a tree that has no configure.ac or configure.in; we want libltdl to be useful even to projects that don't use autotools themselves. (libtoolize_flags): Removed. Changed all callers. (func_massage_pkgconfig_files): New function. * tests/standalone.at: New tests for using libltdl without supporting configury in the parent project. * tests/testsuite.at: Run them! * NEWS: Updated. 2005-08-22 Peter Ekberg * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS) [dumpbin]: Add forgotten end bracket. * doc/libtool.texi: Shorten the lines describing the output from MS dumpbin, and align the columns. * m4/libtool.m4: Bump serial number. (LT_PATH_NM): If nm is not found on the path, look for dumpbin. Then check if $NM responds as dumpbin would and if not, assume the name lister is BSD nm compatible. (_LT_CMD_GLOBAL_SYMBOLS): If the name lister uses the dumpbin interface, adjust the test to find a working global_symbol_pipe. * doc/libtool.texi: Document $NM to possibly be MS dumpbin compatible, and also document the format of the relevant output from MS dumpbin. 2005-08-21 Gary V. Vaughan * libltdl/Makefile.am: revert mistaken commit. * tests/template.at [darwin]: Some of these tests result in unresolved symbols on darwin, so don't run those test on that host! 2005-08-18 Gary V. Vaughan , Ralf Wildenhues * m4/libtool.m4 (LT_OUTPUT): New macro to generate libtool before config.status. (_LT_CONFIG_COMMANDS): If LT_OUTPUT has been invoked, then generate code in config.status to call config.lt instead of generating libtool directly. * doc/libtool.texi (LT_INIT): Document LT_OUTPUT. * tests/early-libtool.at: New test. * Makefile.am (TESTSUITE_AT): Updated. * tests/testsuite.at: Updated. Define defaults for $ACLOCAL, $AUTOCONF. 2005-08-18 Ralf Wildenhues * TODO: Actually updated now. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ freebsd ]: Do not assume `aout' for modern FreeBSD by absence of deprecated `objformat'. * m4/libtool.m4 [sun, CC] (_LT_LANG_CXX_CONFIG): Move postdeps override .. (_LT_SYS_HIDDEN_LIBDEPS): ..here. * TODO: Updated. 2005-08-18 Stepan Kasal * config/general.m4sh (SP2NL, NL2SP): Simplify. 2005-08-17 Gary V. Vaughan * m4/ltdl.m4 (LTDL_INIT): Fix mismatched parens. 2005-08-13 Ralf Wildenhues * tests/inherited_flags.at: Store intermediate libtool output for better debugging. * tests/link-order.at: Add -no-undefined to LDFLAGS. * tests/convenience.at, tests/template.at: Change suffix of C++ files to .cpp, for compatibility with MSVC. Reported by Peter Ekberg . 2005-08-12 Jeremie LE HEN , Ralf Wildenhues * doc/libtool.texi (Creating object files, Linking libraries): Update description of library object (.lo) and libtoo library (.la) files. (all over): Replace MODE with --mode=MODE in examples. 2005-08-12 Ralf Wildenhues * config/ltmain.m4sh (func_source): New function. (func_mode_execute, func_mode_install, func_mode_link): Use it. Do not append a dot to a file name to source, it breaks on cygwin managed mounts and is not necessary anywhere. Reported by Eric Blake . * config/ltmain.m4sh (func_execute_cmds): New function. (func_mode_finish, func_mode_install, func_mode_link) (func_mode_uninstall): Use it. * tests/defs.m4sh (func_configure): Rename to .. (func_configure_nofail): this, call from old. * tests/fcdemo-conf.test, tests/fcdemo-shared.test, tests/fcdemo-static.test: Use. Do not fail gratuitously but SKIP on compilers that look like they could be Fortran 77-only. Reported by Patrick Welche . * config/ltmain.m4sh (mode): Do not initialize, for nicer error messages. 2005-08-10 Peter Ekberg * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Set ac_ext to cpp, not cc. 2005-08-08 Ralf Wildenhues * config/ltmain.m4sh (inherited_linker_flags): Backed out broken patch. 2005-08-08 Peter O'Gorman * config/ltmain.m4sh (inherited_linker_flags): Work when output is an application too. Reported by Christopher Egger 2005-08-08 Ralf Wildenhues * m4/libtool.m4 (_LT_PROG_FC, _LT_LANG_FC_CONFIG): New macros for modern Fortran. (LT_LANG, _LT_LANG_DEFAULT_CONFIG, _LT_SYS_DYNAMIC_LINKER, _LT_SYS_HIDDEN_LIBDEPS): Adjusted. * tests/fcdemo-conf.test, tests/fcdemo-exec.test, tests/fcdemo-make.test, tests/fcdemo-shared.test, tests/fcdemo-static.test, tests/fcdemo/Makefile.am, tests/fcdemo/README, tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c, tests/fcdemo/foo.h, tests/fcdemo/fooc.c, tests/fcdemo/foof.f90, tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90, tests/fcdemo/fprogram.f90: New tests for Fortran. * tests/convenience.at: Extended. * Makefile.am, configure.ac: Adjusted. * NEWS: Updated. * AUTHORS, HACKING: Updated. 2005-08-05 Albert Chin-A-Young * config/ltmain.m4sh (func_mode_link): Ignore errors from expr when determining if piece-wise linking should be done. 2005-08-04 Ralf Wildenhues * config/ltmain.m4sh (func_mode_link) : Add missing bit from Christoph's patch. * m4/libtool.m4 (_LT_LINKER_HARDCODE_LIBPATH, _LT_LINKER_SHLIBS) (_LT_LANG_CXX_CONFIG): Comment typos. 2005-08-04 Christoph Egger * config/ltmain.m4sh (func_mode_link) : Change basename() to base_name() and have it return a pointer to const, fix compilation warnings. 2005-07-30 Peter Ekberg * m4/libtool.m4 (_LT_PROG_F77): Set it up so that saying F77=no to configure disables the fortran tests in the testsuite. 2005-07-29 Richard Moseley * m4/ltdl.m4 (LTDL_INIT): Handle in addition the new name for AC_LIST_HEADERS which is _AC_LIST_TAGS. 2005-07-28 Peter Ekberg * libltdl/Makefile.am: Make the LTDLOPEN define controllable from the configure script. * m4/ltdl.m4 (LTDL_INIT): Set the LTDLOPEN define according to libname_spec. * tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year, not time, for really fresh files. Add sleep 1 calls at strategic places. Makes the test pass for MinGW. * m4/libtool.m4 (_LT_LINKER_OPTION): Fix copy-paste bug, it is the linker that is tested. * tests/demo-noinst-link.test: $make is empty on MSYS, replace with $MAKE. Makes the test pass for MinGW. * config/ltmain.m4sh (func_generate_dlsyms): Properly remove the fake symbol line ": @PROGRAM@ " from the list of exported symbols. * libltdl/loaders/loadlibrary.c (vm_open): Set the error mode so that no dialog is popped up in case the file given to LoadLibrary is not a dll. * config/ltmain.m4sh (func_mode_link) : Make sure skipped_export is set to colon if _some_ cmd of export_symbols_cmds is too long. * libltdl/ltdl.c: The linker is confused by having one definition of lt_libltdlc_LTX_preloaded_symbols tagged with __declspec(dllexport) in ltdl.c and one definition with an initial value in libltdlcS.c. So, just say extern in ltdl.c. Fixes the mdemo-exec.test for MinGW. * config/ltmain.m4sh (func_mode_link) : Zap duplicate message "creating reloadable object files..." 2005-07-23 Peter O'Gorman * m4/libtool.m4 (CXX, archive_cmds) [sun]: Add -lCstd, -lCrun and -lc for c++ builds with Sun C++ and Centerline C++.. Reported by Albert Chin-A-Young 2005-07-11 Ralf Wildenhues * m4/libtool.m4 (_LT_CHECK_XSI_SHELL): Fix bogus merge. Reported by Patrick Welche . 2005-07-08 Ralf Wildenhues * libltdl/Makefile.am (libltdl_la_DEPENDENCIES): Depend on $(BUILT_SOURCES) as well, so that argz.h gets created through `make libltdlc.la'. Reported by Sven Verdoolaege . 2005-07-08 Peter Breitenlohner * Makefile.am (install-data-local): Have root own of installed files (but do not fail, for user installs). 2005-07-08 Bruno Haible * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [cygwin,mingw,pw32]: Make DLL executable after installing it. 2005-07-08 Ralf Wildenhues * config/ltmain.m4sh (func_mode_install): Do not assume `-f' needs an argument if the install program is `cp'. Cleanup install mode somewhat. Reported by Juergen Leising . 2005-07-03 Thorsten Glaser * m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Quieten configure output for corner cases on some BSDs. (LT_CMD_MAX_LEN): Another comment cleanup. * config/ltmain.m4sh (func_extract_archives, func_mode_install), m4/libtool.m4 (_LT_SETUP, _LT_SYS_DYNAMIC_LINKER, LT_PATH_LD) (_LT_PATH_LD_GNU, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Comment language, indentation, and backquote cleanup. * THANKS: Updated. 2005-07-02 Peter O'Gorman * tests/inherited_flags.at: Use -no-undefined. Reported by Chris Oxenreider 2005-07-02 Ralf Wildenhues * config/ltmain.m4sh (func_mode_compile, func_mode_link), m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH, _LT_ENABLE_LOCK): Remove some unnecessary quotes. * tests/convenience.at : Fix java test. Reported by Eric Blake . 2005-07-01 Derek R. Price * config/ltmain.m4sh (func_mode_link) : Handle spaces in paths to executed programs. Quote path in error message. 2005-06-29 Ralf Wildenhues * THANKS: Updated. 2005-06-28 Stepan Kasal * clcommit.m4sh: "grep|sed" can be replaced by mere "sed". * m4/libtool.m4 (_LT_LIBTOOL_TAGS): Remove unnnecessary "[]". * m4/lt~obsolete.m4: Use m4_ifndef. 2005-06-27 Stepan Kasal * m4/ltsugar.m4 (lt_combine, _lt_combine): Fix default separator. * m4/ltoptions.m4 (_LT_UNLESS_OPTIONS, _LT_SET_OPTIONS): Replace AC_FOREACH by a combination of m4_foreach/m4_split/m4_normalize. 2005-06-27 Ralf Wildenhues * m4/ltoptions.m4 (_LT_SET_OPTIONS): Remove unnecessary workaround for CVS Automake bug (fixed). Reported by Stepan Kasal . 2005-06-21 Peter O'Gorman * conig/ltmain.m4sh [darwin]: Accept -arch flag. 2005-06-18 Ralf Wildenhues * m4/libtool.m4 (_LT_COMPILER_BOILERPLATE, _LT_LINKER_BOILERPLATE): New macros: save warnings and boilerplate of simple compile/link tests. (_LT_LANG_C_CONFIG, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Call. (_LT_COMPILER_OPTION, _LT_LINKER_OPTION, _LT_COMPILER_C_O, ): Fail only if nonempty warnings different from default compile/link. 2005-06-17 Ralf Wildenhues * m4/ltsugar.m4 (lt_car, lt_cdr): New macros, clones of m4_car/m4_cdr with the fixed semantics of Autoconf-2.59c CVS, in order to work with 2.59. (lt_combine): Use it. Reported by Christoph Egger . 2005-06-11 Ralf Menzel , Ralf Wildenhues * m4/ltoptions.m4 (_LT_SET_OPTIONS): Loop options only if nonempty. * m4/ltsugar.m4 (lt_combine): Don't test against empty quotes, test against empty arg. Fixes infinite m4 loop with CVS Autoconf. 2005-06-11 Ralf Wildenhues * m4/libtool.m4 (_LT_COMPILER_OPTION, _LT_LINKER_OPTION): No need for $ECHO here. Fix sed script syntax to be portable. This should now put the pic-flag right after the last $*FLAGS variable again, if any. Necessary for Fortran AC_FC_SRCEXT. 2005-06-09 Ralf Wildenhues * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Remove long lines. 2005-06-06 Ralf Wildenhues * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): PGI also has pgf95. PGI static flag is `-Bstatic'. Remove harmless extra comma from whole_archive output. 2005-06-05 Ralf Wildenhues * config/ltmain.m4sh (func_mode_compile): In order to find out about forbidden characters in output, check with grep after checking func_quote_for_eval result. Also, warn instead of fail. * config/general.m4sh (func_quote_for_eval) (func_quote_for_expand): Revert SunOS sh bug workaround patch from 2004-12-28 as it triggers bugs in the Tru64 5.1B shell. Reported by Albert Chin and Nicolas Joly . 2005-06-01 Olly Betts (tiny change) * libltdl/argz.c (argz_create_sep): Fix typo. 2005-05-31 Peter O'Gorman * config/ltmain.m4sh: Do not add installed static litool libraries to convenience, they are not convenience libraries. Reported by Chen-Mou Cheng 2005-05-16 Ralf Wildenhues * THANKS: Updated. 2005-05-15 Ralf Wildenhues * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix]: Fix wrong $ECHO use overlooked in 2005-04-27. Simplify slightly. * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: PGI: Add $pic_flag to archive_cmds and archive_expsyms_cmds. Bug reported against LAM by Troy Telford . 2005-05-13 Ralf Wildenhues * THANKS: Updated. 2005-05-06 Gary V. Vaughan * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Propogate ltdl directory. 2005-05-02 Ralf Wildenhues * Makefile.am (stamp-vcl): Use `diff' instead of `cmp'. 2005-04-30 Gary V. Vaughan Revert the parallel installation changes from November last year: * libtoolize.m4sh (pkgdatadir, aclocaldir): Substituted from configure. (func_copy_all_from_path): Removed. No longer used. (func_copy_some_files): Simplify now that nothing is copied from a list of possible directories now. (func_scan_files): Remove directory readability check... (func_nonemptydir_p): ...in favour of a dedicated sanity check function called from the main body. (_lt_pkgvdatadir): Set pkgdatadir and aclocaldir appropriately if this is in the environment. * configure.ac: Tests for `ln' removed. (APIVERSION): Removed. * Makefile.am (pkgvdatadir, nobase_dist_pkgvdata_DATA) (nobase_pkgvdata_DATA): Renamed to... (pkgdatadir, nobase_dist_pkgdata_DATA, aclocalfiles): ...these respectively. (edit): Adjust for new variable names. (install-data-local): Don't bother to remove old macro files that will be overwritten by the installation, and perform a manual installation of $(aclocalfiles) to preserve timestamps. (install-exec-hook): Removed. No need to make versioned links. (uninstall-hook): No need to remove versioned links, but now we need to manually remove the manually installed $(aclocalfiles). * doc/libtool.texi: Remove bogus notes about setting ACLOCAL_AMFLAGS for versioned libtool installations. * NEWS: Remove parallel installation item. 2005-04-29 Ralf Wildenhues * m4/ltdl.m4 (all over): Quote all arguments to AC_DEFINE and AC_DEFINE_UNQUOTED consistently. Reported by Michael Koch , Riccardo Mottola , and Dalibor Topic . * HACKING: Updated. 2005-04-27 Ralf Wildenhues * tests/convenience.at: Actually add. * tests/convenience.at: New. Test convenience archives. * Makefile.am, tests/testsuite.at: Adjust. * tests/testsuite.at: Reorder tests. Suspend AT_TESTED. (PREPARE_TESTS): Define EGREP, host, build, LIBTOOL. (LT_AT_BOOTSTRAP): Fail if autoreconf fails. (LT_AT_EXEC_CHECK): New macro for execution of $build binaries. (LT_AT_TAG): New macro to test tag availability or skip test. * tests/am-subdir.at, tests/duplicate_members.at, tests/inherited_flags.at, tests/link-order.at, tests/stresstest.at, tests/template.at: Adjust. Use LT_AT_TAG, LT_AT_EXEC_CHECK, AT_KEYWORDS. Use compiler/linker flags consistently. * tests/link-order.at: Fix use of AT_DATA, bogus redirection inside AT_CHECK. * tests/stresstest.at: Do not use wildcards/regex in symbol files, they are not portable. Use -no-undefined on win32. Fix to ignore compile/link warnings. * tests/f77demo/foo.h, tests/f77demo/fooc.c, tests/f77demo/cprogram.c, tests/mdemo2/main.c, tests/pdemo/foo.h: Make declarations available. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: sed 3.02 does not understand \t in regex. Reported by Tim Van Holder . * tests/defs.m4sh (func_configure): Don't run the whole configure script with -x. * config/ltmain.m4sh: Audit use of echo vs $ECHO. Reported by Robert Ögren and others. * TODO: Updated. 2005-04-26 Ralf Wildenhues , Gary V. Vaughan * HACKING, THANKS: Updated. 2005-04-25 David Edelsohn * m4/libtool.m4 (_LT_LINKER_SHLIBS): _LT_TAGDECL(file_list_spec). * config/ltmain.m4sh (func_mode_link): Change $filelist to $output. 2005-04-24 Ralf Wildenhues * m4/libtool.m4 (_LT_CC_BASENAME): Ignore `compile'. 2005-04-23 Ralf Wildenhues * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [solaris]: Update wl for Sun Studio f77/f90/f95. Fix whole_archive_flag_spec for cc and f77/f90/f95 to prevent reordering in case we link with $CC. * m4/libtool.m4: Audit use of echo vs $ECHO. * TODO: Update. Reported by Robert Ögren and others. 2005-04-23 Gary Kumfert * m4/libtool.m4 (_LT_LANG_F77_CONFIG) [aix4, aix5]: Adjust logic to match the C case: Only disable static if not on ia64 nor runtimelinking. 2005-04-22 Ralf Wildenhues (tiny change) * Makefile.am, HACKING: Use lt__cd throughout. 2005-04-22 Gary V. Vaughan The FSF are moving offices today. Changed their contact address in all files from `59 Temple Place, Suite 330, MA 02111-1307' to `51 Franklin Street, Fifth Floor, MA 02110-1301'. 2005-04-19 Ralf Wildenhues * libtoolize.m4sh (func_scan_files, func_serial, func_ltmain_update, func_config_update, func_install_update): Placate AIX sed. 2005-04-19 David Edelsohn * config/ltmain.m4sh (func_mode_link): If command exceeds max_cmd_len and file_list_spec exists, write list of input files to temporary file. * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [aix4,aix5]: Define file_list_spec. 2005-04-18 Ralf Wildenhues * tests/demo-hardcode.test: Fix typo. 2005-04-17 Alexandre Oliva , Peter O'Gorman * config/ltmain.m4sh: Don't add files with the same base name to an archive; rename duplicates instead. (func_extract_an_archive): Remove section to deal with duplicate base names in an archive. * tests/functests.at: remove. * tests/duplicate_members.at: new test. * tests/testsuite.at: Add new test, remove old. * Makefile.am: Add new test, remove old. 2005-04-17 Ralf Wildenhues * tests/demo-hardcode.test [solaris]: Use dumpstabs if available, to avoid false failure caused by debug section which contains command line (Solaris cc). Reported by Ralf Menzel . 2005-04-17 Ralf Wildenhues (tiny change) * libtoolize.m4sh (func_copy_cb): Fix syntax typo. 2005-04-15 Maciej W. Rozycki * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG): Add old_archive_cmds definition. 2005-04-15 Ralf Wildenhues * m4/libtool.m4 (_LT_CC_BASENAME): New macro to figure out $cc_basename. Skip ccache, distcc, purify, cmdline options, `$host_alias-' prefix. (_LT_SETUP, _LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG) (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Use. * NEWS, TODO: Update. 2005-04-15 Gary V. Vaughan * libltdl/configure.ac (AC_OUTPUT): loaders/Makefile is no longer used. * Makefile.am (lt__cd, CD_TESTDIR): New make macros to work around problems with CDPATH in some shells. (check-local, installcheck-local, clean-local): Use them. 2005-04-14 Ralf Wildenhues (tiny change) * bootstrap: Define srcdir for making `commit'. 2005-04-14 Alexandre Oliva , Ralf Wildenhues * config/ltmain.m4sh (link mode): Add to tmp_libs paths for libtool dep libs in reverse order as well. * Makefile.am, tests/testsuite.at, tests/link-order.at: New test. 2005-04-13 Gary V. Vaughan Since the bootstrap process requires that several of the rules for files generated in doc and tests already lived in $top_srcdir/Makefile.am, along with proxy rules in sub-Makefiles, this changeset consolidates almost everything into the top Makefile.am, simplifying things considerably: * doc/Makefile.am, tests/Makefile.am: Removed. All rules moved... * Makefile.am: ...to here and adjusted to run from $top_builddir. Some reformatting to group rules and declarations by purpose, and simplify with respect to removing much of the make recursion. Add `doc/PLATFORMS', `doc/fdl.texi' and `doc/notes.texi'. `defs.in' and `defs.m4sh' are in directory `tests'. (uninstall-hook): Don't forget to uninstall libtoolize's libltdl source tree. * bootstrap: Simplified dirty makefile management, and bootstrap file creation in light of having only a single pertinent Makefile. * configure.ac (CONF_SUBDIRS): Add tests/ prefix to each subdir to compensate. (DIST_MAKEFILE_LIST): Adjust. (AC_CONFIG_FILES): Remove doc/Makefile and tests/Makefile. * tests/defs.m4sh (LIBTOOL, scripts): Adjust paths. * tests/cdemo-conf.test, tests/cdemo-exec.test, tests/cdemo-make.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/cdemo-undef.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/objectlist.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/tagdemo-undef.test, tests/tagtrace.test (func_cd, func_require): Adjust paths. 2005-04-12 Ralf Wildenhues * config/general.m4sh, libtool.m4 (_LT_SETUP), tests/defs.m4sh, tests/functests.at: Fix definition of $Xsed. 2005-04-07 Ralf Wildenhues Improved Portland support: prelinking of C++ templates and whole_archive. * m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS) [linux]: Reinstate formatted whole_archive_flag_spec for PGI compilers. * config/ltmain.m4sh (func_mode_link), m4/libtool.m4 (_LT_LINKER_SHLIBS): New tag prelink_cmds, to be executed before linking a program. (_LT_LANG_CXX_CONFIG) [linux]: Use for pgCC. (_LT_COMPILER_C_O): conftest might be nonempty, clean up more thoroughly. * tests/testsuite.at (LT_AT_BOOTSTRAP): Temporary fix for testing in-tree libtoolize. * m4/libtool.m4 (_LT_CONFIG_COMMANDS): Only call sed if necessary while quoting all libtool variables. Reported by Robert Ögren . 2005-04-05 Ralf Wildenhues * tests/Makefile.am: Typo. 2005-04-04 Ralf Wildenhues * notes.texi: Platform-specific configuration notes. * doc/libtool.texi: Include as section. * bootstrap, doc/Makefile.am: build also as notes.txt and distribute. 2005-04-04 Gary V. Vaughan Under certain circumstances, not all of the macro files were copied into the destination directory. This changeset fixes that bug: * libtoolize.m4sh (func_serial_update): Renamed local variable `my_update_p' to `my_serial_update_p', and initialise it correctly even when the destination file is not yet there. Reported by Ralf Wildenhues 2005-04-04 Gary V. Vaughan * tests/libtoolize.at: New tests for basic libtoolize functionality and reporting. * tests/testsuite.at: Call them. * tests/Makefile.am: Distribute them. * libtoolize.m4sh (pkgvdatadir): Renamed from this... (_lt_pkgvdatadir): ...to this. * tests/testsuite.at (LT_AT_LIBTOOLIZE): The `-I' option is no longer supported by libtoolize. Set _lt_pkgvdatadir in the environment of the invocation instead. 2005-04-04 Ralf Wildenhues * tests/template.at: New Autotest tests for C++ with templates. First test provided by Markus Christen . * tests/Makefile.am, tests/testsuite.at: Use and distribute. 2005-04-04 Gary V. Vaughan * libtoolize.m4sh (func_serial_update): Replace missing destination serial calculation line, presumably lost due to a bad merge. * libltdl/loaders/Makefile.am: Removed actually. 2005-04-04 Gary V. Vaughan Getting the value of ltdldatafiles from a submake was not portable, and had problems with GNU make-3.80 at least. This changeset pulls the installation rules for libtoolize's copy of the libltdl sources out of libltdl/Makefile.am so that ltdldatafiles is defined in the same Makefile that uses it. Also, this makes a start at cleaning up libltdl/Makefile.am so that it is useful in a package that uses `libtoolize --ltdl': * libltdl/loaders/Makefile.am: Removed entirely. * libltdl/Makefile.am (dlopen.la, dld_link.la, dyld.la) (load_add_on.la, loadlibrary.la, shl_load.la): All built from here now that the loaders submake has gone. (show-ltdldatafiles): Removed. No longer required. (ltdldatadir, ltdldatafiles, install-local): Moved from here... * Makefile.am (ltdldatadir, ltdldatafiles, install-local): ..to here. (libtoolize): Substitute $(ltdldatafiles) directly without calling make to get the value from libltdl/Makefile. 2005-04-01 Gary V. Vaughan * Makefile.am (libtoolize): Substitute $(nobase_pkgvdata_DATA). pkgvmacro_DATA is no longer set in the makefile. * libtoolize.m4sh (func_massage_pkgvmacro_DATA): Use it and, for consistency, renamed from this... (func_massage_nobase_pkgvdata_DATA): ...to this. Adjust all callers. 2005-04-01 Gary V. Vaughan Fix problems with serial comparison sed scripts, and factor out common code from similar serial comparison functions: * libtoolize.m4sh (func_keyword_update): Common code factored out of func_ltmain_update and func_config_update. (func_ltmain_update, func_config_update): Adjust, and fix sed expressions to not use unportable ? modifier. (func_install_update): New serial number based file updater keyed off 'scriptversion' variable in install-sh. Adjust all callers. 2005-04-01 Gary V. Vaughan Most of the hair introduced ostensibly to enable testing of uninstalled libtoolize isn't necessary if we allow overriding of the libtool master copy directory: * configure.ac (pkvmacrodir): No need to substitute this. * Makefile.am (edit): No need to substitute pkgvmacrodir. (dist_pkgvdata_DATA): Use nobase_ prefix so that these files are installed to $(pkgvdatadir)/config. (pkgvmacro_DATA): Renamed to... (nobase_pkgvdata_DATA): ...this, so that files are installed to $(pkgvdatadir)/m4. (install-data-hook): Adjust. * libtoolize.m4sh: Remove -I processing. (func_filename_path_search): No longer required without -I. Adjust all callers. (pkgvltdldirs, pkgvmacrodirs): Deleted. (pkgvdatadir): Allow overriding from the environment so that we can write tests for uninstalled libtoolize. (func_serial_update, func_ltmain_update, func_config_update): Rename srcdirs parameter to srcdir, and don't call the path_search function anymore. Adjust all callers. (--install): Don't blindly copy all config files. 2005-04-01 Mike Stump * m4/libtool.m4 (LT_CMD_MAX_LEN) [netbsd, freebsd, openbsd darwin, dragonfly]: Use 3/4 of argmax, instead of 1/4. 2005-03-28 Ralf Wildenhues * m4/libtool.m4 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Set $cc_basename. * HACKING: echo vs $ECHO. 2005-03-28 Ralf Wildenhues (tiny change) * doc/libtool.texi: Minor formatting cleanups. 2005-03-24 Gary V. Vaughan * libtoolize.m4sh: Propogate --debug flag to sub-libtoolizes. * libtoolize.m4sh: Fix a typo, s/pkgvltdldirs/pkgvdatadirs/. When using -I to test an uninstalled libtoolize, we need to add the config subdirectory to the search path so that ltmain.sh can be found in the source tree. * libtoolize.m4sh (func_copy_some_files): IFS needs to be set to path delimiter for all inner loop iterations. Once a matching file has been copied, no need to keep searching the path for another -- move on to the next file! * libtoolize.m4sh: For verbose mode, explain why macro files are not installed without an AC_CONFIG_MACRO_DIR declaration. 2005-03-24 Gary V. Vaughan As a prerequisite for being able to test an uninstalled libtoolize for copying files correctly from the source tree, we must know exactly which files should be copied by the --ltdl option to avoid accidentally picking up compilation objects and other noise when $builddir == $srcdir: * libltdl/loaders/Makefile.am (ltdldatadir, ltdldatafiles) (install-data-local): Removed... * libltdl/Makefile.am (ltdldatafiles): ...and consolidated here. (show-ltdldatafiles): New rule... * Makefile.am (ltdldatafiles, libtoolize): ...used to substitute exactly which files are installed by libtoolize --ltdl. (edit): Move pkgvmacro_DATA substitution expression... (libtoolize): ...to here. * libtoolize.m4sh: Use func_copy_some_files() instead of func_copy_all_from_path() to copy the --ltdl option installed files. (pkgvltdldirs): New path variable to search for files installed by --ltdl option. (func_massage_pkgvltdl_files): New function to calculate the list of ltdl installation files. 2005-03-22 Ralf Wildenhues (tiny change) * m4/libtool.m4, m4/ltdl.m4: Indentation and quoting cleanup. 2005-03-22 Ralf Wildenhues * m4/libtool.m4 (_LT_LINKER_SHLIBS) [solaris]: Use ${wlarc} and set to empty when using $LD for linking. Fixes regression introduced in 2004-11-17. Reported by Ralf Menzel and Пухальский Юрий Андреевич . 2005-03-21 Gary V. Vaughan , Ralf Wildenhues * m4/libtool.m4 (_LT_SETUP, _LT_LANG_CXX_CONFIG) (_LT_LANG_F77_CONFIG): For matching compiler names -- Pick only first word, allow leading white space. * tests/sh.test: ..and test for missing `*' at end of patterns. 2005-03-21 Ralf Wildenhues * TODO: Update. 2005-03-20 Peter Ekberg * m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix5, irix6, nonstopux]: Test if it is possible to use the -exports_file linker option on irix with gcc, as the gcc specs file may include a -hidden_symbol option that is clashing with the -exports_file option. See this gcc bugzilla entry for further details: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15288 * THANKS: Update. 2005-03-19 Ralf Wildenhues * tests/demo-nopic.test: Enhance status output noted by Tom Burger . 2005-03-18 Ralf Wildenhues * config/ltmain.m4sh, tests/defs.m4sh: Typos. 2005-03-18 Peter O'Gorman , Ralf Wildenhues * m4/libtool.m4: The compiler can be a program name with args, so always check cc_basename against compiler name and a wildcard. Also, drop unnecessary quotes in `case' argument. 2005-03-16 Ralf Wildenhues * Makefile.am: tests/defs.in depends on config/general.m4sh. * config/general.m4sh: unconditionally set IFS, and set it to the one true right sequence: space, tab, newline. * m4/libtool.m4: remove IFS setting and as_* namespace infringement. * m4/libtool.m4 (_LT_CONFIG): Reset IFS to fix failure with ash. * configure.ac, libltdl/configure.ac: s/##/dnl/ for comments that are meaningless in configure. Reported by Alexandre Duret-Lutz . 2005-03-15 Ralf Wildenhues * libltdl/configure.ac: Update version; require Autoconf >= 2.59. * bootstrap: Allow to override tools. 2005-03-15 Gary V. Vaughan * libtoolize.m4sh (func_massage_pkgvmacro_DATA): New function to calculate the macro filenames to be copied by libtoolize. * Makefile.am (edit): Substitute pkgvmacro_DATA. * bootstrap: Need to generate tests/package.m4 from Makefile.am before generating tests/testsuite from tests/Makefile.am, or else bootstrap of a fresh checkout fails. 2005-03-14 Ralf Wildenhues * m4/libtool.m4 (_LT_COPYING): Update Copyright year. * m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]: Remove MAIN_ dependency when creating shared libraries with Portland pgf77. 2005-03-12 Ralf Wildenhues * configure.ac: stamp-vcl is in $top_srcdir, not $top_builddir. 2005-03-12 Per Bothner , Ralf Wildenhues Allow special characters in source file names. Will break unless `-o target' is also given, which must not contain special characters. En passant, fix source file quoting broken for cygwin/MSVC: * config/ltmain.m4sh (func_mode_compile): Use new variable qsrcfile for quoted source file name for compile $command. Fix missing quotes for _c_o lockfile. * NEWS: Update. 2005-03-12 Ralf Wildenhues * config/ltmain.m4sh (func_mode_link): Reword double negation in error message. Reported by Jesper Louis Andersen . * bootstrap: really remove bogus files Makefile tests/Makefile. * doc/libtool.texi: Replace wicked whiches by thats or other better-sounding constructs. 2005-03-11 Ralf Wildenhues (tiny change) * tests/Makefile (clean-local): Ignore testsuite cleanup failures. 2005-03-11 Per Bothner (tiny change) * tests/Makefile (clean-local): Only run the testsuite cleanup if the testsuite has been generated. 2005-03-10 Gary V. Vaughan * libltdl/Makefile.am (install-data-local): Don't force v7 tar format with the `o' flag in create mode. Set the umask to 0 when untarring to avoid copied files taking their mode from the installer's umask. * libltdl/loaders/Makefile.am (install-data-local): Ditto. * libtoolize.m4sh (func_copy_cb): Ditto. Ignore errors from failed `cd' in the tar processes, since we may be running in dryrun mode. Reported by Noah Misch , Bob Friesenhahn 2005-03-10 Ralf Wildenhues * libltdl/Makefile.am: $(builddir) is not defined, replace by `.'. 2005-03-08 Albert Chin-A-Young * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [irix*, osf*]: Output -update_registry information to ${output_objdir} directory, not ${objdir}. ${output_objdir} will work when a project has a single Makefile and performs builds in subdirectories. ${objdir} expects the source in the current directory, breaking single-Makefile builds. 2005-03-08 Ralf Wildenhues * tests/stresstest.at: Remove multiple variable definition. * TODO: Update. * THANKS: Update. 2005-03-02 Gary V. Vaughan * libtoolize.m4sh (func_copy_cb): Use tar chof to avoid symlink attacks. * libltdl/Makefile.am, libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-27 Gary V. Vaughan In branch-2-0 (and in time, others) ltversion.m4 has a dot delimited serial number that didn't used to be processed correctly by libtoolize. This changeset fixes that, and leverages those changes to check versions of ltmain.sh and config.sub, config.guess before overwriting when --force is not given: * libtoolize.m4sh: Don't overwrite pkgaux files with --force unless --install is given too. (func_serial): Fix underquoting in regexp. (func_serial_max): New function to compare serial numbers. (func_serial_update_check): New function factored out of func_serial_update(). (func_serial_update): Bail if SRCFILE is missing. Don't display both 'already up to date' and 'use --force to update' messages for the same file. Use func_serial_max to cope with `.' delimited serial numbers. (func_ltmain_update): Use func_serial_update_check and func_serial_max to do version checking with $package_revision. (func_config_update): Ditto with $timestamp. 2005-02-26 Gary V. Vaughan * libltdl/Makefile.am (install-data-local): cd to $(srcdir) before tarring up the files for installation to $(DESTDIR)$(ltdldatadir). Don't remove the destination directory, since that interacts badly with the multi-Makefile installation. * libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-26 Gary V. Vaughan I assume that it is okay to have undefined symbols in convenience libraries that will be used as modules -- the pic objects are built normally, and are not expected to resolve all their symbols until they are linked into a library; convenience libraries are then rolled using 'ar' and 'ranlib' (or equivalent) which also do not check whether symbols are resolved. We now build each of the loaders as a convenience library module under these assumptions, and link libltdl.la with selected modules, at which time all of the symbols *are* resolved: * TODO: Remove item addressed by this changeset. * libltdl/Makefile.am (lib_LTLIBRARIES): Remove libdlloader.la. (libdlloader_la_SOURCES): Declaration removed. Changed all clients. Source files.. (libltdl_la_SOURCES): ...added back in here. (libdlloader_LDFLAGS, libdlloader_la_LIBADD): Removed. (libltdl_la_LIBADD): Remove libdlloader.la; add $(LTLIBOBJS). * libltdl/loaders/Makefile.am: Removed all references to libdlloader.la. 2005-02-25 Gary V. Vaughan * libtoolize.m4sh (func_copy): Split arguments to func_copy_cb calls across lines so that quote.test doesn't misdiagnose nested quotes. * m4/libtool.m4 (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Fix some typos -- s/_LT_AC_TAGVAR/_LT_TAGVAR/g. 2005-02-24 Peter O'Gorman * m4/libtool.m4 (_LT_LINKER_SHLIBS): The Portland group's compiler does not pass --whole-archive. Move gnu ld check for the flag to the top so it can be overridden. (_LT_LANG_CXX_CONFIG, _LT_COMPILER_PIC): Unset whole_archive_flag_spec for the portland group's c++ compiler too. Reported by Jeff Squyres 2005-02-23 Gary V. Vaughan * libltdl/Makefile.am (install-data-local): Don't forget about $(DESTDIR). * libltdl/loaders/Makefile.am (install-data-local): Ditto. 2005-02-23 Gary V. Vaughan Preserving the installed timestamps for libltdl sources from `libtoolize --ltdl --copy' is pointless if they are not preserved from the libtool source tree at install time: * libltdl/Makefile.am, libltdl/loaders/Makefile.am (nobase_ltdldata_DATA): Renamed to... (ltdldatafiles): ...this. (install-data-local): New rule to install libltdl tree with tar to preserve timestamps. 2005-02-23 Christoph Egger (tiny change) * config/ltmain.m4sh (func_mode_link): Add -pthread like flags to inherited_linker_flags. 2005-02-22 Gary V. Vaughan * libtoolize.m4sh (func_copy_cb): self.leg->shoot_off() :-/ Let's not redirect stdout to null when sending tar output to a pipe. 2005-02-22 Gary V. Vaughan Using `libtoolize --copy --ltdl' was not preserving timestamps, so parts of the autoconf bootstrap would be rerun spuriously after the files had been copied into the source tree: * libtoolize.m4sh (TAR): New default tar command. (func_copy_cb): Move the core copying internals to here, using $TAR to transfer files if possible when --copy was specified. (func_copy): Adjust to call func_copy_cb. * TODO: Remember to refactor this fix in due course. Reported by Jeff Squyres 2005-02-21 Peter O'Gorman * config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't actually work on a real fat archive, should do now. * tests/functests.at [darwin]: remove darwin fat tests which did not actually work. 2005-02-07 Peter O'Gorman * config/ltmain.m4sh: Add -pthread like flags when linking executables too. Reported by Andreas Schwab 2005-02-04 Ralf Wildenhues * config/ltmain.m4sh (func_mode_link): Allow five digits in version-info. * NEWS: s/Linux/GNU &/. 2005-02-03 Ralf Wildenhues * tests/Makefile.am, tests/testsuite.at, tests/stresstest.at: New test. Stresses several combinations of link flags and path specifications. Uses several data types to test linkage against symbols in all kinds of (e.g., ELF) sections. 2005-02-03 Reid Spencer , Ralf Wildenhues * config/ltmain.m4sh (func_generate_dlsyms): Fix broken subdir path computation, exposed by using `-dlopen self'. Fix broken sed script exposed by additionally using `-export-symbols FILE'. 2005-02-03 Ralf Wildenhues * THANKS: Update. * THANKS: Update. 2005-02-03 Peter O'Gorman * config/ltmain.m4sh [darwin]: Don't add installed libs to temp_rpath when building executables on darwin, or other systems which use hardcode_automatic. It may break our wrapper scripts. 2005-02-02 Ralf Wildenhues * config/getopt.m4sh (func_version, func_usage, func_help): Exit with nonzero status on write failures. * config/ltmain.m4sh (func_mode_help, func_config, func_features): Ditto. * tests/sh.test: Check for preferred function definition layout. 2005-02-01 Ralf Wildenhues * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [pw32, freebsd3.[01], freebsdelf3.[01]]: Fix [] quoting. Should fix various spurious failures. (_LT_LINKER_SHLIBS) [linux with GNU ld < 2.11, aix4.[012]*]: Ditto. (_LT_LANG_CXX_CONFIG) [aix4.[012]*, freebsd[12], solaris2.[0-5]]: Ditto. (_LT_LANG_GCJ_CONFIG): Ditto. * tests/Makefile.am: Add `atconfig' to DISTCLEANFILES. * clcommit.m4sh: Test whether the shell understands `read -r'. Use as `$read_r' if available, so `\' is preserved in commit notices. * HACKING (Editing `.m4sh' Files): Document preferred function header layout. * config/ltmain.m4sh (func_win32_libid, func_infer_tag) (func_generate_dlsyms, func_extract_an_archive) (func_extract_archives): Adjust to fit. 2005-01-31 Ralf Wildenhues * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Unicos 9 sed rejects empty parentheses as in 's/x\(\)/\1/'. (_LT_COMPILER_PIC) [unicos*]: wl=-Wl,. * tests/sh.test: Not all sed's like '/.*\n.*/' (Unicos 9 sed loops endlessly). * tests/quote.test: Match link quoting against `"$wl"', not `-Wl,'. * tests/quote.test: Check for `--no-reexec' in $1 to avoid one reexec. * m4/libtool.m4 (_LT_COMPILER_C_O): _LT_TAGDECL(lt_compiler_c_o), not _LT_DECL, since this is tag-dependent. * config/ltmain.m4sh, m4/libtool.m4: Change `( cmd ) 2>/dev/null' to `{ cmd; } 2>/dev/null', when cmd has no side effects and might be a builtin. Note that it is unspecified whether cmd will run within a subshell (e.g. Bourne shells) or within the current shell (most modern shells). 2005-01-29 Ralf Wildenhues * m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [linux]: Update for Intel Compiler icc/icpc/ifort: add -i_dynamic and -nofor_main, if necessary. Simplify logic somewhat. 2005-01-26 Ralf Wildenhues * tests/Makefile.am: also re-export CPP, CXXCPP, and the value of SHELL as CONFIG_SHELL. Reported by Heinz Salzmann . 2005-01-26 Craig Dooley , Ralf Wildenhues * NEWS, m4/libtool.m4, config/ltmain.m4sh [dragonfly]: Add support for DragonFly. 2005-01-26 Ralf Wildenhues * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Work around pdksh positional parameter expansion bug. 2005-01-25 Ralf Wildenhues * config/ltmain.m4sh: Fix endless loop in cmdline parsing. 2005-01-25 Albert Chin-A-Young * config/ltmain.m4sh (func_mode_link) [irix]: Preserve processor option for SGI Compiler (-r[0-9][0-9]*). 2005-01-24 Ralf Wildenhues * m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Define Bourne and XSI variants of new function func_stripname for stripping literal prefixes and suffixes. * config/ltmain.m4sh (all over): Use func_stripname. * tests/defs.m4sh: Extract $build from $LIBTOOL. (func_configure): Pass --host if $host != $build. (func_exec): Try executing cross-compiled binaries (e.g. i686 -> i386), but SKIP rather than FAIL. * tests/depdemo-relink.test: Do not try to access possibly non- existent files. SKIP rather than FAIL or PASS falsely when cross-compiling. * m4/libtool.m4 (_LT_SETUP) [mingw, cygwin, pw32, os2]: Add _LT_DECLs for host_os, build_alias, build and build_os. host_os and build were used in a few occasions in ltmain.m4sh and affect above-mentioned systems, the others are added for symmetry and in order to be able to detect cross-compiling. 2005-01-23 Ralf Wildenhues * libltdl/Makefile.am: Add $(AM_LDFLAGS) to all per-target variables *_LDFLAGS as per CVS Automake semantic change. 2005-01-16 Peter O'Gorman * config/ltmain.m4sh (func_mode_link): Don't pass through compiler-like thread flags when using $LD to do the linking. Use compiler_flags instead. Reported by Mark_Andrews@isc.org. * m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could be a kernel panic when testing the maximum command line length if exec_disable_arg_limit=1. Don't do the tests to figure it out on *-osf*. Reported by Dr. Hans Ekkehard Plesser 2005-01-14 Guido Draheim (tiny change) * m4/libtool.m4 (AC_PROG_SED): Don't break test loop early. 2005-01-12 Ralf Wildenhues * TODO: Update. * libltdl/ltdl.c: Whitespace cleanup. * config/ltmain.m4sh: New option `--verbose'/`-v' to enable override of `--silent'. Verbose is the default behavior. * doc/libtool.texi (Invoking libtool): Document it. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]: While "parsing" /etc/ld.so.conf, skip comments. Reported by Jens Elkner . 2005-01-10 Ralf Wildenhues * libltdl/libltdl/lt__glibc.h: Move all exported slist symbols into the lt__* namespace. * libltdl/libltdl/lt__private.h, libltdl/libltdl/slist.h: Adjust includes. 2005-01-10 Peter O'Gorman * config/ltmain.m4sh (func_mode_link): Fix inherited_linker_flags so it puts it on the link line when linking shared libraries as well as when linking executables. * tests/inherited_flags.at: test inherited_linker_flags. * tests/Makefile.am: Add test. * tests/testsuite.at: Add test. Reported by: Albert Chin-A-Young 2005-01-10 Ralf Wildenhues * tests/sh.test: After `set dummy [...]', check for `shift' within the same and following line. * config/ltmain.m4sh (func_enable_tag, func_mode_install) (func_mode_link): Sprinkle `shift's all over to conform to this. 2005-01-09 Gary V. Vaughan * HACKING (Editing 'ChangeLog'): Follow the GCS with respect to attributions, and mention how to handle tiny changes. Reported by Alexandre Duret-Lutz . * ChangeLog.2004: Trim 2005 entries. * ChangeLog: Add missing entries. 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: # 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.'. * 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 libltdl/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 * libltdl/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. * libltdl/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. 2003-12-31 Scott James Remnant * ltmain.sh: Infer tagged configuration for link mode with the full compiler arguments available rather than only the first. 2003-12-31 Alexandre Duret-Lutz * ltmain.sh: Quote $exec_cmd before it is eval'ed, so that libtool --mode=execute echo '4 * 5' does not expand the `*'. 2003-11-28 Peter O'Gorman * m4/libtool.m4: Move things around so that "setopt NO_GLOB_SUBST" to make zsh behave wrt \ escapes happens early in config.status. 2003-11-27 Gary V. Vaughan * libltdl/configure.ac: Removed. * configure.ac (AC_CONFIG_HEADERS): Merged from libltdl/configure.ac. (AC_LIB_LTDL): Ditto. (AC_CONFIG_FILES): Add libltdl/Makefile. (AC_CONFIG_SUBDIRS): Removed. (AC_CONFIG_COMMANDS): Remove generation of libltdl/ltmain.sh. * libltdl/Makefile.am (libtool): Removed references, since we now share $(top_builddir)/libtool. * NEWS: Updated. 2003-11-26 Gary V. Vaughan * Makefile.am (vcl.tmp): Be careful of VPATH builds. * Makefile.am (EXTRA_DIST): Add stamp-vcl, or we go back to a double configure run from a distributed tarball :-? 2003-11-26 Gary V. Vaughan Okay, the problem I am trying to solve is that when a change (say, bumping the version to 1.6 for the next release) is committed, the timestamp in ChangeLog is updated, but ltmain.sh and libtoolize inherit the pre-commit build number from config.status. This delta notes the change in build number in the unstamped ChangeLog and forces a rerun of configure etc. to roll a new ltmain.sh with the correct TIMESTAMP: * Makefile.am (stamp-vcl): We actually need a new config.status to force the correct timestamp into libtoolize and ltmain.sh, rerunning autoconf has no effect at all if configure.ac hasn't changed. 2003-11-26 Gary V. Vaughan * Makefile.am (stamp-vcl): New rules to force libtool and libtoolize scripts to update when the TIMESTAMP changes in ChangeLog, but the file modification time doesn't (e.g in cvs commit). Otherwise we'll carry on releasing tarballs with the wrong version numbers in the tools! * config/mkstamp: Change output format to ` $rev $date'. * configure.ac: Make the banner more like suggestions in http://www.gnu.org/prep/standards_toc.html Section 4.6. * libtoolize.in: Make --version output conform to the GNU standard. * ltmain.in: Ditto. And tweak the generated file headers to match. 2003-11-25 Gary V. Vaughan * Makefile.am (config.status): Removed. Rebuilding config.status isn't enough, because the TIMESTAMP in configure is still out of date. (configure): We actually need a new configure to force the correct timestamp into ltmain.sh. * Makefile.am (config/ltmain.sh): Removed. Rebuilding ltmain.sh isn't enough, because the TIMESTAMP in config.status is still out of date. (config.status): We actually need a new config.status to force the correct timestamp into ltmain.sh. * Makefile.am (config/ltmain.sh): Note the dependency on the timestamp in ChangeLog so we don't ship libtools that report the wrong version number :-/ * bootstrap: Explain automake and autoconf version dependencies truthfully, and the difference between bootstrap and user dependencies. * configure.ac (AM_INIT_AUTOMAKE): List AUTOMAKE_OPTIONS here. * Makefile.am, doc/Makefile.am, tests/Makefile.am (AUTOMAKE_OPTIONS): Removed from here. 2003-11-24 Gary V. Vaughan * tests/defs (func_configure): cdemo, demo and mdemo are shows signs of indeterminacy for some users. Be more verbose during failure to help track down the cause. 2003-11-22 Peter O'Gorman * ltmain.in: Check for module_cmds if max_cmd_len is exceeded too. * ltmain.in: Move eval to after command separation to allow ~ in paths. * tests/demo-hardcode.test: Call ./libtool not libtool. * ltmain.in: Test $old_striplib before using it, not $striplib. 2003-11-22 Gary V. Vaughan * configure.ac (LASTRELEASE): Calculate it as best as we can from AC_PACKAGE_VERSION. * Makefile.am (distdir): Remove dependency on timestamps so that it is possible to roll a dist without contacting the cvs server. Use `make cvs-release' for that. (cvs-news): Extracted from cvs-dist. (cvs-dist): Depend on cvs-news. (CHECK_LASTRELEASE): Check LASTRELEASE has been set. (prev-tarball): New rule. Use LASTRELEASE to make sure the previous release tarball is present. (cvs-diff): Use CHECK_LASTRELEASE. (xdelta): Ditto. (cvs-release): Depend on prev-tarball, timestamps, cvs-news and fetch. Provided you set LASTRELEASE appropriately, making a full cvs release is just a matter of `make cvs-release', and submitting the files to ftp-upload. 2003-11-19 Gary V. Vaughan * m4/libtool.m4 (_LT_PROG_LTMAIN): Ensure config.status has a value for `ac_aux_dir' when automake is not used. Reported by Patrick Welche . * configure.ac (AC_PREREQ): AS_HELP_STRING was introduced after autoconf-2.57 was released. 2003-11-18 Gary V. Vaughan * libltdl/ltdl.c (lt_dlhandle_find): New function to find a handle by module name. * libltdl/ltdl.h (lt_dlhandle_find): Declare it. * doc/libtool.texi (User defined module data): Document it. * NEWS: Updated. 2003-11-17 Gary V. Vaughan * m4/libtool.m4 (AC_LIBTOOL_SETUP): Uncomment call to _LT_CONFIG_COMMANDS. (_LT_AC_TAG_CONFIG, AC_LIBTOOL_CONFIG): Accumulate tag generation for `config.status' using _LT_CONFIG_SAVE_COMMANDS. Remove AC_MSG_NOTICE noise now that libtool is generated by a single config.status tag. * Makefile.am (libtool): Specify CONFIG_COMMANDS properly now that libtool is generated in one pass. * configure.ac (CONF_SUBDIRS): Make these relative to tests/Makefile.am. (DIST_MAKEFILE_LIST): Adjust to compensate for having removed the `tests/' part in CONF_SUBDIRS. * tests/Makefile.am (DIST_SUBDIRS): Distribute these directories. (SUBDIRS): Set to `.', a NOP, to workaround an automake bug which ignores DIST_SUBDIRS unless SUBDIRS is also set. * Makefile.am (DIST_SUBDIRS): Don't try to distribute the tests subdirectories from here, since the recursive automake dist rule only works with direct child directories. Defer to tests/Makefile.am in this case. 2003-11-15 Scott James Remnant * ltmain.in: In compile mode, delay parsing of -shared, -static, -prefer-pic and -prefer-non-pic until after tagged configuration has been read. In link mode, read tagged configuration before parsing any arguments. These arguments will now work when using a non-C compiler. 2003-11-14 Gary V. Vaughan * NEWS: Mention AC_LIBTOOL_TAGS. * Makefile.am (EXTRA_DIST): List ChangeLog files correctly. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Declare just the tags we need using AC_LIBTOOL_TAGS, reducing the size of the configure script by 50% in most cases. 2003-11-14 Marius Vollmer * doc/libtool.texi (Libltdl interface): libltdl does in fact load dependency libs for lt_dlopen()ed modules. 2003-11-14 Gary V. Vaughan Run our configure.ac files through Autoconf 2.59's autoupdate, and then tweak the results by hand: * m4/libtool.m4 (AC_PROG_LD): In common with all the other AC_PROG_ macros, AC_SUBST the discovered LD. (AC_PROG_NM): Similarly for NM. (LT_AC_PROG_SED): Similarly for SED. * configure.ac: No need to SUBST NM and LD manually any more. (AC_PREREQ): Conservatively downgrade from 2.59 to 2.54. * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: Ditto. * m4/libtool.m4 (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): AU_DEFUN these macros so autoupdate can use the newer definitions. 2003-11-12 Gary V. Vaughan The rules for uploading releases to gnu.org have been updated, and are in fact now rather complicated. This delta updates the release instructions to the describe the new process, and updates the maintainer rules to help automate many of the steps: * README-alpha: Updated release instructions. * Makefile.am (GPG): Name of the program for generating signatures for files to be uploaded. (XDELTA, XDELTA_OPTIONS): Invocation of xdelta. (cvs-dist): Run distcheck before tagging the cvs tree incase distcheck fails, and then generate the gpg signature files. (cvs-diff): Generate the gpg signature files for the diff. (xdelta): New rule for generating the xdelta diffs and associated gpg signature files. (cvs-release): New rule to do all of the above, if you don't mind typing your gpg passphrase over and over again. :-) (fetch): New rule inspired by automakes similar rule for updating files maintained outside the project. * config/config.guess, config/config.sub: Updated with the new fetch rule. 2003-11-11 Gary V. Vaughan * libltdl/ltdl.c (lt_dlinit): Save a function call for each loader added to the list, in exchange for appending loaders to the list with O(N) rather than O(1). The longest the loader list can ever get is 4 (on cygwin with dld installed) so it probably constitutes a small speedup, in addition to making the code much more readable. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Don't define the value for ltmain unconditionally. (_LT_PROG_LTMAIN): New macro to ensure that the shell variable `ltmain' actually points at a suitable `ltmain.sh'. (_AC_PROG_LIBTOOL): Require it. (AC_LIBTOOL_CONFIG, _LT_AC_TAG_CONFIG): Invoke it. * Makefile.am (libtool): ltmain.sh is in the build tree. * libltdl/configure.ac: Ditto. 2003-11-10 Scott James Remnant * ltmain.in: Add -pthread and similar to $deplibs ($compile_deplibs and $finalize_deplibs for programs) when found on the command line or in a .la file's dependency_libs (but don't place them there) so they are honoured when linking both programs and libraries. 2003-11-10 Scott James Remnant * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [linux]: Include directories found in /etc/ld.so.conf in sys_lib_dlsearch_path_spec. 2003-11-09 Peter O'Gorman * ltmain.in (linkalldeplibs,darwin): Fix a bug reported by Idar Tollefsen where a dir could be added to the link line with no '-L' on darwin. 2003-11-07 Gary V. Vaughan * tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac: s/AM_PROG_LIBTOOL/AC_PROG_LIBTOOL/. Marching boldly into the 21th century :-$ * m4/libtool.m4 (AC_LIBTOOL_TAGS, AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): These macros must be AC_DEFUNed after all, otherwise aclocal can't find them when it tries to construct `aclocal.m4'. * Makefile.am (install-data-local): Wipe out old installation pkgdatadir before installing new files. * NEWS: Updated. * libtoolize.in (func_scan_files): If libtoolize is run before automake has created install-sh and configure.ac does not mention AC_CONFIG_AUX_DIR, fall back to the current directory for auxdir. 2003-11-07 Robert Millan * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD) [GNU/KNetBSD]: Detect inter-library dependencies. 2003-11-06 Gary V. Vaughan * m4/libtool.m4 (_LT_AC_FILE_LTDLL_C): Removed; no longer in use. * m4/libtool.m4: s/ifelse(/m4_if(/g (_LT_AC_SYS_LIBPATH_AIX, _LT_AC_SHELL_INIT, _LT_AC_PROG_ECHO_BACKSLASH, AC_LIBTOOL_LINKER_OPTION, AC_LIBTOOL_TAGS, _LT_AC_TAG_CHECK, _LT_AC_TAG_CONFIG, AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG, AC_LIBTOOL_CONFIG, _LT_AC_TAGVAR, AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC, AM_DISABLE_SHARED, AM_DISABLE_STATIC): Use m4_define instead of AC_DEFUN for internal macros that do not AC_PROVIDE or AC_REQUIRE, and documented user macros that cannot be AC_REQUIREd because they need arguments, or because that would violate the documented API. * m4/libtool.m4 (AC_LIBTOOL_SETUP): Add a new delay_single_quote_subst sed script to quote single quotes in variables that are copied to `config.status'. (_LT_CONFIG_STATUS_DECLARE): New macro to apply delay_single_quote_subst to a named variable. (AC_LIBTOOL_CONFIG): Use _LT_CONFIG_STATUS_DECLARE to declare all `configure' variables that are copied to `config.status'. (AC_LIBTOOL_PROG_COMPILER_PIC): Fix a quoting bug exposed by _LT_CONFIG_STATUS_DECLARE using the null quadrigraph in the rvalues of lt_prog_compiler_pic. 2003-11-06 Owen Taylor * m4/libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Recognise the 'R' symbol type so read-only symbols can be exported when combining GCC and Solaris LD. 2003-11-06 James Henstridge , Scott James Remnant * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [Linux]: Fix the -export-symbols and -export-symbols-regex options. 2003-11-06 Scott James Remnant * tests/demo-nopic.test: Skip test on hppa, which don't like non-PIC shared libraries. 2003-11-06 Charles Wilson * tests/depdemo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac: process 'libtool --features' from Makefile, not configure -- because libtool doesn't exist at configure time. * ltmain.in (find_executable, check_executable) [cygwin*, mingw*]: binary wrapper used with uninstalled executables breaks when invoked via execlp/execvp (that is, via $PATH). Handle that case. (fnqualify): Subsumed into find_executable. * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin*, mingw*]: when extracting symbols from an import lib (occurs if --enable-shared --disable-static), the output of $global_symbol_pipe is not the same as when extracting from a static library (the default case). Add extra filters to $export_symbols_cmds to process this sort of output in addition to 'normal' static-lib output. * NEWS: Updated. 2003-11-06 Charles Wilson , Gary V. Vaughan * libltdl/ltdl.c (LT_USE_POSIX_DIRENT): Factored out. (LT_USE_WINDOWS_DIRENT_EMULATION): Move to after include "ltdl.h", as they are affected by __WINDOWS__ definition. (LT_READTEXT_MODE): Use textmode to read .la files. (lt_dlinit): Use LoadLibrary loader as a fallback on cygwin. 2003-11-06 Gary V. Vaughan * libltdl/ltdl.h (__WINDOWS__): Define this if _WIN32 or WIN32 are defined, unless __CYGWIN__ or __CYGWIN32__ are defined. (LT_SCOPE): Now set without reference to __CYGWIN__ definition, since __WINDOWS__ now implies !__CYGWIN__ after canonicalisation. (LT_PARAMS, lt_ptr): Use canonicalised __WINDOWS__ to determine which values to set these macros to. 2003-11-05 Gary V. Vaughan * README-alpha: Mention autotools-announce@gnu.org, and update release note templates. 2003-11-01 Scott James Remnant * ltmain.in: When relinking, place the -L parameter containing the installation prefix directory after the intended destination, so we don't accidentally link against an older installed library. 2003-11-01 Peter O'Gorman * tests/mdemo2/Makefile.am: Let mdemo2 find ltdl.h again. 2003-10-30 Peter O'Gorman * m4/libtool.m4 (Darwin): Fix stupidities for darwin tags support. Makes it work again if AC_LIBTOOL_TAGS is specified in configure.ac. Bug reported by Joe Orton and Christian Schaffner. 2003-10-21 Gary V. Vaughan Start to eliminate the double run of configure in a fresh CVS checkout by generating ltmain.sh, using that to create libtool, and then adding the tags to that, all from config.status. * configure.ac (AC_CONFIG_FILES): Make config/ltmain.sh, and copy it to libltdl. * Makefile.am ($(srcdir)/config/ltmain.sh): This file is now created by config.status. Adjust this rule. (libtoolize): Set CONFIG_COMMANDS to empty to prevent regenerating the libtool script as a side effect of running this rule. * libtool.m4: Bump serial number. Fix comment typos. (_LT_CONFIG_LIBTOOL_INIT, _LT_CONFIG_LIBTOOL, _LT_CONFIG_SAVE_COMMANDS, _LT_CONFIG_COMMANDS: New macros. They don't work for some reason - the variable value quoting in the init section is all wrong. Not used at the moment. (AC_LIBTOOL_CONFIG): Generate libtool from config.status. (_LT_AC_TAG_CONFIG): Add the tags in config.status. (compiler_DEFAULT): Save the compiler value for the DEFAULT tag, or it gets overwritten by the other macros. (EOF): Globally replace with _LT_EOF to avoid namespace pollution. * tests/demo/configure.ac (STATIC): Check $enable_static instead of running ./libtool which doesn't exist yet. (BINARY_HELLDL): Check $lt_cv_sys_global_symbol_pipe with case instead of grepping ./libtool which doesn't exist yet. * tests/pdemo/configure.ac (STATIC, BINARY_HELLDL): Ditto. * doc/libtool.texi (AC_PROG_LIBTOOL): Add some notes about trying to get config details from `libtool --config'. * NEWS: Updated. 2003-10-21 Gary V. Vaughan * ChangeLog, ChangeLog.0, ChangeLog.1: Refactored... * ChangeLog, ChangeLog.2002, ChangeLog.2001, ChangeLog.2000, ChangeLog.1999, ChangeLog.1998, ChangeLog.1997, ChangeLog.1996: ...into entries by year for easier copyright confirmation. * configure.ac, libltdl/configure.ac, tests/cdemo/configure.ac, tests/demo/configure.ac, tests/depdemo/configure.ac, tests/f77demo/configure.ac, tests/mdemo/configure.ac, tests/mdemo2/configure.ac, tests/pdemo/configure.ac, tests/tagdemo/configure.ac (AM_INIT_AUTOMAKE): Remove redundant arguments. * libltdl/configure.ac: Use quadrigraphs to escape macronames. * bootstrap (reconfdirs): Same as yesterday, only with portable bourne shell syntax. :-/ 2003-10-20 Gary V. Vaughan * bootstrap (reconfdirs): Overridable top dirs for bootstrap, for those times when you don't want to wait for all of the test directories to be rebootstrapped! 2003-10-19 Kevin P. Fleming Charles Wilson * ltmain.in: include --tag options, if specified, in the relink_command in uninstalled .la files. Also, preserve --silent, --debug options when libtool re-execs itself. * NEWS: Updated. 2003-10-19 Charles Wilson * libtoolize.in: protect sed expression against AC_CONFIG_AUX_DIR_DEFAULT. 2003-10-16 Bob Friesenhahn * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): For MinGW, reverted DLL check method back to a working objdump-based test. This is not as concrete a test as using the 'file' command, but it does not require that the 'file' command be available. 2003-10-15 Bob Friesenhahn * doc/libtool.texi (AC_LIBTOOL_TAGS): Incorporate documentation for AC_LIBTOOL_TAGS macro to specifify libtool tags. The now defunct --with-tags option was never documented. 2003-10-15 Albert Chin-A-Young * m4/libtool.m4: Restrict the list of tags that can be created with a new AC_LIBTOOL_TAGS([tag1 tag2 ...]) macro. Deprecate --with-tags. 2003-10-15 Gary V. Vaughan * libtoolize.in: Typo when copying config.sub. From Patrick Welche * demo/Makefile.am (libhell0_a_SOURCES): Do not name sources already built with libtool... (libhell0_a_LIBADD): ...instead name the objects directly. This prevents a long standing warning from automake 1.7+. * pdemo/Makefile.am (libhell0_a_SOURCES, libhell0_a_LIBADD): Ditto. * bootstrap: Make the fake files valid shell scripts with a comment incase they get left around. (LIBTOOLIZE): Use a dummy script to prevent the installed `libtoolize' from trashing the distributed libtool.m4, config.guess and config.sub. * configure.ac (AC_CONFIG_TESTDIR, AC_CONFIG_TESTFILES): Comment this out for now, the autotest testsuite rewrite is not ready yet. * 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 (top_distdir): Removed. `autoreconf' needs literals in ACLOCAL_AMFLAGS. 2003-10-14 Gary V. Vaughan * libtoolize.in (func_mkdir_p): Synch with tests/defs; if there are no more directories in the stack, break out of the loop. * tests/Makefile.am (COMMON_TESTS): Remove pdemo-unst.test, which isn't a real test. 2003-10-14 Gary V. Vaughan Refactor all the test case common code into shell functions in tests/defs, and move the various demo directories out of $top_srcdir, and into tests too. The refactoring showed up a number of inconsistencies and latent bugs, as well as fixing (I think!!) the long-standing annoyance with some of the tests giving spurious failures intermittently. While I was here, emacs kindly removed a lot of bogus whitespace and added copyright notices for us: * cdemo, demo, depdemo, f77demo, mdemo, mdemo2, pdemo, tagdemo: Moved from here... * tests/cdemo, tests/demo, tests/depdemo, tests/f77demo, tests/mdemo, tests/mdemo2, tests/pdemo, tests/tagdemo: ...to here. * tests/defs: Factor much common functionality from the test scripts into shell functions. Added a copyright notice. * tests/assign.test, 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-inst.test, tests/demo-make.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.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-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-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/pdemo-unst.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: Refactored to use new functions in tests/defs. Added a copyright notice. * tests/hardcode.test, noinst-link.test, tests/relink.test, tests/relink.test, tests/mdryrun.test: Ditto. Moved from here... * tests/demo-hardcode.test, demo-noinst-link.test, tests/demo-relink.test, tests/depdemo-relink.test, tests/mdemo-dryrun.test: ...to here respectively. * Makefile.am: Added a copyright notice. * tests/sh.test: Check libtoolize.in for non-portabilities too. * libtoolize.in: Fix non-portabilities found by tests/sh.test. 2003-10-12 Peter O'Gorman * m4/libtool.m4: Speed up max_cmd_len check. 2003-10-08 Gary V. Vaughan * libtoolize.in: AC_CONFIG_M4_DIR has landed in CVS autoconf. Only it's called AC_CONFIG_MACRO_DIR. Search and replace. Grumble. ;-) 2003-10-08 Scott James Remnant * libltdl/ltdl.c (lt_dlerror): change return value when no error has occured to NULL to match documentation. (Debian Bug #157229) 2003-10-07 Gary V. Vaughan * ltmain.in: Don't suppress output of PIC mode compile if -no-suppress option is given. * doc/libtool.texi (Invoking libtool): Document it. * NEWS: Updated. 2003-10-07 Marcus Comstedt * m4/libtool.m4 [amigaos-ppc, amigaos-m68k]: Differentiate between amigaos on ppc and m68k. * NEWS: Updated. 2003-10-07 Ralph Schleicher * ltmain.in: Do not create `.o' objects when `-shared' is specified in compile mode. Do not make a static library when `-shared' is specified in link mode. * doc/libtool.texi (Compile mode): Document it. * NEWS: Updated. * doc/libtool.texi (Compile mode): Be more specific about the effect of `-static'. * ltmain.in: Do not create `.lo' objects when `-static' is specified. * NEWS: Updated. 2003-10-07 Gary V. Vaughan * doc/libtool.texi (Invoking libtool): Updated. * ltmain.in: Add missing clean and finish modes to the shorthand options. * ltmain.in: Typo in the --mode shorthand. 2003-10-07 Scott James Remnant * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Remove dead code for platforms that have been using pass_all for some time now. 2003-10-07 Gary V. Vaughan * libtoolize.in: Completely rewritten. * Makefile.am (AUTOMAKE_OPTIONS): Reduced to 1.7. The 1.8 requirement just made the distribution much smaller due to m4_includes. 1.7 will bootstrap libtool just fine. * NEWS: Updated. 2003-10-05 Peter O'Gorman , Gary V. Vaughan * ltmain.in: Remove inferrence of mode, add shorthand for mode choice. * ltmain.in: Specifying -allow-undefined is now an error. 2003-09-29 Scott James Remnant * m4/libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for linux* solving many build problems on ARM, and hopefully preventing any future ones. (Debian Bug #191133 and #190569) 2003-09-29 Bob Friesenhahn , Dalibor Topic * libltdl/ltdl.c: Only include malloc.h if stdlib.h can not be found. 2003-09-26 Alfred M. Szmidt * mdemo2/Makefile.am (INCLUDES): Include `$(top_srcdir)/../libltdl' instead of `../libltdl'. 2003-09-24 Gary V. Vaughan * bootstrap: Rewritten to use autoreconf. * config.guess, config.sub, mkstamp: Moved from here... * config/config.guess, config/config.sub, config/mkstamp: ...to here, respectively. * libtool.m4, ltdl.m4: Moved from here... * m4/libtool.m4, m4/ltdl.m4: ...to here, respectively. * configure.ac: Removed various acinclude.m4 hackery, as these files are no longer needed with automake 1.8. * Makefile.am: Removed various acinclude.m4 hackery, as these files are no longer needed with automake 1.8. (AUTOMAKE_OPTIONS): Require CVS automake. (CONF_SUBDIRS, CFLAGS, CPPFLAGS, LDFLAGS, LIBS, FFLAGS, FLIBS): Automake now makes a Make variable from every AC_SUBST, so these are NOP. (aclocal_macros): These files are now in their own m4 subdir. Changed all clients. (EXTRA_DIST): mkstamp has moved to the new config subdir. Changed all clients. (pkgdata_SCRIPTS): Ditto wrt config.guess and config.sub. (pkgdata_DATA): Ditto wrt ltmain.sh. * f77demo/configure.ac, libltdl/configure.ac (AM_CONFIG_HEADER): Is deprecated in favour of AC_CONFIG_HEADERS. Updated to the latter. * Makefile.am, cdemo/Makefile.am, demo/Makefile.am, depdemo/Makefile.am, f77demo/Makefile.am, mdemo/Makefile.am, mdemo2/Makefile.am, pdemo/Makefile.am, tagdemo/Makefile.am (EXTRA_DIST): Remove acinclude.m4. (ACLOCAL_AMFLAGS): Search new `m4' macro directory. * configure.ac, cdemo/configure.ac, demo/configure.ac, depdemo/configure.ac, f77demo/configure.ac, mdemo/configure.ac, mdemo2/configure.ac, pdemo/configure.ac, tagdemo/configure.ac (AC_CONFIG_AUX_DIR): Declare that config helper scripts are now kept in the new config subdir. * libltdl/configure.ac (AC_CONFIG_AUX_DIR): Removed. Defaults to `.' anyway. 2003-09-21 Robert Millan * libtool.m4: Add GNU/KNetBSD support. * ltdl.m4: Likewise. 2003-09-13 Scott James Remnant * libtool.m4: allow STRIP to contain spaces and additional arguments. (Debian Bug #183055) * ltmain.in: include newline in "sensible default" for IFS. (Debian Bug #98492 and #95447) 2003-09-11 Peter O'Gorman * AUTHORS, THANKS: Added myself to AUTHORS, removed from THANKS. 2003-09-10 Peter O'Gorman * mdemo2/configure.ac: Use AC_LIBTOOL_DLOPEN. * mdemo2/main.c: Use LTDL_SET_PRELOADED_SYMBOLS(). * mdemo2/Makefile.am: Set INCLUDES properly and add -dlopen force to make sure the symbols file is included in the link line. * ltmain.in: Accept -framework for darwin and put it in dependency_libs. For non-installed .la's try to avoid having ./.libs/.libs/libfoo.so on the link line. 2003-09-10 Arne Woerner * libtool.m4 [openbsd]: openbsd 3.x needs versioning information. 2003-08-29 Gary V. Vaughan * bootstrap: Typo. 2003-08-29 Alexandre Duret-Lutz * libtool.m4 (_LT_AC_LANG_C_CONFIG): Fix unquoted call to _LT_AC_LANG_C_CONFIG. (AC_PROG_EGREP): Remove, now that Libtool requires Autoconf 2.56. * bootstrap: Issue an upgrade warning. 2003-08-27 Gary V. Vaughan * libtool.m4 (_LT_AC_CHECK_DLFCN): Use the interrim new AC_CHECK_HEADER with compiler rather than preprocessor. (AC_LIBTOOL_SETUP): ...which was introduced in autoconf-2.56, so we AC_PREREQ that version. * ltdl.m4 (AC_WITH_LTDL, AC_LIB_LTDL, AC_LTDL_FUNC_ARGZ): Ditto. 2003-08-27 Gary V. Vaughan Work around a bug in AU_ALIAS in CVS Autoconf that inserts a newline just before AC_FD_CC, by hand updating: * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): s/AC_FD_CC/AS_MESSAGE_LOG_FD/g. 2003-08-05 Jim Pick , Ito Kazumitsu , Gary V. Vaughan Much as we have tried not to make it the callers' responsibility to maintain an lt_dlrealloc function pointer, it is too difficult to implement realloc as malloc/memcpy/free without knowing the size of the original block. rpl_realloc has been deprecated since 2002-10-30, but kaffe has real failures with that so it's time to bite the bullet. Caller gets to maintain lt_dlrealloc: * NEWS (1.5.1): Updated. * libltdl/ltdl.c (LT_DLREALLOC): Use lt_dlrealloc so the user can update the function pointer to match lt_dlmalloc. (lt_emalloc): Use lt_dlrealloc rather than hardcoding realloc. * doc/libtool.texi (Libltdl interface): Describe lt_dlrealloc now that it too has become part of the exported interface to libltdl. 2003-08-01 Peter O'Gorman * libtool.m4 (darwin): Use "-undefined dynamic_lookup" if the user set MACOSX_DEPLOYMENT_TARGET to 10.3 or greater. * libltdl/ltdl.c (dyld): Save the error from the first lookup to report in lt_dlerror(). Otherwise the error is always "Symbol _foo not in /usr/lib/libSystem.dylib". Thanks to Chris Zubrzycki for reporting this. 2003-08-01 Robert Boehne * libltdl/ltdl.h: Tweak the header to support visual studio. 2003-07-31 Greg Eisenhauer * ltmain.in: Provide absolute paths for dlopen and dlpreopen files in generating uninstalled libtool libraries. * mdemo2/main.c, mdemo2/Makefile.am, mdemo2/README, mdemo2/configure.ac, mdemo2/.cvsignore, mdemo/mlib.c, tests/mdemo2-conf.test, tests/mdemo2-exec.test, tests/mdemo2-make.test: New files for testing above feature. * configure.ac, bootstrap, tests/Makefile.am: Accomodate new test directory. * mdemo/Makefile.am: Build libmlib.la for mdemo2 tests. 2003-07-30 Tony Wyatt * libtool.m4: Remove parentheses around finish_eval part which broke on amigaos pdksh. 2003-07-30 Christiaan Welvaart * tests/dryrun.test: Ignore any 'total' line from "ls -l" output. 2003-07-30 Albert Chin-A-Young * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Correctly remove IRIX C++ template files. 2003-07-24 Robert Millan * libtool.m4: More fixes for the new GNU/FreeBSD triplet. 2003-07-14 Bob Friesenhahn * config.guess, config.sub: Synchronized from ftp.gnu.org since Robert Millan's patch requires it. 2003-07-14 Robert Millan * libtool.m4: Fixed to use the new GNU/FreeBSD triplet. * ltdl.m4: Fixed to use the new GNU/FreeBSD triplet. * ltmain.in: Remove GNU/FreeBSD cases, which are no longer needed. 2003-07-14 Andreas Schwab * libtool.m4 (_LT_AC_LOCK): Also match powerpc64-*linux* in addition to ppc64-*linux*. From Markus Meissner . 2003-07-14 Dalibor Topic * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): For AmigaOS with pdksh, set the maximum command line length to 8K since otherwise the test takes over an hour to run. 2003-06-25 Alexandre Oliva , Tim Waugh * libtool.m4: Replace mis-uses of path with pathname. (AC_PROG_LD_GNU): Don't quote $LD when running it. (_LT_AC_LANG_CXX_CONFIG): Use -nostdlib also when linking with g++ and non-GNU ld. 2003-06-11 Gary V. Vaughan * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION): Require LT_AC_PROG_SED to ensure $SED is set by the time it is used. * ChangeLog: Restore missing entries from 2003-04-22. * NEWS: Sychronised from branch-1-5. 2003-06-03 Benjamin Reed * ltmain.in: search libraries in the order of preference, rather than picking .la's even if they're in a less preferred directory. 2003-06-03 Robert Millan * ltdl.m4: Add support for GNU/FreeBSD. * ltmain.in: Add support for GNU/FreeBSD. 2003-06-03 Albert Chin-A-Young * libtool.m4: No need to use sed to remove leading comma when appending to $tagnames. 2003-06-03 Albert Chin-A-Young * tests/defs, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test: Pass build system type to tests to support environment where default system type not equal to build system type (eg. 64-bit HP-UX). 2003-06-03 Peter O'Gorman * libtool.m4 (darwin): Remove checks for Apple-specific gcc. * libltdl/ltdl.c (HAVE_MACH_O_DYLD_H): #define __private_extern__ for fsf gcc. * ltmain.in (darwin): Only add new paths to newlib_search_path. 2003-06-03 Max Bowsher * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Reorder cygwin's system library search path. 2003-06-01 Robert Boehne * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match all qnx-nto as recent config.guess returns a slightly different string. * ltmain.in: Replace use of "od" with tr. 2003-05-30 Gary V. Vaughan * libltdl/ltdl.c (argz_insert): Corrected an off by one error when checking that before is not out of range. 2003-05-29 Gary V. Vaughan * libltdl/ltdl.c (lt_int_dyld_lib_install_name): Removed unused variable mh1. (sys_dyld_close): Removed unused variable size. 2003-05-21 Bruno Haible * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Add support for GNU/FreeBSD. 2003-04-22 Alexandre Oliva * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all mips*-linux* variants. 2003-04-22 Samuel Meder * libtool.m4 Switch on $CC and add paterns to cases. 2003-04-22 Peter O'Gorman * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the value of shlibpath_overrides_runpath is used in the HARDCODE test and is set in the DYNAMIC_LINKER test. * ltmain.in [darwin]: We never need to relink on darwin. 2003-04-22 Samuel Meder * libtool.m4: Switch on $CC and add patterns to cases. 2003-04-21 Richard Dawe * doc/libtool.texi: Use @ifnottex instead of @ifinfo, to allow production of HTML documentation using makeinfo. 2003-04-14 Robert Boehne * NEWS: Updated. * configure.ac: Bumped version to 1.5a. GNU libtool 1.5 was released. * configure.ac: Bumped version to 1.5. * NEWS: updated. * README-alpha: Updated upload instructions. * README: Changed typo in version description. * config.guess, config.sub, texinfo.tex: Synchronized from ftp.gnu.org. 2003-04-10 Alexandre Oliva * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on all mips*-linux* variants. 2003-04-09 Samuel Meder * libtool.m4 Switch on $CC and add paterns to cases. 2003-04-09 Peter O'Gorman * libtool.m4: Move the AC_LIBTOOL_SYS_DYNAMIC_LINKER check to be before AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH, becuase the value of shlibpath_overrides_runpath is used in the HARDCODE test and is set in the DYNAMIC_LINKER test. * ltmain.in(darwin): We never need to relink on darwin. 2003-04-09 Samuel Meder * libtool.m4 Switch on `basename $CC` not $CC 2003-04-05 Peter O'Gorman * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so libtool works. Remove zsh echo test code, don't bother checking for zsh anymore in the darwin archive_expsym_cmds. 2003-04-05 Allan Sandfeld Jensen * libtool.m4: Switch on $CC not $cc_basename. 2003-04-02 Robert Boehne * tests/defs: Quote $DJGPP to prevent problems with some shells. Pointed out by Albert Chin 2003-04-01 Peter O'Gorman * libtool.m4: Fix the echo test which I broke earlier. * ltmain.in: Make DESTDIR work on darwin, don't use otool. 2003-03-31 Keith Packard * ltmain.in: New flag -version-number to be used for maintaining compatability with a previously non-Libtool versioning scheme. * doc/libtool.texi: Document it. 2003-03-31 Naofumi Yasufuku * ltmain.in (win32_libid): Fixed sed expression error in win32_nmres evaluation. 2003-03-31 Albert Chin * ltmain.in: Don't pass -R flags found in a .la's dependency_libs variable directly down to the linker. Reported by Tim Mooney . 2003-03-28 Richard Dawe * Makefile.am: Define CONF_SUBDIRS. * tests/defs: Set CONFIG_SITE to /nonexistent, except on DJGPP, which requires its config.site, to work correctly. * tests/cdemo-conf.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-nopic.test, tests/demo-pic.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/f77demo-conf.test, tests/f77demo-shared.test, tests/f77demo-static.test, tests/mdemo-conf.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/pdemo-conf.test, tests/tagdemo-conf.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Don't set CONFIG_SITE, now that tests/defs sets it. * tests/cdemo-exec.test, tests/demo-exec.test, tests/demo-inst.test, tests/depdemo-exec.test, tests/depdemo-inst.test, tests/f77demo-exec.test, tests/mdemo-exec.test, tests/mdemo-inst.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/tagdemo-exec.test: When checking for the existence of executables, use the executable file extension from $EXEEXT. 2003-03-28 Peter O'Gorman * libltdl/ltdl.c (dyld): Remove some debug printf's, fix a bug. * ltmain.in (darwin): Only link against shared libraries when doing link_all_deplibs. 2003-03-25 Robert Boehne * bootstrap: Add f77demo to the directories that AUTOHEADER is run in. 2003-03-21 Wesley W. Terpstra * ltmain.in: Don't accumulate directory information in clean mode. Include properly pathed wrapper script. 2003-03-21 Peter O'Gorman * README: Remove "Important" information about patching automake. * configure.ac: Fix misapplied patch in last commit * libtool.m4 (darwin): Check compiler is apple gcc, add -single_module support so that dyloading c++ shared libraries will work. * libtool.m4 (_LT_AC_TAGCONFIG): Add test -n to the tests so that it will work outside of libtool. * doc/PLATFORMS: Add darwin * f77demo/configure.ac: Add config.h which was misapplied previously. 2003-03-20 Peter O'Gorman * ltmain.in: Always use $echo not echo for consistency. Changes for darwin building. Warn if linking against libs linked with -module. Use module_cmds if available and building a module, move convenience double lib check, * libltdl/ltdl.c: ltdl support for darwin (first blush) * libltdl/README: note that darwin is supported * ltdl.m4: Changes for darwin, and for new shrext * libtool.m4: Changed the way darwin builds stuff (make check passes) added module_cmds, module_expsym_cmds and hardcode_automatic and put them in the libtool script. check for zsh's removal of escapes. Allow libraries to be stripped on darwin. * TODO: Remove the todo about zsh's removal of excapes. note that zsh echo works perfectly well, eval is screwed up. Seems to be fixed in latest zsh. * THANKS: added self :) * f77demo/configure.ac: Use config.h or it doesn't work. 2003-03-19 Robert Boehne * libtool.m4 (_LT_AC_TAGCONFIG): Add test around the macro that adds tags to the libtool script so that they won't run when not needed. * configure.ac: Set F77 to no when no Fortran compiler is found. 2003-03-16 Charles Wilson * ltmain.in (win32_libid): use $SED, not head. 2003-03-02 Alexandre Oliva * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, and reset them for a C++ environment. Use the with_gnu_ld setting from AC_PROG_LD. 2003-02-28 Ralph Schleicher * ltmain.in: Only append a dot to the wrapper script when building on cygwin/MSYS (check for $build, not $host). 2003-02-27 Samuel Meder * libtool.m4 (ia64): Add support for Intel compiler (ecc) on IA64 Linux. 2003-02-27 Benjamin Reed * THANKS: Added people who have submitted 3 or more patches to libtool to the THANKS file. * README: Added notes about the Darwin (MacOSX) support. 2003-02-25 Bob McElrath * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Add support for the Compaq C compiler for Alpha Linux. 2003-02-25 Benjamin Reed * libtool.m4 (darwin): Disable hardcoding library paths to make relinking unnecessary. 2003-02-24 Robert Boehne * libltdl/configure.ac: Use AC_CONFIG_AUX_DIR([.]) to place auxilary files in the libltdl directory. * Makefile.am: Add to the ltmain.sh rule to copy it into the libltdl subdirectory. * bootstrap: Explicitly handle ltmain.sh in libltdl, and pass --copy to automake. 2003-02-24 Ralph Schleicher * libtool.m4 (AC_LIBTOOL_SETUP): Check for ar. 2003-02-23 Peter O'Gorman * libtool.m4 (darwin): Revamp darwin platform support. * ltdl.m4 (darwin): Support dlcompat if found. * ltmain.in: Make sure ranlib is run if needed when piecewise linking. 2003-02-23 Alexandre Duret-Lutz * ltmain.in (--help): Show mailing-address for bug reports. (--version): Mention only the most recent copyright year. * libtoolize.in (--help): Show mailing-address for bug reports. (--version): Mention only the most recent copyright year. 2003-02-19 Alexandre Oliva * libtool.m4 (AC_PROG_LD): Use $CC instead of GCC. (_LT_AC_LANG_CXX_CONFIG): Preserve variables used by AC_PROG_LD, and reset them for a C++ environment. Use the with_gnu_ld setting from AC_PROG_LD. * libtool.m4: Replace $linker_flags with $compiler_flags wherever it is used as argument to $CC. * libtool.m4: Use linux version_type on IRIX with GNU ld. Prefix -soname, -set_version and their arguments with ${wl}. Add -melf* linker scripts to LD, and use them to determine libsuff, shlibsuff and libmagic. 2003-02-17 Allan Sandfeld Jensen * libtool.m4: Intel icc fixups for version 7.0. 2003-02-17 Ralph Schleicher * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Prepend a dot to the value of the shrext (aka shared_ext) variable and delete it from the library_names_spec and soname_spec definitions. That way the user can omit the shared library suffix by setting it to the empty string. (AC_LIBTOOL_LANG_CXX_CONFIG): Strengthen renaming commands for the KCC compiler. * doc/libtool.texi (Link mode): Update the manual. 2003-02-17 Charles Wilson * ltmain.in (win32_libid): Rewritten to improve speed. 2003-02-11 Richard Dawe * libtoolize.in: Use the program found by AC_PROG_LN_S to create symlinks. 2003-02-08 Jan Kratochvil * ltmain.in: Handle duplicate object file names when performing piecewise archive linking by renaming object files when needed. 2003-02-05 Robert Boehne * libtool.m4 (AC_CHECK_LIBM): Search for a real symbol in the math library rather than 'main', it causes problems for C++ compilers with certain Auto* tools. (AC_LIBLTDL_INSTALLABLE): ditto. 2003-02-05 Christian Cornelssen * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) (AC_LIBTOOL_PROG_LD_SHLIBS): Rewrite printf commands so that the format string cannot be mistaken as an option. Reported by Martin MOKREJS. 2003-02-05 Robert Boehne * libtool.m4: Modify the sys_lib_search_path_spec to allow for either native sed or GNU sed to be used. 2003-02-04 Nick Hudson * libtool.m4: don't use -nodefaultlibs in archive_commands or archive_expsym_commands on NetBSD. 2003-02-04 Albert Chin-A-Young * libtool.m4: Change setting of archive_cmds_need_lc so that it doesn't overwrite the previous setting. 2003-01-28 Albert Chin-A-Young * libtool.m4: Allow compiler variable, CC, CXX, etc. to be a program name with arguments. Original version stripped arguments for CC. 2003-01-28 Charles Wilson * ltmain.in: add code for a binary wrapper to use with uninstalled executables on cygwin/mingw. Make sure that --mode=clean gets shell wrapper and binary wrapper. When sourcing the shell wrapper, invoke using a terminal `.' on cygwin/mingw to avoid the automatic append-.exe behavior. 2003-01-28 Albert Chin-A-Young * libtool.m4: Hardcode library paths into libraries on IRIX. 2003-01-18 Robert Boehne * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC): Don't add -DPIC for languages other than C and C++. 2003-01-13 Albert Chin-A-Young * libtool.m4, ltmain.in: Add support for hppa*64* based on a patch by Ross Alexander . Credit to Ross! Use +b to hardcode library runtime path. Add new variable, $hardcode_libdir_flag_spec_ld, that is equivalent to $hardcode_libdir_flag_spec but is used when ld is used for linking. This works around having to set wl=''. 2003-01-12 Robert Boehne * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Revert an accidental rearranging of dylib and so for darwin. 2003-01-10 Robert Boehne * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Modify the "-shrext" option so that is works properly under Darwin. Modify the processing of 'gcc -print-search-dirs' under Darwin to make it behave like GNU gcc does. (AC_LIBTOOL_CONFIG): Single quote $shrext. * ltimain.in: Expand shared_ext just before it is used so that it can be conditional on the value of $module. 2002-12-31 Benjamin Reed * ltmain.in [darwin]: disable lazy linking, needed to resolve C++ global constructor issues 2002-12-30 Ralph Schleicher Rework by Robert Boehne * ltmain.in: New link option -shrext. * libtool.m4 (AC_LIBTOOL_CONFIG): New libtool variable shrext. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Replace all hard coded shared library file name extensions in library_names_spec and soname_spec with $shrext. * doc/libtool.texi (Link mode): Document it. 2002-12-30 Charles Wilson * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): modify $archive_expsym_cmds to restore support for using .def files via the -export-symbols switch. (AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]): in both the [CXX] branch and the default branch, improve $export_symbols_cmds so that DATA symbols are properly labelled. In the default branch, duplicate the _CXX_CONFIG correction for $archive_expsym_cmds. 2002-12-30 Charles Wilson * libtool.m4 (AC_LIBTOOL_RC): AC_PROG_RC doesn't exist -- but we do AC_DEFUN something called LT_AC_PROG_RC. Call that instead. 2002-12-30 Robert Boehne * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Copy the section for Darwin from AC_LIBTOOL_PROG_LD_SHLIBS so that the CXX tag doesn't use the g++ defaults for the OS X compiler. 2002-12-30 Albert Chin-A-Young * libtool.m4: Sync methods used to detect GNU ld. 2002-12-20 Robert Boehne * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, AC_LIBTOOL_PROG_CC_C_O): Do not escape } or ? in sed argument. 2002-12-19 Robert Boehne * ltmain.in: Use the sed program found by LT_AC_PROG_SED so that relink commands don't get truncated. 2002-12-18 Robert Boehne * libtool.m4: Move AC_REQUIRE([LT_AC_PROG_SED]) to AC_PROG_LD so it is invoked earlier. 2002-12-11 Allan Sandfeld Jensen * libtool.m4: Add support for Intel icc compiler for Linux. 2002-12-11 Robert Boehne * ltmain.in: Revert the version +1 change for IRIX, it could cause compatibility problems. 2002-11-22 Christian Cornelssen * libtool.m4 (AC_LIBTOOL_COMPILER_OPTION, AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with custom flags to be language-independent. Thereby removed CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging. Log entries no longer discarded by compilation failures. (_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, _LT_AC_LANG_GCJ_CONFIG): Tuned settings of lt_simple_compile_test_code and lt_simple_link_test_code to avoid warnings that could break some option detections. (AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed redundant "-c conftest.$ac_ext" in the argument to AC_LIBTOOL_COMPILER_OPTION. (AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest source code with $lt_simple_compile_test_code, to support the "-lc" test with other languages. 2002-11-19 Paul Eggert Don't assume that egrep and fgrep exist. POSIX 1003.1-2001 no longer requires them; you're supposed to use grep -E and grep -F instead. Also, don't assume that "test -a" works, since POSIX doesn't require it. * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER, _LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE, AC_LIBTOOL_PROG_LD_SHLIBS): egrep -> grep, when that makes no difference. * libtoolize.in: Likewise. * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Likewise. * ltmain.in: Likewise. * demo/Makefile.am (hc-direct): Likewise. * pdemo/Makefile.am (hc-direct): Likewise. * tests/build-relink.test, tests/build-relink2.test, tests/cdemo-conf.test, tests/cdemo-shared.test, tests/cdemo-static.test, tests/demo-conf.test, tests/demo-nofast.test, tests/demo-shared.test, tests/demo-static.test, tests/depdemo-conf.test, tests/depdemo-nofast.test, tests/depdemo-shared.test, tests/depdemo-static.test, tests/hardcode.test, tests/mdemo-conf.test, tests/mdemo-shared.test, tests/mdemo-static.test, tests/pdemo-conf.test, tests/tagdemo-conf.test, tests/tagdemo-shared.test, tests/tagdemo-static.test: Likewise. * libtool.m4 (AC_PROG_EGREP): New macro, defined if Autoconf doesn't define. (AC_PATH_TOOL_PREFIX, AC_PROG_LD_GNU): Use it. (AC_PROG_LD, AC_PROG_NM, AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Use shell pattern matching rather than egrep. (AC_LIBTOOL_CONFIG): Set lt_EGREP and EGREP. * demo/Makefile.am (SET_HARDCODE_FLAGS): Use sed instead of egrep. * pdemo/Makefile.am (SET_HARDCODE_FLAGS): Likewise. * tests/defs (EGREP, FGREP): New vars. * ltmain.in: egrep -> $EGREP * tests/assign.test, tests/demo-exec.test, tests/demo-inst.test, tests/pdemo-exec.test, tests/pdemo-inst.test, tests/sh.test: Likewise. * tests/hardcode.test: fgrep -> $FGREP * tests/f77demo-exec.test: test -a -> test && 2002-11-18 Bob Friesenhahn * ltmain.in: When using gcc, pass -mfoo to the linker via $compiler_flags in order to pass architecture information to the linker (e.g. 32 vs 64-bit). This may also be accomplished via -Wl,-mfoo but this is not reliable with gcc because gcc may use -mfoo to select a different linker, different libraries, etc, while -Wl,-mfoo simply passes -mfoo to the linker. If there is a better solution, please let me know what it is. 2002-11-18 Bob Friesenhahn * tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@ does not appear to be necessary given that Automake makes this assignment by default. The condition is removed since Automake 1.7.1 complains about it. 2002-11-18 Jakub Jelinek * libtool.m4: Support linking of 64-bit libraries on sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux* GNU/Linux systems when the platform default is to build 32-bit libraries. 2002-11-18 Andreas Jaeger , Bo Thorsen * libtool.m4: Support linking of 32-bit libraries with ld on the x86-64, ppc64, s390x and sparc64 GNU/Linux systems. 2002-11-18 Akim Demaille * ltmain.in: Do not change the PATH in the wrappers: let them launch the real binary using its path. 2002-11-18 Kevin Ryde * doc/libtool.texi (Library tips): Note array dimensions. 2002-11-18 Bob Friesenhahn * tests/*.test: MinGW's MSYS treats files under /dev specially. This causes 'test -r /dev/null/config/site' to improperly report success, causing configure to fail. Change the CONFIG_SITE definition from "/dev/null/config/site" to "/nonexistent" to avoid this problem. 2002-11-18 Charles Wilson * libtool.m4 (_LT_AC_LOCK): remove support for ancient versions of mingw and cygwin. (AC_LIBTOOL_POSTDEP_PREDEP): new function. moved the "find hidden library dependencies" code here from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it multi-tag compatible, but currently only CXX calls it. (AC_LIBTOOL_LANG_CXX_CONFIG): set enable_shared_with_satic_runtimes to 'no' by default Set it to 'yes' for cygwin, mingw, pw32. Replace "find hidden library dependencies" code with a call to the new function AC_LIBTOOL_POSTDEP_PREDEP. Consolidate cygwin and mingw/pw32 stanzas. (AC_LIBTOOL_LANG_F77_CONFIG): set enable_shared_with_static_runtimes to 'no' by default (AC_LIBTOOL_CONFIG): add enable_shared_with_static_runtimes to the list of variables to write into ltmain.sh; include it in the libtool script template as allow_libtool_libs_with_static_runtimes. (AC_LIBTOOL_PROG_LD_SHLIBS): set enable_shared_with_static_runtimes to 'no' by default Set it to 'yes' for cygwin, mingw, pw32. (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp if the build_os is mingw, not host_os * ltmain.in (case deplibs_check_method): for all appropriate cases, if allow_libtool_libs_with_static_runtimes, then remove predeps and postdeps from the list of dependencies that must be checked for "dynamicness". For the "none" case, the presence of compiler-generated postdeps and predeps should not trigger "inter-library dependencies not supported" error. (initial setup after arg processing): on cygwin/mingw, allow compiler-generated dependent libs to be duplicated without elimination. (initial search loop for deplibs): if the deplib in question is a libtool lib, then if allow_libtool_libs_with_static_runtimes then parse the .la file. If the .la file only has an "old_library", add the deplib directly to the deplibs list (-lstdc++) and DON'T use the .la file; this allows the (case deplibs_check_method) change above to take effect. * ltmain.in (for pass in $passes loop): remove predeps, postdeps, and compiler_lib_search_path from dependency_libs. 2002-11-08 Robert Boehne * doc/libtool.texi: Add --mode=* to every example using libtool. 2002-11-03 Ossama Othman * ltmain.in: add support for installing into temporary staging area (e.g. 'make install DESTDIR=...') 2002-11-03 Charles Wilson * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting allow_undefined_flag=unsupported for cygwin and mingw. (AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld and for the (unmaintained?) MSVC case. 2002-11-03 Charles Wilson * doc/libtool.texi (Install mode): document new -inst-prefix option. 2002-11-02 Robert Boehne * ltmain.in: Print a warning if the mode is not specified. * doc/libtool.texi: Document the change that the mode must be specified. 2002-10-30 Charles Wilson * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function win32_libid on w32 platforms * ltmain.in: add new section for shell functions. Add win32_libid() shell function. * f77demo/Makefile.am: add -no-undefined flag 2002-10-30 Rob Browning * ltdl.c (realloc): Remove custom realloc. (#define rpl_realloc realloc) and comment out later code for custom realloc. You can't define your own malloc unless you know enough about the malloc in use to be able to tell how big the src ptr is. The disabled code incorrectly used the *destination* ptr to decide how much to copy. This sometimes results in out-of-bound accesses which cause segfaults. This is a quick hack for now; we may want something cleaner later. (tryall_dlopen_module): check to be sure (dirname_len > 0) before testing first character against '/'. (try_dlopen): check for feof(file) in read loop -- otherwise infinite loop? 2002-10-25 Robert Boehne * ltmain.in (-XCClinker): New flag passes a linking option directly to the compiler driver without appending ${wl}. 2002-10-25 Gary V. Vaughan * README-alpha: Add some release note templates for inspiration and consistency at release time. * Makefile.am (cvs-diff): Compress the generated diff file, ready for upload to ftp.gnu.org. 2002-10-25 Howard Chu * ltmain.in [aix]: Be sure to deal with xlc_r, cc_r and other compiler variants. 2002-10-25 Gary V. Vaughan * libtool.m4 (_LT_AC_FILE_IMPGEN_C): Removed. No longer used. (_LT_AC_FILE_LTDLL_C): Ditto. (AC_LIBTOOL_CONFIG) [cygwin, mingw, pw32, os2]: Don't call _LT_AC_FILE_LTDLL_C or _LT_AC_FILE_IMPGEN_C. 2002-10-25 Albert Chin-A-Young * libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the -brtl special-case code for AIX never gets triggered because were are being too specific about how we search for -brtl. Use case statement to avoid this. Remove extraneous semicolon. * ltmain.in: Recognize the IBM xlc compiler. 2002-10-24 Andrew Suffield * libltdl/ltdl.c (lt_dlopenext): Corrected sense of "file not found" check. 2002-10-24 Ossama Othman * ltmain.in: Support compiler names matching g++* 2002-10-23 Bob Friesenhahn * libtool.m4: Removed old Windows cruft. * libtool.m4: Adapted pw32 to be like Cygwin/MinGW. 2002-10-23 Robert Boehne ltmain.in: Do not add 1 to the version under IRIX, it is not necessary. 2002-10-15 Charles Wilson * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): avoid long delay on cygwin/Win9x when computing commandline length. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): fix postinstall_cmds when sources are in a subdirectory * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): use $PATH_SEPARATOR, not $ac_path_separator * configure.ac: move depdemo-specific stuff. You must configure libtool before you can try './libtool --features'. * mdemo-inst.test: set $PATH to include the directory in which the modules are installed (on cygwin, DLL search path is the $PATH) 2002-10-15 Bob Friesenhahn * ltmain.in: MinGW works identically to Cygwin. * libtool.m4: lt_cv_sys_max_cmd_len hard-coded to 8192 * Model MinGW configuration after Cygwin configuration. Some portions share implementation. 2002-10-15 Elizabeth Barham * libtool.m4: Pattern MinGW library naming after that used by Cygwin except use 'lib' prefix rather than 'cyg'. * Transfer some configuration from Cygwin with adjustments for MinGW. 2002-10-15 Albert Chin-A-Young * libtool.m4: When a module is built for AIX, the 'lib' prefix isn't needed, neither is the version. AIX dlopen will honor the RPATH in a library. 2002-10-11 Christoph Egger * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add -install_name to the link line only when -dynamiclib is specified for a module. Use -bind_at_load when linking C++ shared libraries. 2002-10-04 Elizabeth Barham * libtool.m4 (AC_LIBTOOL_SETUP): GCC now checks -shared to create a dll for Windows targets. 2002-09-24 Robert Boehne * ltmain.in: Fixed a few spelling errors. 2002-09-17 Robert Boehne * libltdl/ltdl.c: Commented out access() call that checks for a library file's existence and permissions, as it appears to fail in every case. 2002-09-09 Albert Chin-A-Young * libtool.m4: Custom $symcode for Tru64 UNIX to catch 'Q', read-only constants. 2002-09-09 Rainer Orth * libtool.m4 (osf[345]): Append $major to soname_spec. Reflect this in library_names_spec. * ltmain.in (osf): Prefix $major with '.' for use as extension. 2002-08-28 Bob Friesenhahn * ltdl.m4 & libltdl/ltdl.c: Port fully to native Win32 API. 2002-07-31 Robert Boehne * f77demo/.cvsignore: New file, forgotten in the last commit. 2002-07-31 Eric Lindahl * libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77 Fortran support tag. (AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag. (AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG): New macros for F77 tag Fortran support. * configure.ac: Add support for creating the new F77 tag. * bootstrap: Add f77demo directory to the list to be processed. * Makefile.am: Add support for FFLAGS and FLIBS. * tests/Makefile.am: Add new Fortran tests. * tests/f77demo-*.test: New files. * f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c * f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f * f77demo/Makefile.am, f77demo/README: New files. 2002-07-16 Gary V. Vaughan * libltdl/ltdl.c (tryall_dlopen): We need to catch missing file errors early so that file_not_found() can detect what happened. 2002-06-26 Bob Friesenhahn * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove extraneous '=' character which appears in gcc 3.1 -print-search-dirs output. Handle both upper and lower case drive letters when testing for Windows vs POSIX style path output from -print-search-dirs output. 2002-06-24 Robert Boehne * ltmain.in (Piecewise linking): Add a clause to skip creating the export file until the reloadable object file(s) have been created, then use them as input for $export_symbols_cmds. 2002-06-23 Albert Chin-A-Young * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Need to quote [ and ] for Autoconf. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): HP/UX needs libltdl_cv_sys_dlopen_deplibs set to yes. 2002-06-23 Kevin Ryde * libtool.m4 (AC_LIBTOOL_SETUP, _LT_AC_LOCK): Use AC_PROVIDE_IFELSE to test AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_DLOPEN, necessary for autoconf 2.53. 2002-06-23 Gary V. Vaughan * libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL when *PARGZ_LEN is non-NULL, so the assertion to the contrary was bogus. Reported by Bob Friesenhahn and Albert Chin-A-Young 2002-06-21 Gary V. Vaughan * libltdl/ltdl.c (foreach_dirinpath): Ensure that filename is '\0' terminated by all code paths. Reported by Lutz Mller 2002-06-20 Gary V. Vaughan From Kevin Ryde : * doc/libtool.texi (Platform quirks): s/dependan/dependen/ * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Ditto. * TODO: Ditto. 2002-06-13 Rainer Orth * ltmain.in (irix, nonstopux): Set major before use. 2002-06-11 Daniel Kobras * libltdl/ltdl.c (try_dlopen): Don't return bogus handle to user if tryall_dlopen() fails. 2002-06-01 Gary V. Vaughan * tests/pdemo-exec.test: Typo. s/hell-static/hell_static/ 2002-05-31 Charles Wilson * NEWS: Updated. * libtool.m4: use $NM to create the symbol list on cygwin, not $ltdll_cmds as on mingw. For all tags, (and host=cygwin) set allow_undefined_flag="" so that the --auto-import magic works properly. For all tags (and host=cygiwn) set always_export_symbols=no -- it is unnecessary thanks to binutils' auto-export magic. * libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary wrapper; use cygwin's builtin implementatino of dl*. * cdemo/Makefile.am: the downside of unsetting 'allow_undefined_flag' -- we must include -no-undefined in the _la_LDFLAGS variable. * depdemo/l1/Makefile.am: ditto. * depdemo/l2/Makefile.am: ditto. * depdemo/l3/Makefile.am: ditto. * depdemo/l4/Makefile.am: ditto. * mdemo/Makefile.am: ditto. * tagdemo/Makefile.am: ditto. * demo/Makefile.am: ditto. But also, we must make special provision to clean up the hell0 wrapper script. * pdemo/Makefile.am: ditto -no-undefined. ditto hell0. And use 'hell_static' instead of 'hell.static'. * tests/pdemo-inst.test: use 'hell_static' instead of 'hell.static'. * tests/pdemo-exec.test: ditto. 2002-05-30 Charles Wilson * tests/build-relink2.test: look for installed libl3.la in $prefix/lib/ as well as $prefix/lib/extra/. 2002-05-30 Gary V. Vaughan * tests/hardcode.test: Use libtool --config to collect the variable values for the test, otherwise the tag values interfere with a straight grep. 2002-05-30 Gary V. Vaughan Finally fix the annoying bug which always adds all tags to the libtool script built by your project configure. Now we set the default tags depending on whether AC_PROG_CXX et. al. are actually called from configure.ac. * libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when no --with-tags argument is given. (_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code in... (_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro instead. (AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the initialisation sequence for tagnames. (AC_LIBTOOL_GCJ): Similarly for GCJ tag. (AC_LIBTOOL_RC): Likewise for RC tag. 2002-05-21 Jon Meredith * ltmain.in: Fix a problem on SCO OpenServer5 that caused a failure in three depdemo-make tests. For some reason the linker tries to find the dependent libraries using the library search path before it has read the libraries specified with absolute paths in the full commandline. This patch add -L's for each of the dependent library directories so that they can be resolved. 2002-05-09 Nick Hudson * libtool.m4: Update support for NetBSD * ltdl.m4: Make sure that libltdl_cv_func_dlopen and libltdl_cv_lib_dl_dlopen are set and used instead of the ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe instread of global_symbol_pipe. This fixes the detection of dlopen on BSD derived plaforms and more importantly fixes need_uscore detection. 2002-05-06 Paul Eggert * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): head -1 -> sed 1q to port to POSIX 1003.1-2001 hosts, like textutils 2.0.21 with _POSIX2_VERSION=200112. 2002-05-06 Paul Eggert * ltmain.in: Don't assume that "sort +2" works, as POSIX 1003.1-2001 says that "sort +2" is supposed to sort the file named "+2". An example host that behaves like this is textutils 2.0.21 with _POSIX2_VERSION=200112. 2002-05-06 Loren James Rittle * ltmain.in: Detect and handle object name conflicts while piecewise linking a static library. 2002-05-02 Dave Vasilevsky * ltmain.in: Remove convenience libraries from deplibs for Darwin. 2002-05-02 Fritz Elfert * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Modify archive_expsym_cmds to catch properly handle dll alias symbols. 2002-04-24 Kevin Ryde * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use $build_os not $host_os. 2002-04-14 Robert Boehne * doc/libtool.texi (C++ libraries): Finally updated to reflect Libtool's support for C++. 2002-04-14 Jean-Frederic Clere * libtool.m4: Update support for Fujistu-Siemens Computers (FSC). * ltmain.in: Add support for EBCDIC based systems. 2002-04-07 Robert Boehne * libtool.m4 (LT_AC_PROG_SED): Refactor, removing temporary directory and consistent use of the shell variable namespace "lt_ac_". 2002-04-02 Robert Boehne * ltmain.in: Finish the tag matching logic started yesterday and refactor it a bit. 2002-04-01 Robert Boehne * ltmain.in: Handle the case when no tag is explicitly set, and $base_compile has a space in front of $CC, and revert the setting of tagname checked in on 2002-3-14. 2002-04-01 Robert Boehne * tagdemo/foo.cpp: Use C++ IO to catch problems linking to C++ runtime libraries. * tagdemo/main.cpp: Ditto. 2002-03-16 Gary V. Vaughan * TODO: Removed obsolete comments about RMS' package system. 2002-03-14 Robert Boehne ltmain.in: Touch-up to make testsuite pass, and default tagname to CC when it isn't explicitly set. 2002-03-14 Anthony Green * libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Albert Chin's gcj fix. (AC_LIBTOOL_PROG_COMPILER_PIC): Per Bothner's change for not using -DPIC with gcj. 2002-03-11 Bruce Korb * ltmain.in(compile): bring a touch of order to the option processing 2002-02-09 Gary V. Vaughan * NEWS: Updated. * THANKS: Added Rob Collins and Chuck Wilson for their cygwin work. From Robert Collins : * configure.ac (AC_EXEEXT): Needed for DOSish systems. * libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes when compiling with gcc. (lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT hack, so we just say the pic is the default. (AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a library normally. [cygwin]: Declare C++ compiler characterisics for g++, taking into account the new auto-import support in cygwin ld. * ltmain.in (specialdeplibs) [cygwin]: Be careful about eliminating duplicate -lgcc's from the link line. [cygwin]: Be smarter about .exe suffixes. * demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support DOSish systems properly. * depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto. * demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use hell_static instead of hell.static for multi-`.' inhibited OSes. * tests/demo-exec.test: Ditto. * tests/demo-inst.test: Ditto. * demo/foo.h [cygwin]: Sanitize cygwin dll support. * demo/foo.c (_LIBFOO_COMPILATION_): No longer required. * demo/hello.c (_LIBFOO_COMPILATION_): Ditto. * depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead of depdemo.static for multi-`.' inhibited OSes. * tests/depdemo-exec.test: Ditto. * tests/depdemo-inst.test: Ditto. * mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static. * tests/dryrun.test: Ditto. * tests/mdemo-exec.test: Ditto. * tests/mdemo-inst.test: Ditto. * tests/build-relink.test: Be careful about possible .exe suffixes. * tests/noinst-link.test: Allow for .exe suffix. 2002-02-07 Alexandre Oliva Reverted incorrect patch: 2001-10-24 H.J. Lu * ltmain.sh: Allow link against an archive when building a shared library. * libtool.m4 (lt_cv_deplibs_check_method): Always use file_magic for Linux ELF. 2002-01-30 Robert Boehne * libtool.m4 (LT_AC_PROG_SED): Removed a mysterious newline. 2002-01-28 Robert Boehne * libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of output. AC_REQUIRE the new macro. * ltmain.in: Use $SED rather than plan old sed, as set by the new macro LT_AC_PROG_SED. 2002-01-10 Volker Christian * libltdl/ltdl.c (find_handle_callback): treat the result of a call to access(2) correctly when deciding whether a library can be found in a directory from user_search_path. 2002-01-07 Robert Boehne * NEWS: Fixed wrong path for texinfo.tex. * configure.ac: Bumped version to 1.4e. GNU libtool 1.4d was released. * configure.ac: Bumped version to 1.4d. * NEWS: updated. * config.guess, config.sub, texinfo.tex: Synchronised from ftp.gnu.org. 2001-12-06 Jens Petersen * ltmain.in: Replace all test "-a"s by "&& test" for portability. 2001-11-28 Robert Boehne * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Change the factor of saftey as 3/4 of the result was not low enough. 2001-11-28 Gary V. Vaughan * libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined in aclocal.m4 had bitrotted slightly. Reported by Takahiko Kawasaki 2001-11-27 Donald D. Anderson * ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should not be explicitly used. ld handles this depending on the presence of the -pthread option. 2001-11-27 Robert Boehne With help from Michael Matz : * ltmain.in: Add a new command line argument --preserve-dup-deps for preserving duplicate dependent libraries. * libtool.texi: Document it. 2001-11-27 Kevin Ryde * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Send "test" warnings to /dev/null, helps FreeBSD and maybe others. 2001-11-15 Albert Chin-A-Young * libtool.m4: quote LTCC because autoconf AC_PROG_CC_STDC macro might add to $CC if options needed by compiler to grok ANSI. 2001-11-15 Gary V. Vaughan From Joseph S. Myers : * ltmain.in: Typo. 2001-11-15 Mo DeJong * ltmain.in: Place parens around a generated relink_command so it is run is a subshell. This avoids an install error where libtool ended up in the wrong directory after relinking a .la file. 2001-10-31 Raja R Harinath * configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE before the use of $PACKAGE in $pkgdatadir. Reported by Bob Friesenhahn 2001-10-28 Gary V. Vaughan From Tom Bates : * libtool.m4 [mips-compaq-nonstopux]: New port. * ltmain.in [mips-compaq-nonstopux]: Support $version_type == nonstopux. 2001-10-28 Albert Chin-A-Young * libltdl/ltdl.c (foreach_dirinpath): change some types to size_t from int because strlen() returns size_t. argz_len changed to size_t because argzize_path() takes 3rd argument as size_t, not int. Based on lint run from Bob Friesenhahn 2001-10-27 Gary V. Vaughan * libtool.m4 (_LT_AC_TAGCONFIG): Cray sed does not allow character sets to contain the separator character. Reported by Kevin Ryde * ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl' option to configure, but to find an appropriate ltdl library and append the right options to link it. 2001-10-24 Kevin Ryde * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Remove a stray ' quote. 2001-10-24 H.J. Lu * ltmain.sh: Allow link against an archive when building a shared library. * libtool.m4 (lt_cv_deplibs_check_method): Always use file_magic for Linux ELF. 2001-10-12 Guido Draheim * ltdl.m4: Changed "underscode to underscore". 2001-10-06 Gary V. Vaughan * configure.ac: General modernisation and cleanup. * cdemo/configure.ac: Ditto. * demo/configure.ac: Ditto. * depdemo/configrue.ac: Ditto. * ltdl/configure.ac: Ditto. * ltdldemo/configure.ac: Ditto. * mdemo/configure.ac: Ditto. * pdemo/configure.ac: Ditto. * tagdemo/configure.ac: Ditto. 2001-10-04 Albert Chin-A-Young * libltdl/ltdl.c: Match function return type with prototype (add static initializer to file_not_found). 2001-09-30 Gary V. Vaughan * libtool.m4 (AC_LIBLTDL_CONVENIENCE): s/INCLTDL/LTDLINCL/ for consistency with gettext's INTLINCL. Keep the old symbol too for backwards compatibility. (AC_LIBLTDL_INSTALLABLE): Ditto. * doc/libtool.texi (Distributing libltdl): Adjust documentation. 2001-09-22 Albert Chin-A-Young * ltdl.m4 (AC_LTDL_DLLIB): Even though HP-UX 10.20 and 11.00 support shl_load *and* dlopen, dlopen works correctly only with a patch. Because we want to avoid the situation where we build on a system with the patch but deploy on a system without, use shl_load exclusively if found. 2001-09-22 Gary V. Vaughan * libtool.m4 (_LT_AC_FILE_LTDLL_C): Be carefule that the start marker searched for by sed must start in column 0. (_LT_AC_FILE_IMPGEN_C): Ditto. Reported by Tor Lillqvist 2001-09-22 Tor Lillqvist * libtool.m4 [mingw* cygwin*]: Small improvement for mingw-hosted tool support (while still running libtool on cygwin). In that case PATH_SEPARATOR is ':', but gcc -print-search-dirs still prints its search path with ';' as separator. (AC_LIBTOOL_RC, AC_LIBTOOL_LANG_RC_CONFIG): Add support for .rc files (Windows resource files), compiled by the resource compiler (windres in mingw) to .o files. (AC_PROG_NM): Minor bug fix for $PATH elements with spaces in them. * configure.ac: Use LT_AC_PROG_RC. * ltmain.in: Check for .rc files. * NEWS: Updated. * ltmain.in: Add a space to $base_compile in the case statement, as the case labels checks for trailing spaces, but there aren't necessarily in $base_compile. 2001-09-22 Albert Chin-A-Young * libtool.m4: When setting archive_cmds for CC, don't test for $GXX but for $GCC on HP-UX. Indentation fixes. 2001-09-21 Gary V. Vaughan From Tor Lillqvist : * ltmain.in [cygwin* mingw*]: Take care of the difference between wrapper script name and executable name. * libtool.m4 (archive_cmds) [darwin1.[0-2]]: Darwin uses zsh-3.1.6 for /bin/sh, and that shell does not handle escaped quotes properly yet. Reported by Christopher Pfisterer 2001-09-21 Albert Chin-A-Young * libltdl/ltdl.c: Match function return type with prototype (add static initializer to some functions) to prevent warnings from HP-UX cc. 2001-09-21 Gary V. Vaughan * libltdl/ltdl.c: Added support for dmalloc, and uncovered some memory bugs as a result. 2001-09-21 Albert Chin * libtool.m4: Don't include main() when testing for command to parse $NM output because some C++ compilers don't allow you to take the address of main (e.g. HP-UX aCC). * libtool.m4: Some uses of $GXX were unquoted, but GXX is either NULL or yes. Use "$GXX". 2001-09-13 Assar Westerlund * ltdl.m4 (AC_LTDL_DLLIB): call dlopen with arguments so the test does not fail due to a prototype in dlfcn.h 2001-09-13 Gary V. Vaughan * ltdl.m4 (AC_CHECK_HEADERS): Check for assert.h. * libltdl/ltdl.c: If not, disable assertions manually. 2001-09-11 Gary V. Vaughan * bootstrap: Be robust to having no files that need removing. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump libltdl version to 1.2. * libltdl/Makefile.am (libltdl_la_LDFLAGS): Bump libtool library version info to 4:0:1. 2001-09-11 Gary V. Vaughan * libtool.m4: No need to undefine([symbols]), proper quotation is enough. 2001-09-10 Gary V. Vaughan * libtool.m4: CVS Autoconf guarantees a decent default IFS, so there is no need for us to preset it anymore. Be careful not to set IFS="${IFS}$PATH_SEPARATOR" for PATH splitting, otherwise spaces in directory names will be lost. Use $PATH_SEPARATOR... don't rely on $ac_path_separator, which was an autoconf internal until just now, when it disappeared! * ltmain.in: Default IFS once, at the start. Reported by Akim Demaille 2001-09-10 Brad * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Missed an instance of Autoconf square bracket quoting style normalisation. * ltmain.in (-lc_r): Style improvement. * doc/libtool.texi: Remove obsolete references to ltconfig. * tests/quote.test: s/ltconfig/\$0/ 2001-09-09 Gary V. Vaughan * libtool.m4: Use Autoconf square bracket quoting style consistently throughout. 2001-09-08 Gary V. Vaughan * bootstrap: Cleanup `autom4te' and `libtool' so that we don't get caught by something from a previous build. * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Revert my 2001-09-06 patch. (no_undefined_flag)i [solaris*]: Revert Alexandre's 2001-04-11 patch. 2001-09-07 Gary V. Vaughan * libltdl/ltdl.c (foreach_dirinpath): argz_len should be a size_t. Reported by Albert Chin 2001-09-06 Gary V. Vaughan * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [solaris*]: Typo. s/GXX/GCC/. * libtool.m4 (archive_cmds, archive_expsym_cmds) [solaris*]: Changing no_undefined_flag from `-z text' to `-z defs' (see entry below at 2001-04-11 Alexandre Oliva ) has a problem. when linking a shared library with gcc calling /usr/ccs/bin/ld (eg. the gcc supplied with Solaris 8 companion CD), using the flag -no-undefined, shared library linking will always fail because of the unresolved symbols from libgcc.a. Consequently we have to provide a path to libgcc.a when linking shared libraries in conjunction with -no-undefined! From Michael Pruett : * libltdl/ltdl.c (find_module): `0' valued arguments to tryall_dlopen_module() must be explicitly cast to avoid compiler warnings on some environments. From Daniel Johnson : * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [darwin*]: Move from GNU ld section to non-GNU ld section. 2001-09-05 Robert Boehne * pdemo/Makefile.am (helldl): Automake 1.4 can't find the target if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. Using both targets to the left of the colon seems to work though! 2001-09-03 Gary V. Vaughan * demo/Makefile.am (helldl): Automake 1.4 can't find the target if we use helldl$(EXEEXT), and Automake 1.5 barfs unless we do. Using both targets to the left of the colon seems to work though! 2001-09-03 Brad * ltdl.m4 [AC_LTDL_SYS_DLOPEN_DEPLIBS]: Teach ltdl about the behavior of OpenBSD's dlopen(). 2001-09-03 Gary V. Vaughan From Marius Vollmer : * libltdl/ltdl.c (tryall_dlopen_module): Don't forget to propogate errors over recurse levels. 2001-09-03 Brad * libtool.m4 [openbsd*]: More improvements to the OpenBSD port. 2001-09-02 Gary V. Vaughan From Albert Chin : * libtool.m4 (_LT_AC_LANG_C_CONFIG) [aix4*]: Be careful with shared namespaces for static and shared libs. (AC_LIBTOOL_DLOPEN_SELF): If all else fails, try dld_link from GNU DLD. 2001-09-02 Christopher Pfisterer * libtool.m4, ltmain.in: Linker flag and version numbering fixes for darwin. 2001-09-02 Gary V. Vaughan Based on a patch from Marius Vollmer : * NEWS: updated. * ltdl.m4 (AC_LIB_LTDL): Check for unistd.h. * ltdl.c: Include unistd.h if it exists. (LTDL_SEARCHPATH_VAR): Macro to prevent hardcoding "LTDL_LIBRARY_PATH". (LTDL_ARCHIVE_EXT): Macro to prevent hardcoding ".la". (archive_ext): Have only one copy of ".la" in the readonly segment of the compiled library. (find_handle_callback): Don't bother trying to dlopen the file if it doesn't exist. (find_handle): Don't bother searching for files if no search_path was supplied. (file_not_found): A new function to determine whether the last error was due to a file not found condition. (try_dlopen): Renamed from lt_dlopen() and changed to have the same footprint as tryall_dlopen. This involved a minor rewrite of much of the internals of this function. (lt_dlopen): A new function wrapped arounf try_dlopen(). (lt_dlopenext): If a file already has a suitable extension, don't bother adding additional extensions and trying to open those. Tidy up the rest of the code to prevent continued searching with an eventual FILE_NOT_FOUND when a genuine failure earlier in the search process could be legitimately reported. * demo/Makefile.am (helldl$(EXEEXT)): Automake-1.5 made me change this from just `helldl'. 2001-07-31 Robert Boehne * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) Fixed a problem with export_symbols_cmds not being set for CXX tags, and not being properly set for any tag under AIX/Power. 2001-08-19 Ossama Othman * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): Corrected and improved error message that is displayed when there was a problem compiling the C++ test program. It still mentioned the now non-existent `ltcf-cxx.sh' file. * doc/libtool.texi (LTDL_SET_PRELOADED_SYMBOLS): Removed parentheses at end of starting "defmac" line, as pointed out by makeinfo. 2001-08-18 Brad * ltmain.in: Do not remove -lm from deplibs for OpenBSD. 2001-08-16 Gary V. Vaughan * libltdl/ltdl.c (argz_create_sep): Don't forget to include the terminating '\0' when counting argz_len. (argz_create_sep): When canonicalizing argz, don't forget to copy the terminating '\0', incase canonicalization has shortened argz. (argz_stringify): Don't covert the final '\0' to a separator. 2001-08-15 Gary V. Vaughan * libltdl/ltdl.c (lt_dlhandle_next): Now we can loop through all loaded module handles as originally intended. * libltdl/ltdl.c (lt_dlseterror): Oops. This never worked either, due to a pair of typos. Now fixed. * libltdl/ltdl.c (N_ELEMENTS): Deleted. How come nobody noticed there was no way this could have ever worked? (lt_dlcaller_set_data): Now that valid caller_ids must be non-zero, allocate an addition entry in the caller_data vector and use a zero valued key as the end marker. (lt_dlcaller_get_data): Iterate up to the end marker in one pass. 2001-08-14 Gary V. Vaughan * libltdl/ltdl.c (lt_dlcaller_register): Caller ids are allocated starting from value `1', so that clients can use a value of zero to indicate that libltdl has not yet initialised. * ltmain.in (exec_cmd): Fix quoting in execute mode so that the double quotes added by libtool (to prevent lossage with embedded spaces in filenames etc.) are not interpreted as literals by the shell. 2001-08-13 Gary V. Vaughan * libltdl/ltdl.c (find_file_callback): Fix a multiple free() bug. (tryall_dlopen_module): Remove some unused variables. * libltdl/ltdl.c (lt_dlinsertsearchdir): Calculate the address of the end of user_search_path correctly. * libltdl/ltdl.c (rpl_argz_stringify): New fallback implementation. * ltdl.m4 (AC_LTDL_FUNC_ARGZ): Test for argz_stringify in libc. * libltdl/ltdl.c (lt_argz_insertinorder): Renamed from lt_argz_insert to make room for... (lt_argz_insert): Wraps argz_insert with libltdl error handling. (lt_dlpath_insertdir): Insert new path elements into an argzized path. (lt_dlinsertsearchdir): New function to insert new search directories anywhere into user_search_path using the above. (lt_dladdsearchdir): Rewritten to use lt_dlpath_insertdir. * libltdl/ltdl.h (lt_dlinsertsearchdir): Prototype for export. * doc/libtool.texi (Libltdl interface): Document it. * NEWS: Updated, 2001-08-07 Gary V. Vaughan From Albert Chin : * ltmain.in [irix*]: $with_gcc is either "yes" or "" (empty string) with current autoconf, so we need to be robust to that when testing it, 2001-08-06 Gary V. Vaughan From Brad : * libtool.m4 (deplibs_check_method) [aix*]: Removed redundant setting of this variable. 2001-08-05 Gary V. Vaughan * libltdl/ltdl.c (load_deplibs): Insert missing 1st argument to LT_EMALLOC. 2001-08-05 Tim Van Holder * ltdl.m4: Canonicalize descriptive text used with AC_DEFINE. * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Remove. (_LT_AC_PROG_ECHO_BACKSLASH): Use $ac_path_separator instead of $PATH_SEPARATOR. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Ditto. (_LT_AC_TAGCONFIG): Ditto. (AC_ENABLE_SHARED): Ditto. (AC_ENABLE_STATIC): Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. (AC_PATH_TOOL_PREFIX): Ditto. (AC_PATH_MAGIC): Ditto. (AC_PROG_LD): Ditto. (AC_PROG_NM): Ditto. * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): Ditto. 2001-08-05 Gary V. Vaughan From Brad : * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: OpenBSD can build modules without a `lib' prefix and version number. Move the deplibs check code from here... (AC_DEPLIBS_CHECK_METHOD): ...to here. 2001-08-05 Tim Mooney * libtool.m4 [osf3*, osf4*, osf5*]: Tru64 *can* build modules without a `lib' prefix to the module name. 2001-08-05 Gary V. Vuaghan From Guido Draheim : * ltmain.in: Display better and different error messages when library linkage fails in various ways. 2001-08-05 Albert Chin-A-Young * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Add newline after terminating '}' grouping character. Change '[0-9][0-9]' to '0' as we've already matched it. 2001-08-05 Gary V. Vaughan From Brad : * libtool.m4 (archive_cmds) [darwin, newsos, sysv4]: Replace 1.3 era $linkopts references with $linker_flags. * libltdl/ltdl.c: Fixed several careless mistakes in the foreach_dirinpath support functions. (foreach_dirinpath): Walk path elements with the argz API. 2001-08-04 Gary V. Vaughan From Sedi Master Albert Chin : * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Replace the awk invocation with an equivalent bit of sed wizardry. From Edouard G. Parmelan * libtool.m4 [darwin, openbsd]: Fix quoting problems with unquoted [] expressions. 2001-08-03 Gary V. Vaughan * bootstrap: s/ltdldemo // -- This demo soesn't work properly, so I haven't committed it yet. 2001-08-01 Ossama Othman * libtool.m4 (AC_LIBTOOL_SETUP): Require Autoconf-2.50 via the AC_PREREQ autoconf macro since the new libtool macros utilize macros from that version of Autoconf. 2001-08-01 Gary V. Vaughan * ltdl.m4: Bump serial number. General reformat and tify up in line with Autoconf-2.50 support. (AC_LTDL_FUNC_ARGZ): Test for system implementations of a handful of argz API calls, the error_t type, and the argz.h header. * libltdl/configure.ac (AM_INIT_AUTOMAKE): Bump version number. * libltdl/ltdl.c (rpl_argz_append, rpl_argz_create_sep. rpl_argz_insert, rpl_rgz_next): Fallback implementations of the similarly named functions for machines that don;t use glibc. (lt_dlrealloc): New memory function pointer that can be set by the client. Defaults to rpl_realloc, which in turn uses only lt_dlmalloc and lt_dlfree. (LT_EMALLOC, LT_EREALLOC): Set internal out-of-memory error inside the functions called by these new macros. Simplified all callers by removing explicit client error reporting. (memmove): Fallback implementation of overlap safe memory copy function. (tryall_dlopen): Factorized common code into... (tryall_dlopen_module): ...this new helper function. (canonicalize_path): Changed function signature to return success or failure. Updated all callers. (foreachfile_callback): Make use of argz API. (LT_DLSTRLEN): Moved from here... * libltdl/ltdl.h (LT_STRLEN): ...to here. Updated all callers. (lt_dlrealloc): Declare new memory management handle. 2001-07-31 Robert Boehne * libtool.m4 (mingw*) Revert the previous change as it was applied by mistake. 2001-07-31 Guido Draheim * libtool.m4 (mingw*) sys_lib_search_path_spec: Sets the proper path separator for cross-compiling. 2001-07-30 Steve Ellcey * libtool.m4 (ia64-*-hpux*) Add support for ia64*-*-hpux* platform. 2001-07-30 Robert Boehne * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Fixed an incorrect resetting of lt_prog_compiler_static when using gcc under AIX Power. 2001-07-31 Gary V. Vaughan * bootstrap: Remove generated files (incase they are links) before rerunning the autotools to regenerate them. 2001-07-30 Gary V. Vaughan * libtool.m4 (AC_LIBTOOL_SETUP): Use Autoconf-2.50 era quadrigraphs and AC_HELP_STRING to bring AC_ARG_WITH/ENABLE macros up to date. (_LT_AC_LOCK): Ditto. (_LT_AC_TAGCONFIG): Ditto. (AC_PROG_LD): Ditto. (AC_ENABLE_SHARED): Ditto. And eliminate the last remaining changequote invocations. (AC_ENABLE_STATIC): Ditto. And Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. And Ditto. * ltdl.m4 (AC_LTDL_ENABLE_INSTALL): Use Autoconf-2.50 era quadrigraphs and AC_HELP_STRING to bring AC_ARG_ENABLE macro up to date. * NEWS: Updated. * libtool.m4 [UnixWare7, OpenUNIX8]: Initial support for UnixWare7 and OpenUNIX8. Accept these identifiers from the latest config.guess/config.sub as pseudonyms for sysv5uw[78]. * NEWS: Updated. Reported by Boyd Lynn Gerber 2001-07-29 Gary V. Vaughan * tests/sh.test: Add a new test to enforce X as the fill character in `test "X...'. Beef up the `test' tests to also check `test -.' and `test ! -.' phrases for compliance. * ltmain.in: Fix quoting problems uncovered by the new tests. 2001-07-29 Andrew C. Feren * tests/sh.test: New test to disallow `test $foo', where `test "$foo"' is much safer. * ltmain.in: Fix quoting problems uncovered by the new test. 2001-07-29 Steve Ellcey * libtool.m4 (lt_cv_sys_global_symbol_to_cdecl): Change it from "extern char" to "extern int" so that GCC 3.0 won't complain and refuse to compile programs containing "extern char main()". 2001-07-29 Gary V. Vaughan From Guido Draheim : * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Support cross compilation to mingw by allowing `:' or ';' as a path separator. * NEWS: Updated. 2001-07-27 NIIBE Yutaka * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all for sh*-*-linux* (SuperH) too. 2001-07-25 Ossama Othman From Thomas Poindessous * ltmain.in (pic_mode): Added missing quotes around shell variable in "if test" conditional. From Peter Moulder * ltmain.in (xform): Add support for pre-processed (e.g. `*.{i,ii}' sources). 2001-07-25 Gary V. Vaughan From Steve Ellcey : * libltdl/ltdl.c (foreach_dirinpath): Free unassigned pointer fix for `canonical'. 2001-07-23 Robert Boehne * libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG, AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Fixed a mispelled binder option under AIX. The option to throw errors for unresolved external references is -bernotok, not -bnoerok. 2001-07-23 Gary V. Vaughan * Makefile.am (EXTRA_DIST): Don't forget to distribute ChangeLog.1. From Erik Lindahl * libtool.m4 (_LT_AC_SYS_LIBPATH_AIX): Used on aix to discover the compiler's default library search path so that the MPI compiler suite is not hosed by the previously hardcoded path. * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [aix4*, aix5*]: Use it. 2001-07-23 Andreas Schwab * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for s390*-*-linux* and m68*-*-linux*. 2001-07-19 Robert Boehne * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix tag support problems with CXX variables being overwritten by the individual macros. (AC_LIBTOOL_PROG_CC_C_O): Ditto. (AC_LIBTOOL_PROG_COMPILER_PIC): Ditto. (AC_LIBTOOL_LANG_CXX_CONFIG): Moved call to AC_LIBTOOL_SYS_HARD_LINK_LOCKS after the call to AC_LIBTOOL_PROG_CC_C_O as it depends on the result. (AC_LIBTOOL_LANG_GCJ_CONFIG): Ditto. (AC_LIBTOOL_LANG_C_CONFIG): Ditto. (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Used the macro _LT_AC_TAGVAR to ensure the correct variable is being queried. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Changed the naming of shared objects under IRIX back to what it was in the MLB. 2001-07-23 Mark Kettenis * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN) [gnu*]: Remove spurious "break" and bogus comment (_LT_AC_LANG_CXX_CONFIG): Add support for the Hurd. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): Add support for the Hurd. 2001-07-16 Robert Boehne , Tim Mooney * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): add cases and comments for more platforms, including AIX, Digital/Tru64 UNIX and IRIX. 2001-07-16 Gary V. Vaughan * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix ia64 AIX run-time-linking when not using gcc. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. Reported by Dan McNichol 2001-07-12 Gary V. Vaughan From dda@sleepycat.com (Don Anderson): * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [qnx]: New supported architecture. (AC_DEPLIBS_CHECK_METHOD) [qnx]: Ditto. * NEWS: Updated. From Stefan Ondrejicka : * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [cygwin*]: Make sure that /lib/w32api is searched for system libraries to match recent versions of cygwin. * NEWS: Updated. 2001-07-12 Dan McNichol From albert chin * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Fix AIX run-time-linking when using gcc. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. 2001-07-11 Gary V. Vaughan * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, solaris]: Doh! the evalled variable shouldn't have been quoted. * libtool.m4 (_LT_AC_LANG_CXX_CONFIG) [hpux, linux, osf, solaris]: output_verbose_link_cmd have unquoted `*' in case statements for these architectures. Be sure to quote them with a sed expression before passing to eval. Reported by Tim Mooney 2001-07-09 Gary V. Vaughan * README-alpha: s/configure.in/configure.ac. * configure.ac: Bumped version to 1.4c. GNU libtool 1.4b was released. * configure.ac: Bumped version to 1.4b. * NEWS: updated. * config.guess, config.sub, texinfo.tex: Synchronised from ftp.gnu.org. 2001-07-09 Robert Boehne From Michael Elizabeth Chastain : * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len to a maximum of 512Kb, as it seems some HPUX 11.0 systems have trouble with 1MB. 2001-07-09 Gary V. Vaughan * README-alpha: Upgrade distribution instructions to include canonical location of texinfo.tex. 2001-07-09 Timothy Wall * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS): Don't disable shlibs on AIX5/IA64 with GNU ld. Keep gnu defaults if using gnu tools on AIX5/IA64. 2001-07-09 Robert Boehne * libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Set max_cmd_len to -1 on hurd, it has no command line argument limits. * ltmain.in Handle max_cmd_len=-1 for systems that don't have command line argument limits. 2001-07-05 Gary V. Vaughan * libtool.m4 (_LT_AC_LANG_C_CONFIG): Revert to 1.3.x sematics, and always build static libs when the host machine cannot build shared libs. Even if static libs were explicitly disabled. 2001-07-02 Gary V. Vaughan Cleanup of libltdl: * ltdl.c (lt_dladderror): Don't use `index' as a variable name, since it is a function on BSD based boxes. (lt_dlseterror): Ditto. (lt_dlexit): Remove unused errormsg declaration. (foreach_dirinpath): Make sure filename is initialised. (find_handle): Return NULL for a failed search. (foreachfile_callback): Don't reuse data2 symbol from prototype in func declaration to prevent symbol shadowing. * ltdl.h (lt_dlmutex_seterror): Don't use `error' as a parameter name, since it is a function on glibc boxes. * libtoolize.in: Display --version in the same format as autoconf and automake. * ltmain.in: Ditto. 2001-06-30 Gary V. Vaughan Merge test improvements from multi-language-branch: * tests/defs: Find and set the value of CC probed by libtool.m4 * tests/link-2.test: Use a .lo wrapper script, and the value of CC set by defs instead of hardcoding gcc. * tests/link.test: Use the value of CC set by defs instead of hardcoding gcc. * tests/quote.test: Ditto. * tests/suffix.test: Ditto. * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [aix*]: Always set lt_prog_compiler_wl to `-Wl'. Reported by Albert Chin-A-Young * ltdl.m4 (AC_LTDL_DLLIB) [sco3.2*]: When searching for a dlopen implementation, and adding `-ldl' has failed, try linking a call to dlopen, #including dlfcn.h, and without -ldl. On sco3.2 the header files redefines the interface symbols to point at the implementation symbols in libc. Reported by "Golubev I. N." 2001-06-29 Tim Van Holder General cleanup of autoconf-2.50 upgrade: * configure.ac: Mark as needing autoconf-mode in emacs. Pass arguments to AC_INIT. * cdemo/configure.ac: Ditto. * demo/configure.ac: Ditto. * depdemo/configure.ac: Ditto. * libltdl/configure.ac: Ditto. * mdemo/configure.ac: Ditto. * pdemo/configure.ac: Ditto. * tagdemo/configure.ac: Ditto. * ltdl.m4: Mark as needing autoconf-mode in emacs. * libtool.m4: Mark as needing autoconf-mode in emacs. Don't add () to AS_MESSAGE_LOG_FD. * libltdl/configure.ac: Use config-h.in as template for config.h. * tagdemo/configure.ac: Drop the AC_DIAGNOSTIC. Move AC_LANG([C++]) after the OBJEXT/EXEEXT check. 2001-06-29 Gary V. Vaughan From Tim Van Holder * tests/suffix.test: Typo in 2nd for loop. From Tim Van Holder * libltdl/Makefile.am (OBJECTS): This was an implicit variable. instead state the list of object variables explicitly. From Bruno Haible * libtool.m4: undefine the m4 builtin `symbols', so that the string `symbols' can be used in the rest of the code without causing errors with autoconf-2.13. From "Golubev I. N." * tests/Makefile.am (CPPLAGS): Typo. s/CPPLAGS/CPPFLAGS. * mdemo/Makefile,am (foo1_la_LIBADD): Add libsub.la, since foo1 does use symbols from libsub.la -- only platforms that allow undefined symbols in libraries were able to cope with this previously. Reported by Robert Collins From "Golubev I. N." * libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS) [sco3.2v5*]: Needs -wl,-Bexport to make self dlopen work. 2001-06-28 Gary V. Vaughan From Alexander Bluhm * libltdl/ltdl.c (lt_dlopen): Fix bad memory initialisation assumptions. * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE) [HPUX]: Define lt_cv_sys_global_symbol_to_c_name_address to be a sed expression for mangling the output of the symbol pipe into a brace delimited C declaration of symbol name and address. * ltmain.in: Use it to generate the fooS.c symbol name Reported by Albert Chin-A-Young 2001-06-28 Tim Van Holder , Gary V. Vaughan * bootstrap: Use cp instead of ln -s, for systems without symlinks. Reorder the statements to avoid repetition outside the loop. 2001-06-28 Paolo Bonzini , Gary V. Vaughan Libtool now builds with the help of Autoconf-2.50! * configure.ac (AC_PREREQ): Require Autoconf-2.50 or newer. (AC_PROG_CPP, AC_EXEEXT, AC_OBJEXT): Removed. Autoconf-2.50 doesn't have the AC_REQUIRE bug that required these to be called explicitly from here. Autoconf-2.50 uses this file instead of... * configure.in: ...this, which is now deleted. * cdemo/configure.ac, cdemo/configure.in: Ditto. * demo/configure.ac, demo/configure.in: Ditto. * depdemo/configure.ac, depdemo/configure.in: Ditto. * libltdl/configure.ac, libltdl/configure.in: Ditto. * mdemo/configure.ac, mdemo/configure.in: Ditto. * pdemo/configure.ac, pdemo/configure.in: Ditto. * tagdemo/configure.ac, tagdemo/configure.in: Ditto. * libltdl/acconfig.h: Deleted. * Makefile.am (libtool): libtool now depends on configure.ac. * libtool.m4 (_LT_AC_LOCK): Use 2.50's AC_LANG_PUSH/AC_LANG_POP instead of 2.13's AC_LANG_SAVE/AC_LANG_RESTORE. (AC_LIBTOOL_LANG_C_CONFIG): Ditto. (AC_LIBTOOL_LANG_CXX_CONFIG): Ditto. * libtoolize.in: Use $configure_ac, instead of hardcoding configure.in. 2001-06-28 Tim Van Holder * pdemo/Makefile.am: Use '=' instead of '+=' to shut up automake. 2001-06-27 Gary V. Vaughan From brad@openbsd.org: * NEWS: Updated. * libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [openbsd]: Improved support for various openbsd platforms. (AC_LIBTOOL_PROG_LD_SHLIBS): Ditto. * ltmain.in: Ditto, 2001-06-26 Gary V. Vaughan * NEWS: Updated. * libltdl/ltdl,c (LT_DLMUTEX_LOCK): Renamed from MUTEX_LOCK to avoid potential namespace clash. (LT_DLMUTEX_UNLOCK, LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR): Ditto. (lt_dlmutex_lock_func): Renamed from mutex_lock to avoid a namespace clash of NCR MP-RAS. (lt_dlmutex_unlock_func, lt_dlmutex_seterror_func, lt_dlmutex_geterror_func): Ditto. Reported by Edouard G. Parmelan * libltdl/ltdl.c (LT_DLSTRLEN): Call strlen only if the argument is non-NULL and non-zero in length. Changed all calls to strlen appropriately. * libltdl/ltdl.c: Prototype all static functions. * ltdl.m4: Bump serial number to 3. (AC_LIB_LTDL): Require AC_HEADER_DIRENT for ltdl.c. * libltdl/ltdl.h (lt_dlforeachfile): Prototype for new function. * libltdl/ltdl.c: Include an appropriate header for the opendir/dirent api. (foreach_dirinpath): Visit each file in a list of directories. (find_file_callback): Factor out the core of find_file() to make use of foreach_dirinpath(). (find_file): Use it! (find_handle_callback, find_handle): Ditto. (lt_dlforeachfile): New function to find files in a searchpath.,, (foreachfile_callback): ...using this callback. * doc/libtool.texi (Libltdl interface): Document new lt_dlforeachfile api call. 2001-06-25 Gary V. Vaughan * THANKS: Added Albert Chin-A-Young. * libtool.m4 (IFS): When IFS is changed to split a string for examination in a loop, restore it inside the loop as well as outside incase IFS is needed by commands in that loop. Reported by Pavel Roskin 2001-06-25 Albert Chin-A-Young * libtool.m4: Prefer shl_load to dlopen on HP-UX because dlopen won't work properly without a patch. 2001-06-25 Daniel Harvey * libtool.m4 (ltdll_cmds): [$]0 doesn't appear to translate through the script correctly, change to $''0 2001-06-25 Maciej W. Rozycki * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for mips-*-linux* and mipsel-*-linux*. 2001-06-24 Andreas Schwab * libtool.m4 (AC_LIBTOOL_SETUP): Remove failed try to transform linux to linux-gnu in $host. (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Match $host_os against linux*, not linux-gnu*. (AC_DEPLIBS_CHECK_METHOD): Likewise. 2001-06-24 Gary V. Vaughan * libtool.m4 (_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR): Set PATH_SEPARATOR appropriately if it is not set already, (_LT_AC_TAGCONFIG): Use it. (AC_ENABLE_SHARED): Ditto. (AC_ENABLE_STATIC): Ditto. (AC_ENABLE_FAST_INSTALL): Ditto. (AC_PATH_TOOL_PREFIX): Ditto. (AC_PATH_MAGIC): Ditto. (AC_PATH_PROG_NM): Ditto. From Tim Van Holder : * libtool.m4: Use the canonical absolute path test ([\\/]* | ?:[\\/]) and $PATH_SEPARATOR wherever appropriate. (AC_LIBTOOL_PROG_CC_PIC): Properly recognize DJGPP as a platform that doesn't support shared libraries. (AC_LIBTOOL_SYS_MAX_CMD_LEN): Avoid this test on DJGPP; use a fixed value (12K) instead. (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't forget $ac_exeext when testing for link success. * configure.in (AM_INIT_AUTOMAKE): Bumped version to 1.4a. Complete the new configure time tags creation facility based on the ltcf-*.sh and ltconfig.in files from multi-language-branch: * libtool.m4: More refactoring and reformatting. (_LT_AC_LANG_GCJ_CONFIG): Merged ltcf-gcj.sh from multi-language-branch. (_LT_AC_LANG_CXX_CONFIG): Merged ltcf-cxx.sh from multi-language-branch. * configure.in (AC_PROG_CXX, LT_AC_PROG_GCJ): Compiler checks must be done before AC_PROG_LIBTOOL which appends tags based on their results. 2001-06-12 Robert Boehne * docs/libtool.texi: Updated the libltdl interface documentation to bring it up to date. 2001-06-06 Gary V. Vaughan * demo/Makefile.am (objdir): Use `libtool --config' for extracting configuration values, since a given value may be present in each tag. (hc-libpath): Ditto. (hc-minusL): Ditto. * libtool.m4 (_LT_AC_TAGCONFIG): Add tagged configurations from the --with-tags option. (_LT_AC_LTCONFIG_HACK): Factored out into separate configuration macros -- The interdependencies and running order are still immutable, and need a lot of work to fix. (AC_LIBTOOL_CONFIG): Taken from the previous incarnation of _LT_AC_LTCONFIG_HACK -- this macro is used both to create the primary (C language) libtool configuration from _LT_AC_LTCONFIG_HACK and also to append tagged configurations from _LT_AC_TAGCONFIG. * NEWS: Merged from multi-language-branch. 2001-06-06 Robert Boehne * bootstrap: Added tagdemo and pdemo tests from multi-language-branch. * configure.in: Added pdemo and tagdemo to CONF_SUBDIRS and merged references to CXX and GCJ from multi-language-branch. * pdemo: Added test directory from multi-language-branch. * tagdemo: Added test directory from multi-language-branch. * tests/Makefile.am: Merged additional tests from multi-language-branch. * tests/pdemo-*.test: ditto. * tests/tagdemo-*.test: ditto. 2001-05-30 Gary V. Vaughan * libtool.m4: Merged ltconfig.in from multi-language-branch. 2001-05-28 Gary V. Vaughan * libtool.m4: Reformatting for consistency, and some refactoring in preparation for ltcf-*.sh merge. 2001-05-27 Gary V. Vaughan * ltmain.in: Merged from multi-language-branch. * libtool.m4: Merged from multi-language-branch. * ChangeLog: Started afresh. Old ChangeLog history moved to... * ChangeLog.1: ...here. 2000-06-04 Mark Mitchell * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, with_gcc]: Use `gcc -shared' to build a shared library. 2001-06-04 John David Anglin * ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared archives. 2001-05-28 Simon Patarin * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared libraries when using g++ with native linker. 2001-05-28 Albert Chin * ltconfig.in (version_type, soname_spec) [aix4* | aix5*]: Use linux-style versioning, and remove trailing .o from soname_spec. 2001-05-22 Alexandre Oliva * ltcf-cxx.sh (allow_undefined_flag, no_undefined_flag) [aix4*|aix5*]: Prepend blank. 2001-05-20 Alexandre Oliva * configure.in: Reverted to 1.4, to avoid confusion with MLB. Mainline is the release snapshot, except for the ChangeLog version number, until the multi-language branch is merged into it. * ltconfig.in: Fix sh.test regression introduced in previous patch. * ltconfig.in (lt_cv_sys_max_cmd_len): Improve test to work better in case of non-built-in echo. Set bounds correctly. * ltcf-cxx.sh (allow_undefined_flag) [aix4* | aix5*]: Fix quote error. * ltmain.in (exec_cmd): New variable. Don't exec programs within the big `case'; set the variable instead, and exec the cmd afterwards, so that the shell gets a chance to clean up here-doc files. * NEWS: Update. 2001-05-16 Alan Modra * libtool.m4 (lt_cv_deplibs_check_method): pass_all for hppa*-linux. 2001-05-03 Andreas Jaeger , Andreas Schwab * ltmain.in (relink_command): Arrange for wrapper script to save output to a variable and display it only if relinking fails. 2001-04-25 Gary V. Vaughan * configure.in: bumped version to 1.4a. GNU libtool 1.4 was released. * configure.in: Bumped version to 1.4. * config.sub, config.guess: Synchronised from ftp.gnu.org. * NEWS: updated. 2001-04-24 Peter Eisentraut * libtool.m4: Support $host_os as /sysv5uw7*/ from newer config.guess in addition to older /unixware*/. Use compiler driver, not linker, for linking shared libraries. 2001-04-24 Gary V. Vaughan * libtool.m4, ltmain.in, libltdl/configure.in, tests/quote.test: Remove stale references to ltconfig. * ltdl.m4 (AC_C_INLINE): No longer required. * libltdl/ltdl.c (strdup, strcmp, strchr, strrchr, memcpy, trim, free_vars): Revoke inline keyword from declarations. `static inline' is not very portable, and in addition Unixware 7.1.1's compiler says you can't access static variables from inline functions. Reported by Peter Eisentraut 2001-04-24 Albert Chin-A-Young * libtool.m4: Handle case where /bin/nm -p outputs multiple symbol types (like under HP-UX 11.00). 2001-04-24 Thomas Tanner * TODO: describe problems with libltdl * ltmain.in (ILD): tidy up, add comments, remove dead code, merge duplicate code * ltmain.in (ILD): don't touch newdependency_libs after scan or dlopen pass * ltmain.in (ILD): don't dlpreopen dependency_libs of a dlopened module (remove absolutely wrong quick hack) * ltmain.in (ILD): remove wrong comments about duplicate removal * ltmain.in (ILD): build a static-only module if it has static libraries in its dependencies (so that libltdl can safely load dependency_libs) * ltmain.in (argument parsing): prefix comparsions of -l args with X, replace -lc with `-framework System' _after_ the ILD passes * ltmain.in (argument parsing): support dl[pre]open for both .o and .lo files * ltmain.in (deplibs_check): use portable test syntax * ltmain.in (help): document -prefer-[non-]pic flags * ltmain.in: improve readablity by adding some comments, rename uninst_* to notinst_* (more adequate name) 2001-04-24 Gary V. Vaughan * doc/PLATFORMS: More updates from subscribers to libtool@gnu.org. From Tim Mooney * tests/Makefile.am (TESTS_ENVIRONMENT): Make sure the *.test scripts get the same make that was used in the top level directory. 2001-04-23 Gary V. Vaughan * doc/PLATFORMS: Updated with more platforms successfully tested by members of libtool@gnu.org. 2001-04-23 Peter Eisentraut * doc/PLATFORMS: With this patch, freebsd4.3 passes the test suite. * libltdl/ltdl.c (lt_dlexit): Quit loop if only resident modules are left. 2001-04-23 Gary V. Vaughan * doc/PLATFORMS: With this patch, my Solaris boxes now pass the test suite, Yay! From Albert Chin-A-Young * ltmain.in: `test -L' is not portable, and infact breaks uninstall mode on Solaris. Fallback to `test -h' and finally `test -f', but be careful not to let the failure status cause libtool to stop. From Simon Spero * ltdl.m4 (AC_LTDL_DLSYM_USCORE): Add $LIBADD_DL while checking for dlsym _. From Simon Spero * libtool.m4 (lt_cv_deplibs_check_method) [darwin]: Set it! * TODO: Make a note to undo this later. From Christoph Pfisterer * libtool.m4: Use $() execution substitution quotation to work around zsh builtin echo \ escape removal. 2001-04-22 Peter Eisentraut * bootstrap: Allow overriding the location aclocal, automake, autoconf, autoheader from the environment. * demo/Makefile.am: Automake 1.4e does not allow `+=' assignments if the variable was not set with `=' earlier. `+=' was not useful here anyway. 2001-04-22 Gary V. Vaughan * ltdl.m4 (AC_CHECK_HEADERS): UW7 has sys/dl.h, so we must check for that here. * libltdl/ltdl.c (HAVE_SYS_DL_H): Include it if necessary for the dlopen loader. Reported by Matthew Schalit * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use pass_all for various releases of UnixWare and OpenServer that support it. Reported by Matthew Schalit * doc/PLATFORMS: Updated with various platforms successfully tested by members of libtool@gnu.org. 2001-04-21 Gary V. Vaughan * TODO: propose pkg-config merge. 2001-04-21 Nick Hudson * ltmain.in: Correct an error in yesterday's patch. 2001-04-20 Nick Hudson * libtool.m4: Improve NetBSD support. * ltmain.in: ditto. 2001-04-19 Dan McNichol * libtool.m4: Build standard shared libraries on AIX POWER more like AIX does, with a shared object archived into lib.a. On AIX -bexpall flag does strange things... Don't use it. Fix quotes around -berok flag. Add support for AIX 5. Add support for run time linking on AIX POWER. (should work on AIX 4.2 and up). Turn this feature on by adding -brtl flag to LD_FLAGS. Add support for AIX on IA64. Note: AIX on IA64 uses a SYSV type linker. Add a comment telling what to do if the TOC starts getting too large on AIX. * NEWS: mention aix5 support. 2001-04-18 Alexandre Oliva * TODO: Add -L- flag. 2001-04-11 Alexandre Oliva * libtool.m4 (no_undefined_flag) [Solaris ld]: Change to -zdefs. 2001-04-11 Ossama Othman * AUTHORS: Added myself to the list of maintainers. 2001-04-08 Gary V. Vaughan * libtool.m4 (hardcode_libdir_flag_spec, osf4/osf5): Use ${wl} to pass -rpath when compiling with gcc. Reported by Tim Mooney * libltdl/ltdl.c (sys_shl_open): Cache a handle for the `self' module, since HPUX adds module symbols into the `self' pool if it is opened later. Return the cached pointer if the caller subsequently tries to open `self'. (sys_shl_sym): Diagnose NULL modules. From Peter Eisentraut * ltmain.in (clean,uninstall): test -e is not portable. Well, neither is -L, but I'm hoping that redirecting error messages to /dev/null and relying on non-zero exit status will work okay on the few hosts that don't support -L. 2001-04-08 Nick Hudson * ltmain.in: Improve check for valid -version-info parameter. 2001-04-08 Gary V. Vaughan From Nick Hudson * doc/Makefile.am (libtool_TEXINFOS): Add fdl.texi so that it is included in the distribution. 2001-04-07 Peter Eisentraut * ltmain.in (clean,uninstall): Do not error if the file doesn't exist and 'rm -f' was used. Exit with status 1 on error. 2001-04-06 Nick Hudson * ltmain.in: Implement a new deplibs_check_method called match_pattern that does pattern matching on filenames... * libtool.m4: ...use it with NetBSD 2001-04-05 Gary V. Vaughan * doc/libtool.texi (Multiple dependencies): A note about the problems I've reintroduced by reverting the my patch of 2001-03-31. From Edward Lee * libtool.m4: Typos. * tests/Makefile.am (TESTS): Delete references to depdemo-dups.test. * tests/depdemo-dups.test: Removed, as part of the patch reversion below. * ltmain.in: Revert my change from 2001-03-31. Although it was technically correct, it opens a whole can of worms we don't want to deal with right now. From Ahmed Masud * libltdl/ltdl.c (sys_shl_open): Return a NULL module handle for self opening. (sys_shl_close): Be careful not to close a NULL module handle. (sys_shl_sym): Allow shl_findsym() to open NULL modules, but discard the modified module address it returns. * libltdl/ltdl.c (lt_dlopen): When reading the .la file, reallocate the line buffer size if the line overflows the original buffer. Reported by Nick Hudson * NEWS (1.3d) Removed bogus ltconfig reference. 2001-04-03 Gary V. Vaughan * libtool.m4 (_LT_AC_LTCONFIG_HACK): Remove the spurious `dnl' from the help text of --with-pic. Reported by stefan 2001-04-02 Gary V. Vaughan * configure.in: bumped version to 1.3e. GNU libtool 1.3d was released. * NEWS: inserted todays date. 2001-04-01 Christoph Pfisterer * libtool.m4: Fixed support for Darwin and Rhapsody. Now correctly hardcodes the library path and adds versioning. Other small fixes. * ltmain.in: Fixed special cases for libc and libm on Rhapsody and Darwin. One of them was misplaced. Added version_type case for Rhapsody and Darwin, named "darwin". 2001-03-31 Gary V. Vaughan * ltmain.in: Remove the code for stripping duplicate deplibs from libtool link lines -- duplicates are somtimes necessary to satisfy inter-library dependencies, and never cause link to fail even if they are spurious. * tests/depdemo-dups.test: New file. Make sure this bug doesn't creep back in again! * tests/Makefile.am (TESTS): Use the new test above. 2001-03-29 Edward M. Lee * libtoolize.in: Check configure.ac and prefer configure.ac to configure.in. * libtoolize.in: change recommendation from AM_PROG_LIBTOOL to AC_PROG_LIBTOOL. * libtool.m4: Generate dll/import libraries for cygwin according to the following: libFOO.a (static lib), libFOO.dll.a (import lib), cygFOO-version.dll (dll). Update postinstall_cmds and postuninstall_cmds to reflect this. * ltmain.in: Generate installed .la files with dlnames set to ../bin/cygFOO-version.dll for normal dlls. dlls for modules remain with the .la file. * libltdl/ltdl.c: Use windows paths while calling LoadLibrary. 2001-03-16 Albert Chin * libtool.m4 (save_CPPFLAGS): Fix typo. 2001-03-13 Alexandre Oliva * libtool.m4 (lt_cv_compiler_c_o): Cache it. (lt_cv_compiler_o_lo): Likewise. 2001-03-09 Peter Eisentraut * ltmain.in (clean): Automatically remove $objdir (usually '.libs'). 2001-03-08 Gary V. Vaughan * ltconfig.in (library_names_spec): Undo latin-1 spaces I pasted in yesterday by mistake. 2001-03-07 Gary V. Vaughan From Tor Lillqvist * libtool.m4 (export_symbols): On Windows, if the export_symbols file (which has been passed to libtool with the -export-symbols command line switch) already is a .def file, use it as is. * libtool.m4 (library_names_spec): Using m4 quotes correctly this time around! From Tor Lillqvist * libtool.m4 (library_names_spec): Use an appropriate filename prefix for dlls -- lib for mingw; cyg for cygwin; pw for pw32. 2001-03-06 Alexandre Oliva * libtool.m4 (can_build_shared) [AIX 4.[01], GCC]: GCC up to 2.96 can't build shared libraries reliably. Disable them. * ltmain.in: When dropping dependencies of a -no-undefined library, give up on building a shared library. 2001-03-05 Akim Demaille * ltmain.sh: Don't quote the argument of case/esac and assignments. * libtool.m4: Likewise. 2001-03-03 Markus F.X.J. Oberhumer , Alexandre Oliva * libtool.m4: Added explicit return type to all C functions. 2001-02-22 Gary Vaughan * NEWS: Updated. * doc/libtool.texi (Thread Safety in libltdl): New node describing the application the new MT API. * libltdl/ltdl.h: Prototypes. * libltdl/ltdl.c: Use these functions throughout the rest of the file to provide thread locking. (lt_dlmutex_register): New function to set callbacks for multi-threaded calls into libltdl. (lt_dl_mutex_lock): Type of a locking callback function. (lt_dl_mutex_lock): Type of an unlocking callback function. (lt_dl_mutex_seterror): Type of a callback function to save the last libltdl error message in thread local storage. (lt_dl_mutex_geterror): Type of a callback function to retrieve the last saved error message from thread local storage. 2001-02-20 Gary Vaughan * libltdl/ltdl.c (lt_dlcaller_register): dont set an unsigned type to a negative number. Reported by Guenter Millahn 2001-02-05 Gary V. Vaughan From Nick Hudson * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): netbsd* is able to automatically load module deplibs without assistance from libltdl. 2001-02-02 Gary V. Vaughan * libltdl/ltdl.c (load_deplibs): Make sure the depcount is reset, even when deplibs are not used because of the patch below. * ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): If we know that the host architecture automatically loads deplibs, then... * libltdl/ltdl.c (load_deplibs): ...don't manually load each one. 2001-01-31 Gary V. Vaughan * TODO: Updated. * libltdl/ltdl.c (load_deplibs): If loading a deplib fails, don't sweat -- it may be a lib that is already statically linked into the loading application. * libltdl/ltdl.c: Clean up the shadowing of the global handles variable. (LT_DLRESIDENT_FLAGS): Add extra parens to satisfy -Wall. (load_deplibs): Cast isspace() argument to an int to satisfy -Wall. 2001-01-30 Robert Boehne * AUTHORS: added myself to the list of maintainers. 2001-01-28 Alexandre Oliva * libltdl/Makefile.am (CLEANFILES): Clean conditionally-built libraries. 2001-01-27 Alexandre Oliva * libtool.m4 (ld_shlibs) [aix4*]: Disable on unknown CPU types. 2001-01-07 Gary V. Vaughan * NEWS: Updated. * doc/libtool.texi (User defined module data): Updated. * libltdl/ltdl.c (lt_dlhandle_next): New function. * libltdl/ltdl.h (lt_dlhandle_next): Prototypes. 2001-01-05 Gary V. Vaughan * NEWS: Updated. * doc/libtool.texi (User defined module data): Document it all. * ltdl.m4: Check for memcpy, or else bcopy. * ltdl.c (lt_caller_data): New type. (lt_dl_handle_struct): Add an lt_caller_data field. (lt_dlcaller_register, lt_dlcaller_set_data, lt_dlcaller_get_data): New functions. (rpl_memcpy): A minimal fallback implementation. (rpl_realloc): A realloc implemented with lt_dlmalloc and lt_dlfree. (LT_DLMALLOC, LT_DLFREE, LT_DLREALLOC, LT_DLMEM_REASSIGN): New memory handling convenience macros. Use them appropriately throughout the rest of this file. * ltdl.h (lt_dlcaller_register, lt_dlcaller_set_data, lt_dlcaller_get_data): Prototyped. 2001-01-04 Gary V. Vaughan * libltdl/ltdl.h: formatting change. 2000-12-23 Gary V. Vaughan From vvv@vsu.ru: * doc/fdl.texi (GNU Free Documentation License): contained @bye command which prevented part of document to be generated (indices, etc). * doc/libtool.texi (Dlpreopening): the @deftypevar did not contain a space after a type. 2000-12-22 Akim Demaille * libtool.m4: s/[ \t]*$// 2000-12-22 Aneesh Kumar K.V * libtool.m4 (OSF/1): Revert my patch of 2000-12-16. 2000-12-20 Gary V. Vaughan * libltdl/ltdl.c (lt_dlexit): Was checking for residency of the wrong module. Reported by Robert Boehne * ltmain.in (dlprefiles): Now that `2000-12-15 Utz-Uwe Haus' patch below can detect preopened library deplibs correctly in libltdl, we need to ensure that libtool library deplibs are also preloaded into the binary for that phase to work. 2000-12-16 Aneesh Kumar K.V * libtool.m4 (OSF/1): Change the way to pass linker flags through compiler on a Tru64 machine. 2000-12-16 Gary V. Vaughan * libtool.m4 (sys_lib_search_path_spec): Use test instead of `['. (archive_cmds): And another one. * libtool.m4 (darwin*): Fixed a pair of stupid typos I made in the last patch. * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): moved rogue settings from sequent, ncr and newos6 back into here from other macros. 2000-12-16 Wilfredo Sanchez * libtool.m4: (dyld/darwin*) Much improved port. * ltmain.in: (dyld/darwin*) Much improved port. 2000-12-16 Sascha Schumann * libtool.m4: Accept darwin as an alias for rhapsody. * ltmain.in: ditto. * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use the HPUX 10.20 methods to check for library dependencies on HPUX 11. 2000-12-16 Nick Hudson * libtool.m4 (netbsd*, deplibs_check_method): Enable ILD support for NetBSD a.out. 2000-12-15 Akim Demaille * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Rename `ac_cv_sys_global_symbol_pipe' as `lt_cv_sys_global_symbol_pipe'. Similarly with `lt_cv_global_symbol_to_cdecl (_LT_AC_LTCONFIG_HACK): Similarly with `ac_cv_prog_cc_pic', `ac_cv_prog_cc_shlib', `ac_cv_prog_cc_wl', `ac_cv_prog_cc_static', `ac_cv_prog_cc_no_builtin', `ac_cv_prog_cc_can_build_shared', `ac_cv_prog_cc_static_works', `ac_cv_archive_cmds_need_lc'. (AC_PATH_TOOL_PREFIX): Similarly with `ac_cv_path_MAGIC_CMD' (AC_PROG_LD) : Likewise. (AC_PROG_LD_GNU) : Likewise. (AC_PROG_NM) : Likewise. 2000-12-15 Utz-Uwe Haus * libltdl/ltdl.c (lt_dlopen): Changed "dl_dependency_libs" keyword to "dependency_libs". 2000-12-14 Tod Milam * libltdl/ltdl.c (lt_dlexit): Reset the loaders value to zero when the last module has been unloaded. 2000-12-14 Michael Schmitz * libtool.m4: Port to *-sni-sysv4 (Reliant Unix) * README: added Reliant Unix to hte list of supported platforms * doc/PLATFORMS: added note on tests on Reliant Unix 2000-12-14 Masahiro Nobori * README: Updated. * NEWS: Updated. * libtool.m4: New port to NEWS-OS Release 6. 2000-12-14 Nick Hudson * libtool.m4 (hardcode_libdir_flag_spec): Remove linker specification for netbsd. 2000-12-14 Akim Demaille * libtool.m4: Don't depend on Autoconf internals: s/ac_cv_prog_gcc/GCC/. 2000-12-14 Gary V. Vaughan * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): Don't empty out ac_cv_global_symbol_to_cdecl inside the loop, incase we need to go around again and try with underscore prefix. (_LT_AC_TRY_DLOPEN_SELF): On some hosts (cygwin for instance) self dlclosing unloads the main program and causes a SIGSEGV. So don't do it for now. 2000-12-05 Gary V. Vaughan Oh My! Cygwin support has bitrotted while I was looking the other way. This should fix it some: * libtool.m4 (extract_expsyms_cmds): There is a quoting problem with autoconf-2.13 that prevents [$]0 from expanding. Use shell quotes instead to delay eval of $0. (impgen.c) The '# ' sequence stripped by sed works again. 2000-12-01 Gary V. Vaughan * doc/libtool.texi (Libltdl interface): Add documentation. * libltdl/ltdl.h (lt_dlmakeresident, lt_dlisresident): Add prototypes. (LT_DLERROR_CLOSE_RESIDENT_MODULE): New error status. * libltdl/ltdl.c (lt_dlmakeresident, lt_dlisresident): Allow making and testing of resident module status, which prevents a module from being lt_dlclosed. (lt_dlopen): If lt_dlopen()ing self, make the module resident. (lt_dlclose): Return an error if the module is resident. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Move the tests for dlopen from here... (AC_LIBTOOL_DLOPEN_SELF): ...to here. (_LT_AC_CHECK_DLFCN): Factor out repeated code for dlfcn.h (_LT_AC_TRY_DLOPEN_SELF): Factor out repeated code for checking dlopen status. * ltdl.m4 (AC_LIB_LTDL): Use _LT_AC_CHECK_DLFCN. dlopen compile time checking. Use _LT_AC_CHECK_DLFCN. (AC_LTDL_DLSYM_USCORE): Use _LT_AC_TRY_DLOPEN_SELF. 2000-11-29 Gary V. Vaughan * libltdl/ltdl.h (lt_dlhandle): Rename the wrapped structure to prevent nameclash when used from C++. * libltdl/ltdl.c: Fixed all references. 2000-11-25 Gary V. Vaughan * libltdl/ltdl.c (lt_dlopen): Change the default search order for modules. If the named module has no directory component, always start the search with the user_search_path directories, and then fall back on the current directory only if that fails. 2000-11-20 Gary V. Vaughan * libltdl/Makefile.am (libltdl_la_LDFLAGS): increment the version number to reflect the breakage of binary compatibility. * doc/libtool.texi (Libltdl interface): Document LT_NON_POSIX_NAMESPACE. * libltdl/ltdl.h (LT_POSIX_NAMESPACE): Deleted. The default is now to use this namespace, so the cpp macro is no longer necessary. 2000-11-20 Morten Eriksen * ltdl.m4 (AC_LIB_LTDL, AC_LTDL_SYMBOL_USCORE): Break a circular dependency between AC_LTDL_SYMBOL_USCORE and AC_LTDL_DLSYM_USCORE. 2000-11-20 Paul Berrevoets * ltmain.in: Some versions of expr respond with "0" if a regexp fails to match. 2000-11-19 Paul Berrevoets * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote the $ in $#, $2 and $3 in variable 'archive_expsym_cmds' for cygwin. 2000-11-19 Gary V. Vaughan * ltdl.c: Relegate non-POSIX-compliant symbols (e.g. those ending in ``_t'') to deprecated #define compatibility macros. Also ease up on the namespace pollution, so that only ``lt_'' and ``LT_'' prefixes are taken from the global namespace. * ltdl.h: ditto. 2000-11-17 Gary V. Vaughan * ltdl.c: Reformatted. * ltdl.h: ditto. 2000-11-11 Gary V. Vaughan * ltdl.m4 (AC_LTDL_SYMBOL_USCORE): Use $ac_ext for conftest sourcefile. * libtool.m4: Use $ac_ext and $ac_objext respectively for conftest sources and objects. Reported by Carlo Wood * doc/fdl.texi: New file. The license for distributing the libtool manual. * doc/libtool.texi: Reference the new license. 2000-10-31 Morten Eriksen * libtool.m4 (_LT_AC_LTCONFIG_HACK): Quote argument to avoid error output from cygpath when $srcdir is empty. 2000-10-31 Gary V. Vaughan * bootstrap: rm Makefiles to prevent infinite loop during configure when libtool.m4 is newer than Makefile. 2000-10-31 Akim Demaille * libtool.m4: Adjust the copyright notice. Quote all the macro names when defined. Some minor formatting changes. (AM_PROG_LIBTOOL, AM_ENABLE_SHARED, AM_ENABLE_STATIC) (AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_PROG_LD, AM_PROG_NM): Don't use indir when useless. Don't add trailing `dnl' either. 2000-10-30 Gary V. Vaughan * doc/libtool.texi: Corrected another attack of CRLF line endings. 2000-10-30 Ossama Othman * libtool.m4 (archive_expsym_cmds): Fix typo where line was broken in the middle of an expression. 2000-10-30 Aneesh Kumar K.V * libtool.m4 (archive_expsym_cmds): Support for -export-symbol option on Tru64. (hardcode_libdir_flag_spec): Fixed cxx throwing error while using libtool. Done by passing -rpath directlty to the compiler. 2000-10-27 Robert Boehne * docs/libtool.texi: Added pointers to documentation of Hewlett-Packard, Compaq Tru64 and IBM AIX systems. 2000-10-02 Gary V. Vaughan From Bruce Korb * ltmain.in (execute_dlfiles): Reduce obfuscation. 2000-09-30 Alexandre Oliva * libtool.m4 [netbsd*] (deplibs_check_method, file_magic_cmd, file_magic_test_file): Removed inappropriate duplicate definitions; these variables are set in AC_DEPLIBS_CHECK_METHOD. * libtool.m4 (lt_cv_file_magic_cmd): Don't use '${MAGIC_CMD}' or '${OBJDUMP}'; Solaris' /bin/sh loses with `}' in cache files. (ac_cv_path_MAGIC_CMD): Renamed to lt_cv_path_MAGIC_CMD. 2000-09-28 Gary V. Vaughan * libtool.m4 (MAGIC_CMD): Don't use MAGIC, since BSD versions of the file command use this environment variable to hold the location of the magic database. Reported by Marc Espie 2000-09-19 Gary V. Vaughan * doc/PLATFORMS: Updated. * demo/configure.in: Revert to the `libtool --features' test. * Makefile.am (libtool): This needs to rerun configure now that libtool is generated entirely by AC_PROG_LIBTOOL again. (ltconfig): Removed. (ltmain.sh): Is now regenerated when ltmain.in changes. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Now does all of the work for generating libtool immediately in configure.in, rather than deferring part of the creation until config.status runs. 2000-09-17 Gary V. Vaughan * bootstrap: Backed out yesterdays patch which is no longer necessary. * Makefile.am (libtool): Reworked rule for regeneration of libtool, now that it is built entirely withing config.status. (libtoolize): Tidied for orthogonality with the other generation rules. (ltconfig): This is now generated by AC_PROG_LIBTOOL, called from make by running config.status --recheck. (ltmain.sh): Moved primary generation of this file into here... * configure.in (AC_OUTPUT): ...instead of here. * libtool.m4 (AC_OUTPUT_COMMANDS): Write the config to ltconfig where it can be reused, rather than directly to libtool. * demo/configure.in: libtool is no longer present immediately after AC_LIBTOOL_M4 has completed, so the tests now grep through ltconfig instead -- which *will* be present. 2000-09-16 Gary V. Vaughan * TODO: Removed the item describing the change below, and added a similar item to remind us to change the ltdl.m4 macros again when _LT_AC_LTCONFIG_HACK is divided into proper macros. * ltdl.m4 (AC_LTDL_SNARF_CONFIG): Removed. No longet required now that ltconfig has migrated to libtool.m4. (AC_LTDL_SHLIBEXT): Require _LT_AC_LTCONFIG_HACK. (AC_LTDL_SHLIBPATH): ditto. (AC_LTDL_SYSSEARCHPATH): ditto. * ltdl.m4 (AC_LTDL_DLPREOPEN): Require the libtool.m4 symbol_pipe macro. (AC_LTDL_SYMBOL_USCORE): ditto. (AC_LTDL_GLOBAL_SYMBOL_PIPE): Removed, since it is a duplicate of... * libtool.m4 (AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): ...this new macro, extracted from _LT_AC_LTCONFIG_HACK. * ltdl.m4 (changequote): An audit of changequote and m4 quote usage -- all changequotes have been removed, and some latent unquoted `[' and `]' bugs have been fixed. * configure.in (AC_OUTPUT): ltmain.sh must be generated in the source tree since this is where it would be found in a freshly unrolled tarball. * configure.in: Replace `dnl' comments with `#' comments for more conformity with cvs autoconf. Removed emacs hack-local-variables, since there is now a proper Autoconf major mode. Removed a couple of changequote()s. * bootstrap (ltconfig): When bootstrapping libtool with a stock automake (i.e. without the README patch applied), references to ltconfig are manually removed from the generated Makefile.in files. 2000-09-15 Gary V. Vaughan * doc/libtool.texi: Removes references to ltconfig, and a small amount of tidying up to compensate. 2000-09-15 Nick Hudson * libtool.m4 (netbsd): Improved support. 2000-09-15 Gary V. Vaughan * ltmain.in (version_type): Use "-iface" as the windows versioning scheme, where iface is the number of the oldest interface supported. 2000-09-14 Gary V. Vaughan From Paul Sokolovsky * libtool.m4 (pw32): Initial support for pw32, assuming that libtool's behaviour in this environment is identical to under cygwin. * ltmain.in (pw32): ditto. * NEWS: Updated. * libtool.m4 (changequote): An audit of changequote and m4 quote usage -- all changequotes (except a few with non-nesting square brackets) have been removed. * Makefile.am (EXTRA_DIST): The bootstrap script should be distributed with libtool. 2000-09-13 Gary V. Vaughan libtool.m4 (_LT_AC_LTCONFIG_HACK): Oh man! Third time lucky. I just discovered that '&' needs to be escaped inside AC_TRY_EVAL. 2000-09-12 Michael Matz * ltmain.in: Be careful about filenames with multiple `.'s in them when calculating file extensions. Reported by Joel Reed 2000-09-12 Gary V. Vaughan libtool.m4 (AC_PROG_LIBTOOL): Removed, as it was triggering a bug in Autoconf-2.13 AC_REQUIRE implementation which inserted some of the expanded tests too early in the generaated configure. (_AC_PROG_LIBTOOL): renamed to AC_PROG_LIBTOOL, and defines itself to an empty expansion to prevent multiple expansions. configure.in (AC_LIBTOOL_SETUP): Replaced by a call to AC_PROG_LIBTOOL now that the AC_REQUIRE bug has been worked around. 2000-09-09 Gary V. Vaughan libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to escape the redirections inside AC_TRY_EVAL in the need_lc tests. Doh! libtool.m4 (_LT_AC_LTCONFIG_HACK): Forgot to redirect the output of grep to /dev/null in the need_lc tests. configure.in (AC_PROG_LIBTOOL): Using this in libtools own configure.in interacts badly with the AC_PROVIDE calls and results in several tests being inserted into configure too early. Use AC_LIBTOOL_SETUP instead. 2000-09-08 Gary V. Vaughan libtool.m4 (_LT_AC_LTCONFIG_HACK): The ltconfig.in code I ported from ltconfig.in was incomplete -- this is a backport of the missing code taken from the multi-language branch. 2000-09-07 Pavel Roskin * libtool.m4 (_LT_AC_LTCONFIG_HACK): Fixed incorrect use of changequote 2000-09-07 Gary V. Vaughan * NEWS: Updated. * TODO: Add a reminder to get rid of ltconfig in mlb. * README: Until things even out, I have added a note and a patch to make the installed automake cooperate with the new ltconfig free libtool. * libtool.m4 (_LT_AC_LTCONFIG_HACK): with_gcc is only useful in ltmain.sh as it has not yet been set in libtool.m4. Use $ac_cv_prog_gcc instead. * doc/PLATFORMS: Updated. * configure.in (AC_PROG_AWK): Removed -- no longer required by the build process. * lineno: ditto. * libtoolize.in (files): Don't try to install ltconfig -- it doesn't exist!! * bootstrap: Fake an ltconfig incase the installed automake calls an installed libtoolize (as part of its --add-missing process) which thinks ltconfig should be there. * libtool.m4 (_LT_AC_LTCONFIG_HACK): Deleted a vital `;;' terminator from a case statement by mistake. * Makefile.am (ltmain.sh): Make this depend on TSDEPS again so that the Changelog timestamp is used for ltmain.sh at `make dist' time. 2000-09-06 Gary V. Vaughan libtool.m4 now contains a version of the code that used to run from ltconfig, so that ltmain.sh and then libtool are generated at configure time. * Makefile.am: Don't generate ltmain.sh or ltconfig anymore. * bootstrap: ltconfig is no more! * configure.in: Call AC_PROG_LIBTOOL directly. (AC_OUTPUT): Generate tmain.sh. * libtool.m4: Don't build an argument list for ltconfig. (_LT_AC_LTCONFIG_HACK): Refactoring of the former contents of ltconfig.in to take advantage of the m4 macros from autoconf. * ltmain.in: Don't do a version check against ltconfig. * tests/assign.test: Remove reference to ltconfig. * tests/hardcode.test: ditto. * tests/sh.test: ditto. 2000-09-05 Alexandre Oliva * depdemo/main.c: Support -alt. * tests/build-relink2.test: Try it. * ltconfig.in: Removed all references to what used to be hardcode_into_libs=all. 2000-09-03's patch was wrong. * ltmain.in: Likewise. * tests/build-relink.test, tests/build-relink2.test: Adjust. * mdemo/Makefile.am (lib_LTLIBRARIES): Move libsub.la before libfoo2.la, so that they're installed in the right order. 2000-09-04 Alexandre Oliva * tests/dryrun.test: Build libsub.la along with the object files, since it is needed by libfoo2.la. * mdemo/Makefile.am: Mark only libfoo2 as -no-undefined. Explicitly link it with libsub.la. * ltconfig.in (need_lc): Preserve allow_undefined_flag. * tests/*.test (CONFIG_SITE): Ultrix's /bin/sh fails on `. /dev/null'. Set CONFIG_SITE to /dev/null/config/site, to make sure we pick a non-existent file. * Makefile.am (libtool, clibtool): Pass CONFIG_SHELL along with ECHO down to ltconfig. * ltconfig.in (hardcode_libdir_flag_spec, export_dynamic_flag_spec): Use ${wl}, not ${wlarc}. * ltmain.in (compile, need_lock): Don't create nor remove lock files in dry runs. * libltdl/ltdl.c (load_deplibs): Don't append shlib_ext; use lt_dlopenext() instead. * ltmain.in (link -static): Don't add $link_static_flag; only -all-static should do that. * mdemo/configure.in: Revert part of the previous delta. * mdemo/configure.in: Don't use -static on AIX4.1. * mdemo/Makefile.am: Likewise. 2000-09-03 Alexandre Oliva * ltconfig.in: Get rid of hardcode_into_libs=all; use hardcode_into_libs=yes && shlibpath_overrides_runpath!=yes instead. [FreeBSD 3.[01]] (shlibpath_overrides_runpath): Set to no. * ltmain.in: Likewise. * tests/build-relink.test, tests/build-relink2.test: Adjust. * libtool.m4: Fix typo I introduced in yesterday's patch. * libltdl/ltdl.c (lt_dlopen): Set dlname from library_names if dlname is empty. * ltdl.m4 (HAVE_LIBDL): Look for dlopen in -lsvld. * ltconfig.in: Likewise. * tests/mdemo-exec.test: Modify failure message. * ltmain.in (newdlprefiles): Use dlname if it's available and old_library isn't; use linklib only if dlname is not available. * ltconfig.in (enable_dlopen): Set to no when lt_cv_dlopen is no. * libtool.m4: Don't quote CONFIG_SHELL nor ORIGINAL_CONFIG_SHELL. Quote $@ properly so that the shell expands it, not m4. * libtool.m4: Don't quote SHELL when `re-exec'ing, so that SHELL can be `/path/to/shell -x'. * tests/quote.test: Move the match test out of case statements, to work around bug in /bin/sh of several OSs. * ltmain.in (variables_saved_for_relink): Attempt to unset them instead of setting them to an empty string. 2000-09-02 Alexandre Oliva * ltconfig.in [with_gnu_ld] (archive_cmds, archive_expsym_cmds) : Use compiler_flags instead of linker flags. Reported by Alex Hornby 2000-09-02 Makoto Ishisone * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Fix typo, add support for compact format library. 2000-09-02 Alexandre Oliva * ltdl.m4: Oops, I had forgotten to commit this part of Syd Polk's patch from 2000-06-17. 2000-09-02 Tom Kacvinsky , Tim Mooney * libtool.m4: Ignore Tru64's nm's complaint. 2000-09-02 Pavel Roskin * ltconfig.in: only load $cache_file if it's a regular file 2000-09-02 Assar Westerlund * ltconfig.in: Add back ranlib calls for static libraries if there is a ranlib. 2000-08-31 Gary V. Vaughan Move the echo detection code to a macro in libtool.m4. The code at the top ofltconfig.in is ugly, but will go away when the rest of ltconfig is migrated. * Makefile.am (libtool): Pass the value of $ECHO to ltconfig as an environment variable. * libtool.m4 (_LT_AC_PROG_ECHO_BACKSLASH): Quote the ECHO value correctly so that it inserts the correct code into configure.in suitably quoted for M4 expansion. This code needs to be near the top of configure.in as it calls itself recursively, so I am using AC_DIVERSION_NOTICE (or simply NOTICE on CVS Autoconf). The value of ECHO is also substitued into the Makefile to be used when Make calls ltconfig to generate libtool, so another layer of quotation is required for the Makefile. (AC_LIBTOOL_SETUP): Use it. * ltconfig.in: Accept a value for ECHO from the environment, and carefully substitue for $0 if it is present in the ECHO value. Because ECHO was quoted for Make, when ltconfig is called by configure, it is overquoted, and one layer of quotes must be stripped. 2000-08-27 Gary V. Vaughan * ltconfig.in (with_gcc): Make the value of this option available to the generated libtool script. * ltmain.in (compile_command, finalize_command): The native C and C++ compilers on IRIX require the -LANG:std in order to to compile correctly. The same options should _not_ be passed through to gcc on IRIX, or at all on other architectures for backwards compatibility (among others). Reported by Bob Friesenhahn Reported by Albert Chin-A-Young 2000-08-26 Gary V. Vaughan * ltconfig.in (old_reload_flag): typo. 2000-08-01 Alexandre Oliva * ltmain.in (shtool): Use echo|grep instead of expr, as in the original patch. 2000-08-01 Alexandre Oliva * ltconfig.in (need_lc): Fix test message. 2000-07-24 Mocha * ltconfig.in (NetBSD, deplibs_check_method): Use file_magic. (NetBSD, file_magic_cmd, file_magic_test_file): Set. 2000-07-24 Alexandre Oliva , David Kaelbling * ltmain.in (irix, major): Prepend a `.'. * ltconfig.in (irix, soname_spec, library_names_spec): Adjust. 2000-07-24 Alexandre Oliva , Ralf S. Engelschall * ltmain.in: Support GNU shtool's install. 2000-07-24 Alexandre Oliva * ltconfig.in (linkopts): Don't set for test. 2000-07-24 Nick Hudson * ltconfig.in (linkopts): Replace with linker_flags. * ltmain.in (ILD): Fix addition of deplibs in relink case. 2000-07-18 H.J. Lu * ltconfig.in: Check if -lc is necessary for building shared library. Set build_libtool_need_lc to indicate it. * ltmain.in: Add -lc when building shared library only if necessary. 2000-07-10 Mo DeJong * libtool.m4 (AC_PROG_NM): Fix macro so that it finds a cross NM on the PATH. 2000-07-10 Ken Block * libltdl/ltdl.h: Also check for __cplusplus, __STDC__ is not by Compaq C++ compiler 2000-07-10 Alexandre Oliva * ltconfig.in (wlarc, netbsd, aout): Set to empty. (hardcode_dynamic_flag_spec, export_dynamic_flag_spec): Use it. * ltconfig.in (dynamic_linker, linux, powerpc): Do not disable shared libraries just because of MkLinux. * libtool.m4 (lt_cv_deplibs_check_method, freebsd): Do not depend on $version_type; check for ELF support as in other BSDs. 2000-06-17 Syd Polk * libtool.m4 (AC_LIBTOOL_SETUP): Do not generate a libtool based on target; use host instead. 2000-05-30 Gary V. Vaughan * ltconfig.in (ORIGINAL_CONFIG_SHELL): Prevent lossage when the echo probing code falls into this branch without setting this variable. * ltconfig.in (netbsd*): archive_cmds and archive_expsym_cmds were reversed with respect to definition of __ELF__. From Keisuke Inoue 2000-05-29 Gary V. Vaughan * libtool.m4 (netbsd*): Use -L option to file_magic_cmd as for freebsd (below). * libtool.m4 (netbsd ELF): support file_magic. From Dan Winship . 2000-05-29 Steven M. Schultz * libtool.m4 (bsdi4*): Add -L option to bsdi4's file_magic_cmd command. Under BSD/OS 4.1 several libraries are now symlinks rather than regular files. Adding -L tells the file program to follow the symlink. 2000-05-29 Gary V. Vaughan * libtool.m4 (i*86-*-freebsd*): Forgot to changequote(,). * NEWS: Updated. * libtool.m4 (i*86-*-freebsd*): Support a.out shared libs. From 2000-05-29 Fred Fish Support AR=mwld AR_FLAGS='-xml -o' for PPC Beos. * ltconfig (old_AR_FLAGS): Add. (old_archive_cmds): Use AR_FLAGS rather than hardcoding "cru". (archive_cmds): Use AR_FLAGS rather than hardcoding "cru". (AR_FLAGS): Default to "cru" if not set. 2000-05-29 Gary V. Vaughan * ltconfig.in (echo): The following code actually prints the double quotes -- so I removed them: echo='printf "%s\n"' /bin/ksh -c '$echo \\t' From Tuukka Toivonen * NEWS: Updated. 2000-05-29 Bernhard Rosenkraenzer * libtool.m4: adding ia64 as supported linux platform 2000-05-29 Michael Matz * ltmain.in: fix quoting for $var_value. * ltconfig.in: check for dlfcn.h: include return value to make -Wall in CFLAGS work. 2000-05-27 Gary V. Vaughan * README-alpha: note new location of config.(guess|sub). 2000-05-27 Chad Cunningham * ltconfig.in (rhapsody*): New Port. * ltmain.in (rhapsody*): ditto. 2000-05-27 Chris Lattner * ltconfig.in (*-sequent-sysv4): New Port. 2000-05-17 Gary V. Vaughan * ltmain.in: cygwin-1.1.0 and higher no longer grok backslash path separators. 2000-05-14 Alexandre Oliva * libtool.m4 (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Pick LIBLTLD from top_builddir and INCLTDL from top_srcdir. * mdemo/configure.in: Remove comments on AC_LIBLTLD_CONVENIENCE. * libtool.m4 (_AC_PROG_LIBTOOL): Renamed from... (AC_PROG_LIBTOOL): Just AC_REQUIRE(_AC_PROG_LIBTOOL), to avoid effects of multiple runs. 2000-05-11 Thomas Tanner * NEWS: update * doc/libtool.texi (libltdl): rename lt_(find|next|add|remove)_dlloader to lt_dlloader_* * libltdl/ltdl.c: ditto * libltdl/ltdl.h: ditto, add declaration of lt_dlloader_(find|remove) 2000-05-06 Pavel Roskin * libltdl/ltdl.c: Typo. * libtool.m4 (AC_LIBTOOL_SETUP): CVS autoconf no longer sets target to "NONE", but to an empty string. 2000-05-05 Paul Sokolovsky * ltdl.c: support lt_dlopen(0) for win32 2000-05-03 Thomas Tanner * doc/libtool.texi (libltdl): fix typos, INCLTDL starts with top_srcdir, replace NULL with @code{NULL} * ltmain.in (ILD): search in newlib_search_path, too * ltmain.in (ILD): fix bugs in conv pass, expand convenience libs to deplibs and link them later on * ltmain.in (ILD): don't allow convenience libs to be -dlopen/preopen'ed * ltmain.in (ILD): it's not required to link all deplibs in fast-install mode * ltmain.in (ILD): if hardcode_into_libs=all, only relink a library if it is linked against uninstalled libtool libraries, rename link_against_libtool_libs to uninst_deplibs * ltmain.in (ILD): tidy up, add some comments 2000-05-03 John Wehle (john@feith.com) * libtool.m4 (hpux10.20*): use file_magic for inter-library dependency tracking. 2000-05-02 Gary V. Vaughan * AUTHORS: Update my email address. * commit: ditto. 2000-04-11 Thomas Tanner * NEWS: update * libtool.m4: add AC_LIBTOOL_PICMODE * ltconfig.in: move pic_mode checks to ltmain.in * ltmain.in: add -prefer-pic and -prefer-non-pic 2000-03-29 Alexandre Oliva * ltmain.in (tmpdir): Do not accept an existing directory, and force its mode to 700, for security reasons. Reported by Joseph S. Myers 2000-03-27 Thomas Tanner * NEWS: reformatting * ltmain.in (ILD): add extra convenience library scanning pass * ltmain.in (ILD): accept -R flags for libraries, too * ltmain.in (ILD): correclty merge the dlpreopened libraries with deplibs * ltmain.in (install mode): remove directories from filenames before relinking (reported by Elrond ) * doc/libtool.texi (libltdl): rename Library -> Lesser, clarify exception clause * libltdl/ltdl.c, libltdl.h (License): ditto 2000-03-21 Alexandre Oliva * ltconfig.in (variables_saved_for_relink): Set to `PATH $shlibpath_var $runpath_var'. If with_gcc, add gcc-related environment variables. Add it to the configuration section. * ltmain.in (relink_command): Expand those variables. 2000-03-14 Christopher A. Knight * ltconfig.in: added main() definition in compile check for header `dlfcn.h' to fix link errors when built with Sun Workshop Pro CC 4.2 (and perhaps others). 2000-02-03 Gary V. Vaughan * libltdl/ltdl.c (lt_find_dlhandle): Deleted. This was B.S. far cleaner to use lt_dlforeach and lt_dlgetinfo. * libltdl/ltdl.h: Prototype deleted. * doc/libtool.texi: Documentation deleted. * NEWS: annoncement deleted. 2000-02-23 Thomas Tanner * ltmain.in: remove duplicates from deplibs, handle interdependent libraries (e.g. -la -lb -la), this requires adding deplibs in reverse order * ltmain.in: link dlpreopened libraries before other libraries (reported by Pavel Roskin) * mdemo/Makefile.am: build and link libsub.la * mdemo/sub.c: new file used by both dlopened modules * mdemo/foo*: use sub() defined in libsub * tests/dryrun.test: build libsub.la * mdemo/Makefile.am: always link mdemo.static with -static * mdemo/configure.in: ditto * ltmain.in: fix dlopen/dlpreopening of objects * ltmain.in (ILD): fix misplaced `continue' in -R* argument handler * ltmain.in: merge duplicated code of clean and uninstall mode * libtool.m4: recognize powerpc*linux* (reported by Dirk A. Mueller ) 2000-02-23 Gary V. Vaughan * ltconfig.in (old_MAGIC, old_STRIP, old_reload_flag, old_deplibs_check_method, old_file_magic_cmd): New variabes. Treat these as old_CC etc. (STRIP, MAGIC): Create and set these variables in the generated libtool script. Reported by Pavel Roskin * configure.in: Due to a bug in autoconf-2.13 implementation of AC_SUBST, `AC_SUBST(FILE)' can never work. Use MAGIC as the holder of the command to run in file_magic_cmd instead. * ltconfig.in: s/FILE/MAGIC/g. * libtool.m4 (AC_PROG_LIBTOOL): set MAGIC in the environment when calling ltconfig. (AC_PATH_MAGIC): renamed from AC_PATH_FILE. (AC_PATH_TOOL_PREFIX): s/FILE/MAGIC/g. Also set file_magic_cmd to '${MAGIC}' so that make can grok it. * Makefile.am (libtool): (clibtool): ditto. 2000-02-21 Gary V. Vaughan * libltdl/ltdl.c (lt_find_dlhandle): New function. (tryall_dlopen): Use it. * libltdl/ltdl.h: Prototype it. * doc/libtool.texi: Document it. * NEWS: updated. * libltdl/ltdl.c (lt_dlinit): removed unused variable, `loader'. * libltdl/ltdl.c (lt_remove_dlloader): typo, s/=/==/g. 2000-02-03 Gary V. Vaughan * libltdl/ltdl.h (lt_dlloader_data_t): New type for loader instance data. (lt_user_dlloader): New lt_dlloader_data_t field. (lt_module_open_t): Add lt_dlloader_data_t parameter. (lt_module_close_t): Add lt_dlloader_data_t parameter. (lt_find_sym_t): Add lt_dlloader_data_t parameter. (lt_dlloader_exit_t): Add lt_dlloader_data_t parameter. * libltdl/ltdl.c: A sprinkling of /*ARGSUSED*/ markers to reassure lint that the unused arguments are intentional. (lt_dlloader_t): New lt_dlloader_data_t field. (lt_dlloader_data): New function to return the contents of the dlloader_data field. (sys_dl_open): Take an additional lt_dlloader_data_t argument. (sys_dl_close): Ditto. (sys_dl_sym): Ditto. (sys_dl): Initialise lt_dlloader_data_t field. (sys_shl_open, sys_shl_close, sys_shl_sym, sys_shl): As above. (sys_wll_open, sys_wll_close, sys_wll_sym, sys_wll): As above. (sys_bedl_open, sys_bedl_close, sys_bedl_sym, sys_bedl): As above. (sys_dld_open, sys_dld_close, sys_dld_sym, sys_dld): As above. (presym_init, presym_exit, presym_open, presym_close, presym_sym, presym): As above. (lt_dlinit): Call presym_init with additional argument. (lt_dlexit): Call dlloader_exit method with additional argument. (tryall_dlopen): Call module_open method with additional argument. (lt_dlclose): Call module_close method with additional argument. (lt_dlsym): Call find_sym method with additional argument. (lt_add_dlloader): Initialise dlloader_data field. (lt_remove_dlloader): Call dlloader_exit method with additional argument. * libltdl/ltdl.c (find_file): Prevent early release of memory in filename/*pdir. From Jon Leichter (sys_wll_init): Deleted. No longer required. And this time, with feeling! (sys_wll_exit): Ditto. 2000-02-02 Gary V. Vaughan * NEWS: updated. * doc/libtool.texi (Libltdl interface): Moved user defined module loader documentation from here... (Module loaders for libltdl) ...to here, and updated the text and added examples. * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. * libltdl/ltdl.h: Reformatted and commented for readability. (struct lt_user_dlloader): New data type for passing initialisation pointers to lt_add_dlloader. (LTDL_ERROR_INVALID_LOADER): New error message when non loader handles are passed to the user loader API. (LTDL_ERROR_INIT_LOADER): New error when loader initialisation fails. (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. (lt_module_open_t): renamed from lt_lib_open_t. (lt_module_close_t): renamed from lt_lib_close_t. (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" loader no longer occurs before "dlopen" on some platforms and after it on others. (lt_dlloader_t): Moved here from ltdl.h, added a field, "loader_name", for identifying the loader, and renamed from lt_dltype_t. Renamed type variables to loader IFF of type lt_dlloader_t. (lt_module_t): Renamed from lt_syshandle. Renamed handle variables to module IFF of type lt_module_t. (LTDL_TYPE_TOP): Deleted. No longer required. (sys_dl): Initialised as a struct lt_user_dlloader. (sys_dl_init): Deleted. No longer required. (sys_dl_exit): Ditto. (sys_shl): Initialised as a struct lt_user_dlloader. (sys_shl_init): Deleted. No longer required. (sys_shl_exit): Ditto. (sys_wll): Initialised as a struct lt_user_dlloader. (sys_wll_init): Deleted. No longer required. (sys_wll_exit): Ditto. (sys_bedl): Initialised as a struct lt_user_dlloader. (sys_bedl_init): Deleted. No longer required. (sys_bedl_exit): Ditto. (sys_dld): Initialised as a struct lt_user_dlloader. (sys_dld_init): Deleted. No longer required. (sys_dld_exit): Ditto. (sys_presym): Initialised as a struct lt_user_dlloader. (lt_mod_init_t): Moved to here from ltdl.h. (lt_dlinit): Add builtin loaders using the user loader API. (lt_dlexit): Unregister and free all loaders. (lt_add_dlloader): New function to add a new module loader after the loader specified in the argument. (lt_remove_dlloader): New function to remove a module loader. (lt_next_dlloader): New function for iterating over module loaders. (lt_dlloader_name): Accessor function for name of dlloader. (lt_find_dlloader): New function to get a reference to a registered module loader. (strcmp): static implementation incase the host has none. (lt_dlgettypes, lt_dlsettypes): Removed. 2000-02-02 Thomas Tanner * libltdl/ltdl.c: replace NULL with 0, remove unused system and app_private pointers from lt_dlhandle_t * libltdl/ltdl.c (presym_add_list): new preloaded symbols don't need to be added to the end * libltdl/ltdl.c (lt_dlgetdata, lt_dlsetdata): removed * libltdl/ltdl.h: ditto * doc/libtool.texi (libltdl interface): ditto 2000-02-01 Thomas Tanner * ltmain.in: support -dlopen/dlpreopen for libraries * NEWS: updated * TODO: updated * ltmain.in: rename dlopen to dlopen_support * ltconfig.in: ditto * doc/libtool.texi: ditto * ltmain.in: check whether libraries are moved out of $libdir, replace .a and .lib with .$libext, .o and .obj with .$objext 2000-01-31 Gary V. Vaughan * libltdl/ltdl.h (lt_dlrealloc): removed declaration. * libltdl/ltdl.c (lt_dlrealloc): removed definition. (lt_dladderror): Instead of calling lt_dlrealloc, use lt_dlmalloc, and lt_dlfree. 2000-01-30 Ossama Othman * libtool.m4 (lt_cv_cc_needs_belf): Set the test language to C prior to executing the test that checks if the C compiler needs "-belf." Reported by Chris Butler 2000-01-28 Gary V. Vaughan * libtool.m4 (AC_DEPLIBS_CHECK_METHOD): Use changequote to protect `[' and `]' in deplibs_check_method. * libltdl/ltdl.h (lt_dlrealloc): Added declaration. * libltdl/ltdl.c (lt_dlrealloc): Added default definition. * libltdl/ltdl.c (lt_dlseterror): Catch errorcodes below 0 as invalid. * libltdl/ltdl.h (LTDL_ERROR): Added missing '_' in K&R definition. * libltdl/ltdl.h (ltdl_error_table): Added missing error code, and fixed typo in another code. * doc/libtool.texi (Libltdl interface): Added missing @end clause. 2000-01-27 Thomas Tanner * ltconfig.in: Oops, replace the remaining $objdir's * ltmain.in: merge library linking code of programs and libraries, some cleanups 2000-01-27 Gary V. Vaughan * NEWS: Updated. * doc/libtool.texi (Libltdl interface): Document new entry points. * libltdl/ltdl.c (lt_dladderror): New function to add a user defined error message to the tables used by lt_dlerror(). (lt_dlseterror): New function to allow setting of last_error by user modules. (ltdl_error_strings): New preprocessor generated table of internal error diagnostic strings. (user_error_strings): New internal list of registered user error diagnostic strings. (throughout!): Use error messages from ltdl_error_strings. * libltdl/ltdl.h (ltdl_error_table): New macro to tabulate internal diagnostic error strings alongside enum keys. * NEWS: Updated. * doc/libtool.texi (Libltdl interface): Document new entry points. * libltdl/ltdl.c (lt_dltype_t): Use new type definitions for existing fields. (lt_dladdtype): New function to add a new ltdl dynamic loader type to the end of the list of valid types.. (lt_dlgettypes): New function to return the complete list of ltdl dynamic loader types. (lt_dlsettypes): New function to replace the list of ltdl dynamic loader types entirely -- e.g. to prepend a new type to the existing list. (sys_dl_open, sys_dl_close, sys_dl_sym): Work with lt_syshandle. (sys_shl_open, sys_shl_close, sys_shl_sym): ditto. (sys_dld_open, sys_dld_close, sys_dld_sym): ditto. (sys_wll_open, sys_wll_close, sys_wll_sym): ditto. (sys_bedl_open, sys_bedl_close, sys_bedl_sym): ditto. (presym_open, presym_close, presym_sym): ditto. (tryall_dlopen): Call lt_lib_open_t functions lt_syshandle compatibly. (lt_dlclose): Call lt_lib_close_t functions lt_syshandle compatibly. (lt_dlsym): Call lt_find_sym_t functions lt_syshandle compatibly. (lt_dltype_t): moved type declaration from here... * libltdl/ltdl.h (lt_dltype_t): ...to here. (lt_syshandle): new type for low level system handles passed by loader functions (lt_mod_init_t): New type for functions implementing the initialisation for an ltdl dynamic loader. (lt_mod_exit_t): Type of exit functions for the same. (lt_lib_open_t): Type of loader functions for the same. (lt_lib_close_t): Type of unloader functions for the same. (lt_find_sym_t): Type of symbol resolver functions for the same. * libltdl/ltdl.c (sys_dl_init, sys_dl_exit, sys_dl_open, sys_dl_close, sys_dl_sym): Preprocess these away on cygwin to avoid spurious error messages. 2000-01-24 Thomas Tanner fix severe bugs reported by Elrond * ltconfig.in: replace $objdir with $output_objdir * ltmain.in: change to the builddir before relinking programs * ltmain.in, ltconfig.in, libtool.m4, ltdl.m4: remove unnessary spaces from line endings 2000-01-19 Thomas Tanner * ltmain.in: rewrite of the ILD code, merge linking code for programs, libraries and objects, allow linking of shared libraries against static libraries/objects on platforms that support it but print a warning, fix some typos * partially revert my previous change and update only copyright notices of files that were actually modified * NEWS: update * libltdl/Makefile.am: version number was wrong * libltdl/ltdl.c (tryall_dlopen): revert Gary's change since it breaks dlpreopening * ltdl.m4: ditto * libltdl/ltdl.c (sys_search_path): search in the system default library search path, too * ltdl.m4 (AC_LTDL_SYSSEARCHPATH): extract the path * libltdl/ltdl.c (find_module): remove bogus file_not_found_error * libltdl/ltdl.c (load_deplibs): implement loading of dependency libraries * libltdl/ltdl.c (unload_deplibs): implement unloading of dependency libraries * libltdl/ltdl.c (lt_dlexit): correctly close all modules and their dependencies * libltdl/ltdl.c (lt_dlforeach): new function * libltdl/ltdl.h: ditto * doc/libtool.texi (using libltdl): document it * libtool.m4: reformatting, only add -I$topsrc_dir/libltdl to INCLTDL * libtoolize.in: reformatting * ltconfig.in: reformatting * ltmain.in: reformatting * mdemo/configure.in: AC_SUBST INCLTDL * mdemo/Makefile.am: use INCLTDL * tests/Makefile.am: reexport OBJEXT and EXEEXT * tests/dryrun.test: use them for building main.obj and mdemo.exe 2000-01-17 Gary V. Vaughan * libltdl/ltdl.c (tryall_dlopen): Abort with file_not_found_error before trying all lib_open() methods if the file to be dlopened doesn't exist. * ltdl.m4 (AC_HAVE_HEADERS): add unistd.h. 2000-01-16 Gary V. Vaughan * libltdl/ltdl.c (find_file): memory error fixed. 2000-01-14 Gary V. Vaughan * ltconfig.in (Usage): Now it matches the code! Reported by Jon Leichter * README: Some notes about libtool release numbers. * mdemo/README: Explain the deliberate incompleteness of the Windows port. * mdemo/configure.in: Use AC_LIBTOOL_WIN32_DLL. * mdemo/Makefile.am (LDFLAGS): Add -no-undefined. * libltdl/ltdl.h (LTDL_STMT_START, LTDL_STMT_END): Macros for wrapping other macros to make a portable compound statement from multiple C statements in the expansion. (LTDL_SET_PRELOADED_SYMBOLS): Use the above macros to add an extern declaration for lt_preloaded_symbols, to remove dependency on undefined symbol from libltdl.dll on cygwin (and other -no-undefined architectures). * libltdl/ltdl.c (lt_preloaded_symbols): No longer defined here. * libtool,m4 (AC_LIBTOOL_SETUP): The result of lt_cv_need_dllmain was set to the opposite of what it should be. * configure.in (AC_LIBTOOL_WIN32_DLL): Call to this macro is required for libtool configury to test lt_cv_need_dllmain on Windows. * ltconfig.in (opt_cr, mingw*): replace unescaped ? with correctly escaped and portable \{0,1\} in sed expression. From Jon Leichter 2000-01-13 Gary V. Vaughan * libtool.m4 (AC_LIBLTDL_CONVENIENCE): Add -I${top_srcdir}/libltdl to default INCLTDL for VPATH. (AC_LIBLTDL_INSTALLABLE): ditto. Reported by Tom Tromey 2000-01-12 Thomas Tanner * update all copyright notices to 2000 * doc/libtool.texi (using libltdl): document new lt_dlinfo struct, replace NULL with @code{NULL}, document lt_dlsetdata(), lt_dlgetdata() and lt_dlgetinfo() * libltdl/Makefile.am: increment interface version number * libltdl/configure.in: set version number to 1.1 * libltdl/ltdl.c: make some variables public by moving them to the info struct, add support for application specific data within module handles, new lt_dlsetdata(), lt_dlgetdata() and lt_dlgetinfo() functions, fix memory leaks, minor cleanups * libltdl/ltdl.h: ditto * mdemo/main.c: demonstrate use of lt_dlgetinfo, improved handling of errors * ltconfig.in: set hardcode_into_libs = yes for GNU/Hurd, Linux and Solaris, only hardcode *all* run-paths if hardcode_into_libs is set to 'all', otherwise hardcode only user-specified rpaths into libraries * ltmain.in: minor cleanups, we don't need to add user-specified rpaths to compile_rpath, finalize_rpath is sufficient * ltconfig.in: transform linux* -> *linux-gnu* _after_ host_os has been set! (reported by Bruno Haible ) * configure.in: AC_SUBST reload_flag, deplibs_check_method and file_magic_cmd * README: use 'libtool --version' instead of 'ltconfig --version' (suggested by Francios Pinard 2000-01-10 Gary V. Vaughan * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Leave undefined when not compiling for a Windows target. * libltdl/ltdl.c (canonicalize_path): New function to ensure internal paths use '/' directory separators. (find_file): use canonicalize_path. Memory management changed to cope. (lt_dlopen): ditto. (free_vars): Removed `dir' and `name', which are now handled internally. * libltdl/ltdl.h (LTDL_DIRSEP_CHAR): Define to '/' or '\\', as suitable for the target host. (LTDL_PATHSEP_CHAR): Similarly with ':' or ';'. * libltdl/ltdl.c: Use LTDL_DIRSEP_CHAR and LTDL_PATHSEP_CHAR instead of hardcoding throughout. Reported by Jon Leichter 1999-12-18 Alexandre Oliva * ltmain.in: Oops, `largarg' -> `lastarg'. * ltmain.in (-Wc, -Xcompiler): Implemented in compile mode. * ltmain.in (-Xcompiler, -Xlinker): Add to compile_command and finalize_command. (-Wc, -Wl): Likewise. * tests/quote.test: Adjust quoting style of -Wl. * ltmain.in: Oops, `echo' -> `$echo'. * ltmain.in (-Wl, -Wc): Make commas argument separators, just like in gcc. * ltmain.in (libtool_args): Get all arguments properly enclosed in quotes and backslash-protected when needed. 1999-12-16 Alexandre Oliva * ltdl.m4: Renamed from... * libltdl/ltdl.m4: that no longer exists. * configure.in (ACINCLUDE_M4_LIST): Removed libltdl/acinclude.m4. * Makefile.am (aclocal_macros): Added ltdl.m4. (libltdl/acinclude.m4): Concatenate libtool.m4 and ltdl.m4. * bootstrap: Likewise. * libltdl/Makefile.am (ACLOCAL): Remove the definition. Relying upon -I may lead to duplicates. * doc/libtool.texi: Suggest appending ltdl.m4 to acinclude.m4. * libtoolize.in: Check AC_LIB_LTDL version number in aclocal.m4. * libltdl/configure.in (with_auxdir): Do not use it as the argument of AC_CONFIG_AUX_DIR, automake requires a literal here. Use AC_CONFIG_AUX_DIRS/DIR_DEFAULT instead. * libltdl/Makefile.am (ACLOCAL): Define with `-I .', as in bootstrap. 1999-12-15 Thomas Tanner * libltdl/configure.in: path to auxiliary files can be specified using --with-auxdir (idea by Howard Chu ) * ltmain.in: don't remove multiple occurences from dependency_libs of a library, otherwise many dependencies would get lost * bootstrap: use "aclocal -I ." instead of adding the contents of ltdl.m4 to acinclude.m4 1999-12-13 Gary V. Vaughan * NEWS: updated. * libltdl/Makefile.am: Use -no-undefined for dll compliance. * libltdl/configure.in: Use AC_LIBTOOL_WIN32_DLL for dll compliance. * libltdl/ltdl.c: Define and use LTDL_GLOBAL_DATA to correctly export global data symbols from libltdl.dll. * libltdl/ltdl.h: Define and use LTDL_SCOPE to declare data symbols as dllexport, dllimport or plain ornary extern depending in the context in which it is used. * doc/libtool.texi (Distributing libltdl): document use of ltdl.m4. * libltdl/configure.in: Removed header checks, as they are automatically performed by AC_LIB_LTDL. * libltdl/ltdl.m4: Added header checks from configure.in, so that AC_LIB_LTDL is sufficient to compile ltdl.c. Reported by Stephan Kulow . * ltconfig.in (ltdll_obj): fixed typo: objdir -> $objdir 1999-12-12 Gary V. Vaughan * ltconfig.in (cygwin*, mingw*, export_symbols_cmds): keep any DATA tags associated with symbols by recent dlltool. (cygwin*, mingw*, archive_expsym_cmds): Honor any DATA tags found in the symbol list. Reported by Jon Leichter . 1999-12-10 Gary V. Vaughan From Stephan Kulow * libltdl/ltdl.m4: Add arg 3 to AC_DEFINE's to save the user from having to hack acconfig.h. 1999-12-06 Gary V. Vaughan * NEWS: Updated. * TODO: Note some cleanups that are now needed. * libltdl/configure.in: Use the new macroised tests. * libltdl/ltdl.m4: New file, macroised tests formerly in libltdl/configure.in. Reported by Stephan Kulow . From Tim Mooney * ltconfig.in: split off the osf3 section, so that the osf4 and osf5 sections can add `-msym' to arguments passed to the linker for shared libs. 1999-12-03 Alexandre Oliva * ltconfig.in (ac_compile): Use $ac_ext instead of .c. (ac_link): Likewise. (dlfcn.h, ac_try): Do not add filename, it is already in ac_compile. Reported by Stephane Conversy * ltconfig.in (linux-gnu*): Disable hardcode_into_libs until it works together with fast_install. * libtool.m4: Use host when --target is not specified. * configure.in: AC_SUBST variables that are used by ltconfig to build libtool. * ltconfig.in (irix6*): Do not override deplibs_check_method here. * libtool.m4: Do not AC_SUBST anything other than LIBTOOL. 1999-11-20 Michael Forster * ltconfig.in (linux-gnu*): Set hardcode_into_libs=yes. 1999-11-29 Gary V. Vaughan * ltconfig.in: Be friendlier to C++ compilers when testing for dlopen support. Reported by Stephan Kulow 1999-11-26 Gary V. Vaughan * libtool.m4: better use of $target instead of $host to support cross compilation. Reported by Sam Latinga 1999-11-16 Thomas Tanner * configure.in: generate ltconfig and ltmain.sh before configuring libltdl 1999-11-04 Alexandre Oliva * tests/sh.test: New test to detect uses of quotes within backticks within quotes. * ltconfig.in, ltmain.in: Fix detected errors. Mark false positives with a comment that disables the detector. Reported by Akim Demaille * configure.in: Move ltconfig and ltmain.sh generation back... * Makefile.am: here. 1999-11-02 Thomas Tanner * NEWS: updated * THANKS: added Olly Betts and Pavel Roskin * doc/libtool.texi: fix typo * fix major bugs which rendered libtool virtually unusable (i.e. not portable): * ltconfig.in: don't hardcode system dependent variables in ltconfig!! but set sane defaults * Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig * libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG * ltconfig.in: use old_deplibs for archives, too remove second occurence of sysv5 * ltmain.in: fix typo, fix the second occurence of -DPIC, too * libltdl/Makefile.am: increment version number, fix typo * libltdl/ltdl.c (lt_dlsym): don't report an error if the libltdl-style symbol name wasn't found 1999-11-02 Wolfgang Rapp * ltconfig.in: add support for Unixware (sysv4.2uw2*) 1999-10-29 Gary V. Vaughan * ltmain.in: Damnit! Cygwin cvs committed all the dos line endings. 1999-10-28 Stephane Conversy * ltmain.in (-DPIC): changed the order of pic flags a little to prevent upsetting the sgi c++ compiler. 1999-10-28 Olly Betts * ltconfig.in (opt_cr): Handle crlf sequences output by the mingw toolchain. * libtool.m4: Third time lucky, with Tor's patch. 1999-10-19 Tor Lillqvist * libtool.m4: these was a missing `*' in the -mno-cygwin match. * ltconfig.in (cygwin, ltdll_obj): fixed a quoting error. (export_symbols_cmds): added missing cosmetic newline. 1999-10-18 Tor Lillqvist * libtool.m4: test command used == which should be =. Support -mno-cygwin flag for building mingw32 dlls. * ltconfig.in (file_magic_cmd): add missing quotes. (deplibs_check_method): and here. 1999-10-16 Alexandre Oliva * libltdl/ltdl.c (lt_dlopen): Do not search paths when the specified library is not just a basename. 1999-10-10 Gary V. Vaughan * libtool.m4 (AC_PATH_FILE): new macro replaces AC_PATH_TOOL_GREP_OUTPUT. (AC_PATH_TOOL_PREFIX): new macro replaces AC_PATH_PROG_GREP_OUTPUT. (AC_LD_RELOAD_FLAG): migrated from ltconfig.in. (AC_DEPLIBS_CHECK_METHOD): ditto. * ltconfig.in (reload_flag): moved to libtool.m4. (deplbs_check_method): ditto. 1999-10-07 Gary V. Vaughan * libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the more general AC_PATH_PROG_GREP_OUTPUT. (AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general AC_PATH_TOOL_GREP_OUTPUT. (AC_PROG_LIBTOOL): Search for a working find program in the user's PATH using the new macros. 1999-10-06 Gary V. Vaughan * NEWS: updtaed. * ltconfig.in: Accept osf5. Reported by Sascha Schumann 1999-10-04 Gary V. Vaughan * ltmain.in (-no-install): This doesn't work on win32 since the search path for libraries is not encoded in the binary, and dlls not in $PATH won't be found. Fall back to -no-fast-install instead. * ltmain.in (-no-fast-install): Wrapper script used to add the exeext on again when naming the wrapped executable. 1999-10-03 Gary V. Vaughan * ltconfig.in: Set $FILE to @FILE@ for substitution with the value found in libtool.m4 at configure time. * libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the output of $ac_dir/${ac_prefix} --version for a given regex. (AC_PATH_PROG_GREP_VERSION): New macro used by the above. (AC_LIBTOOL_SETUP): Use the new macros to search the PATH [starting at /usr/bin] for a file program which accepts --version and has "file" in its --version output. 1999-10-03 Thomas Tanner * NEWS: new -no-install flag * configure.in: fix typo * doc/libtool.texi(Link mode): document -no-install flag, correct -no-fast-install docs * libtool.m4: check for "file" command * ltconfig.in: don't hardcode /usr/bin/file, remove second definition of sysv5, replace linkopts -> linker_flags * ltmain.in: add new -no-install flag, print help for -no-install and -no-fast-install flags 1999-10-03 Olly Betts * ltmain.in: always create output_objdir 1999-10-03 Pavel Roskin * libltdl/Makefile.am: don't preserve file attributes when installing the libltdl sources 1999-10-01 Gary V. Vaughan * configure.in (AC_OUTPUT_COMMANDS): generate ltmain.sh * Makefile.am (ltmain.sh ltconfig): removed. Automake inserts the rules to automatically call config.status. * libtool.m4: be sure to AC_SUBST values no longer tested in ltconfig.in. * ltconfig.in: replaced several of the simple feature tests with substitutions from config.status. * Makefile.am (ltconfig): generate ltconfig with config.status. * configure.in (AC_OUTPUT): generate ltconfig with config.status. 1999-09-30 Donald Anderson * ltconfig.in (sco3.2v5): use pass_all deplibs_check_method for SCO3.2. 1999-09-29 Gary V. Vaughan * ltconfig.in (whole-archive-flag-spec): I had been wondering why my file system was filling up with empty files named `71'... seems I forgot to hold in the shift key when redirecting stderr, 2>&1. Doh! 1999-09-29 Vadim * ltconfig.in (sysv): More UW7 support. 1999-09-28 Albert Cheng * ltmain.in (shlibpath_var): ensure the variable is non-empty before exporting it. 1999-09-27 Manfred Weichel * ltconfig.in (sysv5): Added support required for shared library linking on SCO UW7. 1999-09-22 Gary V. Vaughan * ltconfig.in (whole-archive-flag-spec): test whether the version of GNU ld being used understands --whole-archive before using it. 1999-09-19 Thomas Tanner * ltmain.in: don't ignore convenience libraries for objects/archives (temporary hack) 1999-09-14 Alexandre Oliva * ltconfig.in (CDPATH): Set to `:' instead of empty. * ltmain.in (CDPATH): Likewise. Reported by Greg McGary 1999-08-24 Gary V. Vaughan * ltconfig.in (ltdll.c, impgen.c): Prevent the shell from expanding variables & backslash escapes when writing these files to the libtool script. 1999-08-24 Thomas Tanner * NEWS: mention fixes * doc/PLATFORMS: GNU/Hurd update * depdemo: make use of variables * ltconfig.in: use CC -E when checking for ELF support on NetBSD (reported by Todd Vierling ), replace all occurences of 'linkopts' with 'linker_flags' * ltmain.in: move ltdll.c and impgen.c to ltconfig.in and only add them to the libtool script if it's necessary 1999-08-24 Boyd Gerber * ltconfig.in: add support for UnixWare 7.X.X * doc/PLATFORMS: add new platforms 1999-08-24 Pavel Roskin * doc/libtool.texi: document use of noinst_LTLIBRARIES for convenience libraries * ltconfig.in: check for freebsdelf3, not just freebsd3. Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1 * ltmain.in: enable workaround for freebsdelf3.0 1999-08-24 Bert Driehuis * ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS 1999-08-07 Alexandre Oliva * libltdl/COPYING.LIB: Update to version 2.1. * libltdl/ltdl.h, libltdl/ltdl.c: Update FSF address. 1999-08-03 Gary V. Vaughan * libtool.m4 (mingw*, AC_PROG_LD): use tr for carriage return stripping. * ltconfig.in: ditto. From Olly Betts 1999-08-02 Olly Betts * doc/libtool.texi (Compile mode): typo correction. (Link mode): and another. (Release numbers): and another. (Distributing libltdl): and another. (Test descriptions): and another. (libtool script contents): and one more. * libtool.m4 (AC_PROG_LD): strip carriage returns from the output of gcc -print-prog-name=ld. * ltconfig.in: ditto. 1999-07-30 Pavel Roskin * ltmain.in: Ensure that gcc on HPsUX uses -fPIC, or else initialised structures are sometimes emitted in the code section. 1999-07-30 Mumit Khan * ltconfig.in: Read line at a time to avoid tokenisation by shell. 1999-07-29 Alexandre Oliva * ltmain.in: Fix creation of relative links to object files in sub-dirs. 1999-07-29 Olly Betts * ltconfig.in(cygwin mingw32, archive_expsym_cmds): Only compile and link ltdll.c if the libtool.m4 macros discovered that it is required. 1999-07-26 Olly Betts * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): Oops. Fix some typos made by Evil Gary while (mis)applying my patch :-). * libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second thoughts, only probe for -mdll vs -dll on mingw, and revert to the old `-Wl,--dll -nostartfiles' on cygwin. 1999-07-24 Erez Zadok * doc/PLATFORMS (i*86-*openbsd2.5): New platform. Slight reordering of other bsd entries. 1999-07-24 Olly Betts * NEWS: Note new user visible changes. * libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll under cygwin/mingw. probe whether the cygwin/mingw library supplies a stub DllMain (but this information isn't yet used). * ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set, use that to build impgen so we can use it when cross-compiling. use correct entry points for mingw so static C++ constructors get called for code in the DLL. * ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the system headers. 1999-07-24 Bert Driehuis * ltconfig.in: Updated bsdi4 soname specs to be more like linux as discussed on the bsdi mailing list. 1999-07-20 Gary V. Vaughan * configure.in (AC_PROG_RANLIB): No longer required as we now use AC_CHECK_TOOL in AC_LIBTOOL_SETUP. * libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to ltconfig. (AC_PROG_RANLIB): replaced with AC_CHECK_TOOL. * ltconfig.in (build): new variable to hold the build triplet which is now checked for unless --no-verify is specified. (--build): new argument to set the build triplet. (ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different to $host. * doc/libtool.texi (Invoking ltconfig): Document --build option. * NEWS: Note --build option. 1999-07-19 Erez Zadok * doc/PLATFORMS: Updated mostly *bsd platforms. 1999-07-19 Alexandre Oliva * doc/libtool.texi (Porting inter-library dependencies): Typos Reported by Petter Reinholdtsen 1999-07-17 Thomas Tanner * NEWS, TODO: updated (pic flags) * libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag * ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags, fixed the strip check (reported by Keith Bostic ) * ltmain.in (compile mode): build only PIC/non-PIC code depending on pic_mode * libltdl/README: document the supported dlopen interfaces * doc/libtool.texi (tests): documented new tests * tests/Makefile.am: added new tests * tests/demo-pic.test: new test to test --with-pic * tests/demo-nopic.test: new test to test --without-pic * tests/build-relink2.test: variant of build-relink.test that uses depdemo 1999-07-09 Olly Betts * doc/libtool.texi (C++ Libraries): fixed a typo. 1999-07-06 Gary V. Vaughan * README-alpha: improved the release instructions to mention actual list addresses for announcements, and urls for upload locations. 1999-07-03 Thomas Tanner * doc/PLATFORMS: 1.3b passes all tests on cygwin 1999-07-03 Pavel Roskin * ltconfig.in: finish_cmds for FreeBSD removed * depdemo/l3/Makefile.am: install libl3.la into an extra directory 1999-07-02 Gary V. Vaughan * configure.in: bumped version to 1.3c. GNU libtool 1.3b was released. * NEWS: inserted todays date. 1999-07-02 Alexandre Oliva * doc/PLATFORMS: Tested on as many platforms as possible for me. 1999-07-01 Thomas Tanner * NEWS: updated * doc/PLATFORMS: updated * changed my email address 1999-06-30 Thomas Tanner * demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl) * tests/build-relink.test: also check for hardcode_into_libs = yes, if set, we need to relink at install-time 1999-06-29 Thomas Tanner * NEWS: mention -no-fast-install, rename dummy to force * doc/PLATFORMS: 1.3b passes all tests on GNU/Linux, FreeBSD (2.2.6 and 3.1) * doc/libtool.texi: it's possible to link libtool libraries using -L and -l, better documentation of uninstall and clean mode, rename dummy to force, documented -no-fast-install, AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL, documented hardcode_into_libs and striplib/old_striplib, * ltconfig.in: search for strip program, added hardcode_into_libs and striplib/old_striplib variables, set strip commands for GNU strip, on FreeBSD >= 3.2 set hardcode_into_libs to yes, fast-install mode doesn't work if hardcode_into_libs = yes * ltmain.in: reimplemented hardcoding into libraries: new relink mode, preserve all libtool args, relink libraries when installing if necessary added -no-fast-install flag, removed unnecessary `dlname' initialization, use striplib/old_striplib for stripping libraries, dlname is always soname or in library_names so we don't need to handle different file names 1999-06-29 Alexandre Oliva * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes up to release 3.1, and to no from 3.2 on. Reported by Pavel Roskin 1999-06-29 Pavel Roskin , Alexandre Oliva * ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes; tested on 3.1-ELF by Pavel and on 2.2.6 by Alexandre. 1999-06-25 Alexandre Oliva * ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on alpha, x86 and sparc architectures by now, reverting to file_magic at least on ARM, where it breaks. 1999-06-23 Thomas Tanner * NEWS: updated * README: added GNU Hurd to the supported platforms * doc/libtool.texi: document `-dlpreopen dummy' instead of `-dlopen dummy' * libltdl/ltdl.c (strchr): fixed typo (missing star) 1999-06-23 Stephan Kulow * libltdl/ltdl.c (strrchr): fixed typo (missing star) * libltdl/ltdl.c (trim): use `const' to silence -Wwrite-strings 1999-06-23 Olly Betts * ltmain.in (ltdll.c): Support for crosscompiling from linux to mingw32. 1999-06-23 Gary V. Vaughan * ltconfig.in (cygwin, export_symbols_cmds): If there is already an extracted and compiled ltdll.c, then don't delete, reextract and recompile. (cygwin, archive_expsym_cmds): Make sure the ltdll source has been extracted and compiled before referencing the object, since there are paths through the code which run archive_expsym_cmds without running export_symbols_cmds. 1999-06-20 Gary V. Vaughan * ltconfig.in: moved the test for NM after the test for no_builtin_flag. 1999-06-20 Alexandre Oliva * ltconfig.in: Use sed '$q' instead of sed "" for copying ltmain, just in case some sed does not support an empty command. * ltconfig.in (link_static_flag, ac_cv_prog_cc_static): Use the latter in the test. 1999-06-18 Thomas Tanner * ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive regex (reported by Chris P. Ross ) * ltmain.in: support `-dlopen dummy', define lt_preloaded_symbols if dlself != no * doc/libtool.texi (Compile and Link mode): document it, documented the -Wc, -Wl flags, libtool does also support non C source code 1999-06-18 Teun Burgers * ltconfig.in: CR/LF fix for broken DJGPP bash * ltmain.in: CR/LF fix for DJGPP 1999-06-18 Gary V. Vaughan * ltmain.in (outputname): When generating the executable wrapper script, $outputname already has the $exeext suffix, so we needn't add it again. 1999-06-16 Gary V. Vaughan * libltdl/configure.in (ac_cv_lib_dl_dlopen): missing "x" in test comparison corrected. * libltdl/ltdl.c (sys_wll_open): libltdl expects this function to fail if it is unable to physically load the library. Sadly, LoadLibrary will search the loaded libraries for a match and return one of them if the path search load fails. Simulate a failure in this case for compatibility with the other APIs. Also, LoadLibrary takes the liberty of adding `.dll' to library names passed without an extension, we now add a trailing `.' to prevent this from happening. 1999-06-15 Gary V. Vaughan * libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have decided that LoadLibrary returns `0' for success, yet FreeLibrary returns `0' for failure! The FreeLibrary call used to interpret `0' as success for both functions. 1999-06-14 Thomas Tanner * ltconfig.in: use eval when setting have_dlfcn_h, reformatting 1999-06-12 Thomas Tanner * ltmain.in: store old archives in deplibs and old_deplibs, retain the order of dependency libraries (even old archives), determining the absolute directory name didn't work due to a typo, add the library search paths of all dependency libraries when linking a library (fixes IRIX 5.2 bug) 1999-06-10 Alexandre Oliva * ltconfig.in: Reverted June 6's patch for new GNU ld output, it is no longer needed, as ld reverted to the original format. * NEWS: Likewise. * ltconfig.in: When testing self-dlopening, test whether dlclose crashes. On FreeBSD 3.1, it does. :-( * libltdl/configure.in: Likewise. * NEWS: Note work-around. Reported by Pavel Roskin 1999-06-09 Gary V. Vaughan * ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate no extension, and we must do the same in order to share the cache value. Also we must ignore conftest.err which HPsUX (at least) fills with gratuitous warnings. (objext): for consistency, do the same as above. Reported by Pavel Roskin 1999-06-09 Pavel Roskin * ltconfig.in (exeext): Use quotes in the test, to prevent a failure in sh.test. 1999-06-09 Gary V. Vaughan * ltconfig.in: Reordered tests to be more like configure.in's recommended order (programs first, then libraries, etc.). Performed a manual ``constant folding pass'' (eg: s/eval "test \"echo '$''{'lt_cv_dlopen'+set}'`\" != set/test "${lt_cv_dlopen+set}" != set/). s/test "${foo+set}" = "set"/test "X${foo+set}" = Xset/g * ltconfig.in (link_static_flag): Accept, in order of decreasing preference: the cached value; the default value for the current host. Also test that the compiler accepts the flag, and cache that result too. * ltconfig.in (pic_flag): Accept, in order of decreasing preference: the cached value; the default value for the current host. Also test that the compiler accepts the flag, and cache that result too. 1999-06-08 Gary V. Vaughan * ltconfig.in (LN_S): Accept, in order of decreasing preference: the cached value; an environment setting; ``ln -s'' if it works; ``ln'' if ``ln -s'' doesn't appear to work. * ltconfig.in (objext): Accept, in order of decreasing preference: the cached value; the result of a test object compilation. * ltconfig.in (RANLIB): Accept, in order of decreasing preference: the cached value; an environment setting; the first file called ``ranlib'' in the user's path. * ltmain.in (exeext): Use $exeext when working out the names of programs (but not the wrapper script itself due to a stupidity in win32 which hardwires the .exe extension to the binary loader!). * ltconfig.in (exeext): Now that the wrapper script tries to move executables, we need to know whether they have an extension (ala AC_EXEEXT). Since we can't rely on AC_EXEEXT having been called in configure.in, we must be able to check for ourselves, though we can look for a cached result incase AC_EXEEXT was called. * ltconfig.in (cygwin, pic_flag): Force separate compilation of objects for dlls vs. objects for static archives. Using a cpp macro also allows us to decide whether or not we need to use dllexport/import declarations. * ltconfig.in (cygwin, need_version): Set to no, otherwise module dll's end up with mighty long names! 1999-06-06 Alexandre Oliva * ltconfig.in: Support new GNU ld --help output format. * NEWS: Likewise. Reported by Gal Quri and H.J. Lu . 1999-06-05 Mark Kettenis * ltconfig.in: Update support for the Hurd. Make sure that the soname includes the major version number and create the right links. Allow shared objects without the `lib' prefix and without version information. 1999-06-02 Nick Rasmussen * ltmain.in (link): use "$nonopt" as the compiler for compile/finalize_command 1999-05-27 Alexandre Oliva * TODO: Remove the short list of people interested in C++ constructors; it's not meaningful, since there are so many more people requesting this feature, and we just can't maintain it accurate. 1999-05-27 Pavel Roskin * ltconfig.in (GNU Hurd, deplibs_check_method): Use pass_all. 1999-05-27 Alexandre Oliva , Olly Betts * ltmain.in: Expand convenience libraries when creating reloadable objects. * NEWS: Ditto. 1999-05-27 Alexandre Oliva * NEWS: Mention the two bugfixes below. * ltmain.in: Only create directory into which to extract convenience libraries when $convenience is not empty. It would always be created on systems that did not support whole_archive_flag_spec. * ltconfig.in (export_symbols_cmds): Add $convenience. (cygwin, export_symbols_cmds): Ditto. * ltmain.in: Generate export symbol list before expanding convenience libraries, to avoid passing whole_archive_flag_spec to $NM. Reported by Godmar Back 1999-05-27 David Jones * libltdl/ltdl.c (LTDL_BIND_FLAGS): Remove BIND_VERBOSE, to avoid printing error messages. 1999-05-26 Alexandre Oliva GNU libtool 1.3.2 was released. 1999-05-25 Alexandre Oliva * NEWS: List fixed problems. * doc/PLATFORMS: Tested for 1.3.2. * config.guess: Synch with GNU common. * ltmain.in: Revert to stripping .exe on all platforms. * TODO: Note about this problem. Demo is fixed on win32. Support `empty' convenience libraries. * ltconfig.in (solaris*, ld_shlibs): Do not enable shared libraries with GNU ld 2.8.*, it's broken. Emit a warning suggesting an upgrade. Reported by Brian Ford and Ronald Pijnacker 1999-05-25 Frank Ch. Eigler * ltmain.in: file_magic check would not avoid cyclic links. 1999-05-25 Alexandre Oliva * depdemo/main.c, depdemo/l1/l1.c, depdemo/l2/l2.c: K&R-ize. * depdemo/l3/l3.c, depdemo/l4/l4.c: Likewise. * ltmain.in: Remove object files before writing to them, to avoid circular links. Reported by Ron O'Hara 1999-05-24 Thomas Tanner * NEWS: support for installing stripped libraries using GNU strip * ltconfig.in: set deplibs_check_method=pass_all on FreeBSD, Linux and Solaris since no one can reproduce the famous deplibs bug * ltmain.in: preserve $CC (reported by Tom Tromey), strip libraries using GNU strip if it's available and the -s flag was passed to "install" 1999-05-23 Alexandre Oliva * doc/PLATFORMS: Release 1.3.1 passes on GNU Hurd/x86. Reported by Pavel Roskin 1999-05-23 Thomas Tanner * ltmain.in: strip off the .exe suffix only on *Win (Reported by Matthew D. Langston ) 1999-05-22 Thomas Tanner * NEWS: updated * TODO: -Wc, -Wl, implemented * AUTHORS: changed my email address * doc/libtool.texi: fix "wierd" typo :) * ltmain.in: linking against convenience libraries was broken, implemented the "-Wc," "-Wl," "-Xcompiler" "-Xlinker" flag for compiler and linker-specific flags, add -lc before we do the deplibs check * ltconfig.in: linkopts -> compiler_flags for $CC and linker_flags for $LD, link_all_deplibs=yes on IRIX 1999-05-22 Gary V. Vaughan * NEWS: insert todays date alongside 1.3.1 release. * Makefile.in: use gnu not gnits rules * config.guess: synch with gnu common & apply Takabatake-san's MIPS *000 patch. * config.sub: synch with gnu common. 1999-05-22 Doug Evans * libltdl/configure.in (dlerror): Fix typo in dlopen found in -ldl test. 1999-05-21 Pavel Roskin * Makefile.am (EXTRA_DIST): Don't distribute instutils. (install-data-hook): use libltdl/Makefile.am's local-install files rule. * libltdl/Makefile.am (local-install-files): New rule to install libltdl without creating links or mode 777 directories. * instutil/*: deleted. 1999-05-21 Alexandre Oliva * doc/PLATFORMS: Updated to 1.3.1 for all platforms I've got. Added sparc-unknown-linux-gnu. 1999-05-21 Gary V. Vaughan * demo/foo.h: s/PARAMS/LTDL_PARAMS/g * libltdl/ltdl.h: ditto. * libltdl/ltdl.c: ditto. * demo/foo.h: s/__P/PARAMS/g * libltdl/ltdl.h: ditto. * libltdl/ltdl.c: ditto. Reported by Akim Demaille 1999-05-20 Alexandre Oliva * NEWS: Updated docs. * TODO: Recommend libtool.m4 to be inserted in acinclude.m4. AIX 4.3.2.0 no longer fails on static dlopening. GNU DLD no longer has to support .la files, since libltdl already does. Convenience libraries and reloadable objects should be tested in the testsuite. We could support some amount of control on the soname of libraries. * doc/libtool.texi: Notes about convenience libraries and automake. Documented INCLTDL. 1999-05-20 Thomas Tanner * cdemo/main.c: "Welcome _to_ ..." * mdemo/main.c: ditto * libltdl/configure.in: support multiple dlopening mechanisms at once * libltdl/ltdl.c: prefix system dependent functions with "sys_" to avoid symbol conflicts (libdld didn't work) * libtool.m4 (AC_LIBLTDL_*): set INCLTDL to the path of ltdl.h * ltconfig.in: check for dlopen with -ldl first 1999-05-19 Gary V. Vaughan * NEWS: Added 1.3.1 news items. * doc/PLATFORMS: updated the boxes I have access to, to 1.3.1 in preparation for the next release. 1999-05-18 Gary V. Vaughan * ltconfig.in (cygwin*, whole_archive_flag_spec): dlltool chokes on this, so leave it unset in this case so that the ltmain code knows it has to unpack convenience archives by itself. 1999-05-17 Gary V. Vaughan * ltmain.in: Do not exit when an unknown library name is passed passed in, simply warn and continue since some compilers require -LANG:* like options to work. Reported by Adam C. Powell, IV 1999-05-17 Jiro Takabatake * ltconfig.in: port to NEC UX/4800. * NEWS: updated. 1999-05-17 Gary V. Vaughan * ltconfig.in (beos*, deplibs_check_method): set to pass_all. BeOS is PIC by default. Reported by "Shawn T . Amundson" * libltdl/configure.in: Fix test failures on AIX 4.3.2 by checking for dlopen *with* -ldl first. Reported by Greg Wooledge * demo/foo.h: Don't set any declspecs until we have full dll support. 1999-05-16 Alexandre Oliva * ltconfig.in (solaris2.6, whole_archive_flag_spec): Do not use -Wl for allextract. 1999-05-14 Alexandre Oliva * instutil/chmod: New script to avoid chmod'ing files while installing libltdl's sources. * instutil/ln: New script to avoid hard-linking libltdl's sources in the install tree. * Makefile.am (EXTRA_DIST): Dist them. (instal-data-hook): Add srcdir/instutil to the beginning of the PATH before installing libltdl's sources. 1999-05-09 Gary V. Vaughan * TODO: updated. 1999-05-06 Gary V. Vaughan * Makefile.am (install-data-hook): make sure the install directory is not left world writable. Reported by Andreas Schwab 1999-04-30 Alexandre Oliva * libtool.m4: Use ifelse instead of if. Reported by David Mazieres 1999-04-29 Alexandre Oliva GNU Libtool 1.3 was released. * NEWS: Summarize news from 1.2 to 1.3. * ltmain.in: Save exit status of link_command before removing symbol table object file. 1999-04-29 Gary V. Vaughan * doc/PLATFORMS: updated my hpux-10.20 and cygwin box entries. 1999-04-29 Alexandre Oliva * NEWS: Improved support for DU and IRIX too. * config.sub, config.guess: Updated from GNU common. * mdemo/configure.in: Move AC_LIBLTDL_CONVENIENCE before AM_PROG_LIBTOOL, as suggested by autoconf. * doc/libtool.texi (Distributing libltdl): Document that -static may cause the same problems on libltdl as -all-static. * TODO: We might want to fix this in the future. * doc/libtool.texi: Clear up overfull hbox. * libltdl/Makefile.am (ltdl.lo): Add dependencies. * libltdl/configure.in: Clean up some duplicate defines. Enable support for multiple dlopening mechanisms. * libltdl/acconfig.h: New file. Add #undefs for defines that would be duplicated. 1999-04-29 Gary V. Vaughan * libtool.m4 (cygwin*|mingw*, DLLTOOL, OBJDUMP, AS): Only expand the code that makes these configure time checks on hosts that need the tools *and* if the AC_LIBTOOL_WIN32_DLL macro is used. 1999-04-29 Alexandre Oliva * ltmain.in (nlist, SYMFILE): Use outputname instead of output for names within output_objdir. 1999-04-28 Alexandre Oliva * libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL): Do not call AC_BEFORE here, they're AC_REQUIREd by AC_LIBTOOL_SETUP. (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL): Call AC_BEFORE here, and now with two arguments, since these do change the default. (AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Fix calls to AC_BEFORE. 1999-04-28 Gary V. Vaughan * libtool.m4 (ltconfig_enable_win32_dll): pass --enable-win32-dll to ltconfig if this is set. (AC_LIBTOOL_WIN32_DLL): New macro required for libtool to attempt a dll build on win32 hosts. * ltconfig.in (--enable-win32-dll): new flag for the cli. (cygwin*|mingw*|os2*, ltconfig_enable_win32_dll): if this is not set to yes, then do not attempt to build shared libraries. * doc/libtool.texi: document AC_LIBTOOL_WIN32_DLL. * NEWS: noted new macro. 1999-04-27 Alexandre Oliva * libtool.m4 (AC_LIBTOOL_DLOPEN, AC_ENABLE_SHARED, AC_ENABLE_STATIC, AC_ENABLE_FAST_INSTALL, AC_LIBLTDL_CONVENIENCE, AC_LIBLTDL_INSTALLABLE): Warn if they appear after AC_PROG_LIBTOOL. AC_LIBTOOL_SETUP, actually. (AC_LIBTOOL_SETUP): Check whether DLOPEN support is to be enabled at autoconf time, not configure time. Simplify code and improve (?) help message about --disable-libtool-lock. 1999-04-27 Thomas Tanner * NEWS: new clean mode * THANKS: added Ossama Othman * doc/libtool.texi: documented the new `clean' mode * ltconfig.in: set need_version=no on OSF (reported by Marcus Sundberg ) * ltmain.in: allow absolute non-existant -L paths, always use output_objdir instead of objdir for temporary files, delete generated temporary symbol lists, don't add .la twice in the pseudo-library header, implemented and documented clean mode (deletes libraries, programs and object files and the files associated with them), if build_libtool_libs=no and no static library is available, try to link the program against the shared library, don't add a statically linked library to the dependency_libs * ltmain.in (help uninstall): added a missing backslash after echo (reported by Ossama Othman) 1999-04-27 Alexandre Oliva * ltmain.in (old_archive_cmds): Iterate on oldobjs to find out which links to object files we must create. Do not test for empty pic_flag to create such links. Use objext when searching for object files extracted from convenience library. * ltconfig.in (compiler_c_o): Make sure the compiler does not create temporaries in the current directory when output should go elsewhere. We must perform locking if it does. 1999-04-27 Gary V. Vaughan * ltmain.in (old_archive_cmds): Ensure that there are always .o objects available before running old_archive_cmds. 1999-04-26 Erez Zadok * doc/PLATFORMS: Updates for netbsd 1.3.3 and 1.4. 1999-04-26 Alexandre Oliva * ltconfig.in (aix4.[01], always_export_symbols): The case pattern would never match; fixed. Reported by Stephan Kulow 1999-04-25 Alexandre Oliva * libtool.m4 (OBJDUMP): Pass it to ltconfig. * configure.in: AC_SUBST DLLTOOL, OBJDUMP and AS. * Makefile.am (libtool, clibtool): Pass them to ltconfig. 1999-04-25 Frank Ch. Eigler * libtool.m4 (cygwin*): Look for target objdump tool. * ltconfig.in (cygwin*, file_magic_cmd): Use autoconf-located target objdump tool. Track OBJDUMP like DLLTOOL and AS. * ltconfig.in (cygwin*, deplibs_check_method): Accept "architecture: i386" as optional suffix, for it is printed on a separate line sometimes. * ltmain.in (cygwin*, ltdll.c): Wrap DllMain declaration in extern "C". * ltmain.in (deplibs_check_method=file_magic): Redirect stderr to /dev/null, to suppress error messages from target objdump. 1999-04-25 Alexandre Oliva * ltconfig.in (irix*, soname_spec, library_names_spec): Missing dots before $versuffix and $major. * ltconfig.in (solaris*, whole_archive_flag_spec): Use -z allextract/defaultextract from Solaris 2.6 on. Reported by Brian Ford * ltconfig.in (beos*, allow_undefined_flag): Do not build shared libraries with undefined symbols. * ltconfig.in (aix4*, allow_undefined_flag): Set to -berok. (aix4*, shared_flag): Set to -shared or ${wl}-bM:SRE. (aix4*, archive_cmds): Use -bexpall. (aix4*, archive_cmds, archive_expsym_cmds): Use shared_flag and allow_undefined_flag. (aix4*, always_export_symbols): Set to yes up to AIX 4.1.*, because -bexpall is supported from 4.2 on. Reported by Greg Wooledge * ltconfig.in (hpux*, hardcode_minus_L): Set to yes. (hpux*, hardcode_libdir_flag_spec): Do not use +s by default. (hpux*, shlibpath_overrides_runpath): Set to no. * ltconfig.in (irix*, osf*, archive_cmds): Write so_locations within objdir. * ltconfig.in (irix*, soname_spec): Append $major. (irix*, library_names_spec): Add new soname. Reported by David Kaelbling * ltconfig.in (irix*, sys_lib_dlsearch_path_spec): /usr/local/lib is not searched by default. /usr/lib is searched before /lib. * ltconfig.in (irix*, sys_lib_search_path_spec): /usr/lib is searched before /lib. * ltconfig.in (irix5*, need_lib_prefix, need_version): Set to no, by unifying with irix6*. * ltconfig.in (irix*, osf*, deplibs_check_method): Use pass_all. * ltconfig.in (old_LDFLAGS, old_LIBS): Save and write to comments in output file. * ltmain.in (prefer_static_libs): New variable, set to no by default, but set to yes by -static and -all-static. Used instead of build_libtool_libs to decide whether to use a shared or static version of a library, when both versions are available. 1999-04-25 Boyd Lynn Gerber * ltconfig.in (sco3.2v5*): Use LD_RUN_PATH for hard-coding. 1999-04-25 Pavel Roskin * Makefile.am (uninstall-local): Remove installed libltdl tree. 1999-04-25 Alexandre Oliva * demo/Makefile.am (hc-direct, hc-libflag, hc-libpath, hc-minusl): Added CFLAGS to link commands; SCO OSR needs it for -belf. * TODO: -Wl and -Wc options. 1999-04-12 Alexandre Oliva * libltdl/ltdl.c: Remove trivial warnings. 1999-04-22 Frank Ch. Eigler * ltconfig.in: Correct sed expression that extracts symbols from cygwin def files. Ignore demangled C++ names, if any. 1999-04-12 John David Anglin * libltdl/ltdl.c (shl_close): shl_t was correct here... (shl_sym): ... but we have to pass the handle by reference here. 1999-04-12 Alexandre Oliva * doc/libtool.texi (Invoking ltconfig): Document environment variables used. * doc/libtool.texi (Invoking ltconfig): Document --cache-file. * doc/libtool.texi (Invoking ltconfig): Document --disable-fast-install, --enable-dlopen, --with-gnu-ld and --disable-lock. 1999-04-11 Thomas Tanner * libltdl/configure.in: check for shl_load in libdld * libltdl/ltdl.c (shl_close, shl_sym): use (shl_t *) instead of shl_t * ltconfig.in (check for gcc): removed a bogus line, check for shl_load in libdld * ltmain.in: added a warning to the header of the .la file to warn users against deleting the file, link shared against static libraries if deplibs_check_method == pass_all 1999-04-10 Alexandre Oliva * libtool.m4 (AC_PROG_LD, AC_PROG_NM): When looking for programs, try $ac_exeext too, so that they're found on DJGPP/MS-DOS. * ltconfig.in: Likewise. Reported by Robert S. Maier * ltconfig.in (Usage): Removed --enable-dlopen-self. Reported by Pavel Roskin * ltconfig.in: Moved sysv4 before sysv4.*. (symcode): Brian's overrider is specific to sysv4, not sysv4*. 1999-04-09 Thomas Tanner * NEWS, README: Motorola System V 4 support * doc/PLATFORMS: added mk88-motorola-sysv4 * ltconfig.in: installed patch from Brian Ford to support mk88-motorola-sysv4 * doc/libtool.texi: some cleanups in the libltdl documentation 1999-04-07 Alexandre Oliva * ltconfig.in (--fallback-echo): Do not put an inline document and an exec in the same if construct; otherwise the inline document may not be removed. * ltmain.in (--fallback-echo): Likewise. Reported by John David Anglin * dryrun.test: It would still fail at random times, because `cp' and `mv' are not guaranteed to preserve the timestamps of the installed files. Instead of preserving them, just remove them before the dry uninstall test. Redirect dry-run output to stderr, so that it can be easily separated from the regular output. 1999-04-07 Thomas Tanner * NEWS: support for moved libraries * libtool.m4: another DJGPP fix 1999-04-07 Alexandre Oliva * doc/PLATFORMS: Updated to 1.3 for all platforms I've got. I'll make sure 1.3 won't be released unless it passes all tests on those platforms. * doc/libtool.texi (Compile mode): Document potential problem and work-around for `-c -o dir/foo.lo'. * tests/dryrun.test: The constant modifications of libtool would cause main.o to be updated at the wrong time; the new approach is to modify the libtool script so that it enables dry run depending on whether an environment variable is set or not. I've also moved `after' and `before' to a directory deep within $objdir, instead of creating it in ../tests. * tests/Makefile.am (CLEANFILES): Removed. 1999-04-06 Alexandre Oliva * tests/dryrun.test: We cannot rely on setting LIBTOOL, because automake may use sub-makes, and the setting will not be propagated to them on some makes. Instead, create a dry version of libtool and switch between it and the original one before and after dry runs. * tests/Makefile.am (CLEANFILES): Added libtool-*, created by dryrun.test. * tests/dryrun.test: Use cmp instead of diff. (before, after): Create them within ../tests. (libtool): Set to `/bin/sh ./libtool' by default, but use LIBTOOL, SHELL and top_builddir from the environment if available. For dry runs, use "$libtool -n". * tests/Makefile.am (CLEANFILES): Added before and after. * ltmain.in: Do not create links to object files in dry runs. 1999-04-06 Thomas Tanner * ltmain.in: added a missing line of the ILD patch * NEWS: improved DJGPP support * doc/libtool.texi: removed hardcode_into_libs documentation * libtool.m4: some DJGPP fixes * ltconfig.in: ditto, reverted one of my previous patches: we need to check for NM, removed the hardcode_into_libs support since no platform seems to support it * ltmain.in: some DJGPP fixes, removed the hardcode_into_libs support 1999-04-05 Alexandre Oliva * ltconfig.in (netbsd*, GNU ld): Support a.out shared libraries * Makefile.am (CVS): allow command-line overriding of cvs * ltconfig.in (exclude_expsyms): Exclude _GLOBAL_OFFSET_TABLE_ by default, as most a.out platforms use it, and end up in trouble if we preload it, so it's safer to rule it out by default, and special case its removal from exclude_expsyms if someone ever complains. 1999-04-05 Thomas Tanner * doc/libtool.texi: reorder tests to reflect execution order, documented dryrun.test and depdemo* * ltmain.in (lt_preloaded_symbols): dry-run mode bugfix * tests/dryrun.test: new test to check whether the dry-run mode works properly * demo/run.test: removed the unnecessary test * demo/Makefile.am: ditto * ltmain.in: set the DLL search path on cygwin,mingw and os2 1999-04-04 Alexandre Oliva * ltconfig.in (sunos4*, GNU ld): -Bstatic is not enough for deplibs.test to work with GNU ld; -Bshareable is needed here. * ltconfig.in (ld_shlibs, amigaos*): Disable shared libs with native ld too. * ltconfig.in (sunos4*, GNU ld): Reordered. * ltconfig.in (archive_cmds, sunos4*): Revert to -Bstatic; the native linker doesn't even support -Bshareable, only GNU ld does. Do not use `gcc -shared' in archive_cmds, it breaks deplibs.test. * ltconfig.in: if ld_shlibs=no, set can_build_shared=no too, otherwise it will just be disregarded. This would cause netbsd/m68k with GNU ld a.out, and certainly many other platforms, to incorrectly believe that shared libraries were supported, while archive_cmds was empty, causing shared libraries not to be created 1999-04-03 Alexandre Oliva * NEWS: improved support for AIX and HP/UX 1999-04-03 Thomas Tanner * NEWS: updated * libtool.m4: check for main in libm instead of cos * ltmain.in: cosmetic fixes, don't try to link libraries only once (although it's not necessary on many platforms and looks ugly...), 1999-04-02 Alexandre Oliva * ltmain.in (convenience): fixed race condition when more than one library was linked with the same convenience library by uniquifying the extract directory. It is now named after the new library *and* the old one, and lives in the objdir of the new one. * ltmain.in (-L*): do not abort just because a directory specified with -L does not exist; just warn and discard it * depdemo/l1/Makefile.am (AUTOMAKE_OPTIONS): no-dependencies * depdemo/l2/Makefile.am (AUTOMAKE_OPTIONS): ditto * depdemo/l3/Makefile.am (AUTOMAKE_OPTIONS): ditto * depdemo/l4/Makefile.am (AUTOMAKE_OPTIONS): ditto * ltconfig.in (archive_cmds, sunos4*): where we used -Bstatic, we should have been using -Bshareable * demo/Makefile.am (CLEANFILES): clean EXTRA_* from deplibs-check * libtool.m4 (LDFLAGS, LIBS): pass them to ltconfig, for the tests that involve linking * Makefile.am (LDFLAGS, LIBS, libtool, clibtool): ditto * tests/Makefile.am (CFLAGS, CPPFLAGS, LDFLAGS, LIBS): set (LDFLAGS, LIBS, TESTS_ENVIRONMENT): pass them down 1999-04-02 Erez Zadok * doc/PLATFORMS: 1.2f ok on various versions of hpux cc 1999-04-02 Alexandre Oliva * ltconfig.in (link_all_deplibs): set to unknown by default * ltmain.in: test != no, not = yes * doc/libtool.texi: document unknown 1999-04-01 Thomas Tanner * doc/libtool.texi: documented deplibs.test * demo/Makefile.am: moved testsuite specific declarations to the end, the deplibs check is now optional * libltdl/configure.in: read libtool --config only once, merged AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE from libtool.m4 * libtool.m4: AC_SYS_SYMBOL_UNDERSCORE+AC_SYS_NM_PARSE were not used, lt_dlopen and silent may be empty, AC_SYS_LIBTOOL_CYGWIN no longer necessary * ltconfig.in: NM is already checked in libtool.m4, * ltmain.in: always link all static dependency_libs * tests/Makefile.am: added deplibs.test * tests/demo-exec.test, demo-inst.test: removed hell0 * tests/deplibs.test: new test to test the deplibs_check_method 1999-03-31 Thomas Tanner * ltmain.in: always link a library before its dependency libs * mdemo/Makefile.am: test -export-symbols-regex 1999-03-30 Thomas Tanner * doc/libtool.texi: fixed a typo * libtoolize.in: add the libtool scripts to libltdl.tar.gz * libtool.m4: don't AC_SUBST(USE_SYMBOL_UNDERSCORE), AC_CHECK_LIBM sets LIBM, AC_LIBLTDL_INSTALLABLE doesn't work when libltdl is already installed * *demo/Makefile.am: use LIBM * *demo/configure.in: AC_SUBST LIBM * libltdl/configure.in: use ac_cv_sys_symbol_underscore instead of USE_SYMBOL_UNDERSCORE * ltconfig.in: added link_all_deplibs variable * doc/libtool.texi: document it * ltmain.in: always search for libname.la - don't eval libname_spec, when linking libraries against static ones just print a warning and add them to dependency_libs, add -lc before deplibs, always link all dependencies of a static library or if link_all_deplibs is yes, hardcode library paths if hardcode_into_libs is no, don't link against dependency_libs that already are deplibs 1999-03-30 Alexandre Oliva * ltconfig.in (aix4*, collect2name): make sure collect2 exists before running string on it, to avoid errors on old gccs Reported by Erez Zadok * ltconfig.in (aix4*, hardcode_libdir_flag_spec): unless we're using gcc with old collect2, use -b libpath to hardcode the library search path * ltmain.in, ltconfig.in: reverted most of the quoting changes from 1999-03-25; Gary's delay_variable_subst patch from 1999-02-19 obviates it. Keep only quoting of $PATH, for uniformity with other systems that already did it 1999-03-29 Gary V. Vaughan * libltdl/ltdl.c (lt_dladdsearchdir): Forgot to mallocate the extra byte of memory for the teminating NUL, and forgot to strcpy the original path in to the new memory before appending the new path compononent. 1999-03-27 Thomas Tanner * NEWS: updated * README: updated (BeOS support, no longer shared libraries support for AmigaOS), cleanups, we have now two mailing lists * REAMDE-alpha: autogen -> bootstrap, we have now two mailing lists * THANKS: added Xavier Pianet * doc/PLATFORMS: BeOS works * doc/libtool.texi: we have now to two mailing lists, updated -dlopen self documentation, documented libltdl's license, put each author in a separate line, inter-library dependencies on uninstalled libtool libraries are now supported, cleanups and minor corrections * libltdl/COPYING.LIB: new file * libltdl/ltdl.[ch]: added special exception to the LGPL license * libtool.spec: removed, it was outdated * Makefile.am: removed libtool.spec * ltmain.in: use TMPDIR when possible, create a subdirectory in the temporary directory, added -export-symbols-regex to the help, 1999-03-25 Alexandre Oliva * demo/Makefile.am: create a static library, link two libtool archives with it, then link the program hell0 with both * demo/hell1.c, demo/hell2.c: dummy files used to create the libtool archives without introducing symbol conflicts * tests/demo-exec.test, tests/demo-inst.test: run the new program * ltconfig.in (irix5*, irix6*, deplibs_check_method): pass_all * ltmain.in ($PATH): instead of modifying the PATH, better prevent its expansion the first time *_cmds variables are eval'ed. Modify $show within loops that eval them so as to expand variables * ltconfig.in (*_cmds): quote $ so that they're not expanded by the first eval 1999-03-25 Gary V. Vaughan * ltmain.in ($PATH): Expand any tildes in the users path to the contents of $HOME to avoid problems with *_cmds splitting and evaluation. 1999-03-24 Thomas Tanner * TODO: support -dlopen for libraries * doc/PLATFORMS: Erez Zadok reported that libtool works on bsdi 4.0.1 * doc/libtool.texi (libltdl): libltdl supports BeOS * libltdl/ltdl.c: shlib_ext was declared even if LTDL_SHLIB_EXT didn't exist, partially reverted my previous patch: BeOS will automatically search in ADDON_PATH * ltmain.in: don't allow relative run-paths, fixed a typo in a warning, ignore -dlopen self for libraries and objects, only accept -L paths that exist, minor cleanups, bugfix: add -lc for normal libraries, not convenicence libraries removed offensive warnings/comments 1999-03-24 Alexandre Oliva * ltconfig.in (ld_shlibs, amigaos*): disable shared libraries 1999-03-23 Gary V. Vaughan * libltdl/configure.in: the sed expression for finding the shared library extension used to think the . in [.] for the cygwin shared_library_names_spec was the start of the extension!! We now remove anything in square brackets (assuming that the square brackets delimit a sed or expr expression which is not part of the extension) before looking for the extension. * TODO (cygwin): food for thought re: mutually dependant dlls. 1999-03-21 Alexandre Oliva * tests/build-relink.test: if we relink and have hardcode_direct, removing an uninstalled library breaks an uninstalled program * doc/libtool.texi: documented convenience libraries * TODO: removed entry about it * tests/*-unst.test: if directory is not configured, skip it * tests/demo.test, tests/mdemo.test: unused, removed * tests/depdemo.test: ditto 1999-03-20 Thomas Tanner * doc/libtool.texi (link mode): documentation for -module updated * ltconfig.in: fast-install mode doesn't work for hardcode_into_libs=yes * ltmain.in: bugfix: "-dlopen self [-all]-static" wouldn't use dlopen_self_static, automatically enable -export-dynamic when using "-dlopen self", always make run-paths absolute, ignore -lc only on platforms that don't have such a library, cleanups in the ILD code, find even installed libtool libraries that were moved, before generating the DLL-import library we need to set libname, improved hardcoding of shlibpath for libraries, don't generate an installable pseudo-library for convenience libraries, bugfix: export_symbols would be removed immediately before it is used 1999-03-19 Thomas Tanner * use the same header in all configure.in's and Makefile.am's * NEWS: improved support for BeOS and Cygwin * TODO: ILD branch was merged, all internal variables and macros are now documented * demo/Makefile.am: use $(LIBS) instead of -lm * doc/libtool.texi: documented new variable hardcode_into_libs and thread_safe_flag_spec, renamed all AM_ENABLE/DISABLE_* macros to AC_*, documented AC_DISABLE_FAST_INSTALL and AC_LIBTOOL_DLOPEN * libltdl/ltdl.c: added two new error messages (cannot_open_error, cannot_close_error), use them where approriate, BeOS support (thanks to Xavier Pianet), on BeOS search modules additionally in ADDON_PATH * libtool.m4: rewrote AC_CHECK_LIBM: BeOS and Cygwin don't have libm and *-ncr-sysv4.3* requires libmw * ltconfig.in: don't check for LoadLibrary, hardcode dlopen configuration for BeOS and Cygwin * ltmain.in: fix sourcing of .la files on Solaris (patch by Raja R Harinath) 1999-03-19 Alexandre Oliva * ltconfig.in (sunos4*, with_gnu_ld, hardcode_minus_L): remove, we have -rpath (aix4*, without_gnu_ld, hardcode_shlibpath_var): unsupported is default (hpux9*, hpux10*, hpux11*, archive_cmds): drop +s, unneeded here (hpux9*, hpux10*, hpux11*, hardcode_libdir_flag_spec): add +s before +b (hpux9*, hpux10*, hpux11*, shlibpath_overrides_runpath): since +s appears before +b, set it to yes (hardcode_shlibpath_var, hardcode_action): do not use shlibpath_var to specify the compile-time search path; it loses, and we may end up linking with pre-installed older versions of libraries instead of yet-to-be-installed ones (*, hardcode_direct, hardcode_minus_L): remove entries that set them to no, that is default * demo/Makefile.am (hc-direct, hc-libpath, hc-minusL): link with $$hardcode_libdir_flag_spec, if available, with libdir=$(libdir), to make sure the hardcode_* variables will produce the expected results even in the presence of a hardcoding flag; depend on libhello.la having been installed already (hc-libflag): link with the installed library, but try to hard-code the uninstalled one * doc/libtool.texi: document the changes * tests/*.test: when a test fails, skip tests that depend on it. If a certain configuration is not supported, skip all its tests. * doc/libtool.texi: reorder tests to reflect execution order * tests/noinst-link.test: new test * tests/Makefile.am (TESTS): added noinst-link.test * doc/libtool.texi: document it 1999-03-19 Gary V. Vaughan * ltmain.in (dependency_libs): There is no reason to infer that the pseudo library is invalid if dependency_libs='' at install-time, or else libltdl/libltdl.la is invalid!! 1999-03-18 Thomas Tanner * merged my inter-library dependencies code from the ILD branch: * NEWS: inter-library dependencies are now supported * configure.in: add the depdemo subdirectory * depdemo/*: new demo to demonstrate inter-library dependencies * tests/depdemo*: new tests for depdemo * ltconfig.in: added hardcode_into_libs (whether library paths should be hardcoded into the libraries), it currently defaults to 'no' * ltmain.in: new internal 'relink' mode to relink libraries on platforms with hardcode_into_libs=yes, save command line arguments in libtool_args, accept relative -L directories, ignore -lm on BeOS and Cygwin, always ignore -lc, handle -l, -L and .la arguments later, always make the library installation directory (-rpath) absolute, in relink mode don't delete the not-relinked library and exit immediately after relinking, try to find already-installed libtool libraries that were specified using -l, support hardcoding of library paths into libraries too, export shlibpath before linking libraries, and a lot of other big changes that I don't want to describe here... please read the source. * merged Gary's Win32 code from the ILD branch: * NEWS: Win32 DLLs are now supported * TODO: removed .a library namespace clash for win32. It is now resolved. * ltconfig.in (cygwin, library_names_spec): removed $libname.a. Creating a dll with libtool no longer creates an import library. * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does not exist -- i.e. we need to generate import an import library in a directory which has no libs of its own. * doc/libtool.texi (old_archive_from_expsyms_cmds, extract_expsyms_cmds): documented these new variables. * ltconfig.in (extract_expsyms_cmds): New variable. Commands to extract the exported symbol list from a dll. (old_archive_from_expsyms_cmds): New variable. Commands to build an old archive from the extracted expsyms list. * ltmain.in: run the cmds in extract_expsyms_cmds and old_archive_from_expsyms_cmds as necessary. * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer required. * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even sure whether win32 honours the runpath at all when searching for a dll to load! Anyway, when set to yes this prevents a gratuitous warning. * ltmain.in (deplib): The cygwin environment doesn't actually have -lm, and although the linker fakes having one, specifiying it to libtool will break ILD, so we ignore it when generating dependencies. 1999-03-17 Gary V. Vaughan * doc/PLATFORMS: Thanks to Alexandres changes below, both my hp boxes pass the entire test suite. 1999-03-17 Alexandre Oliva * ltconfig.in (hpux*, hardcode_minus_L): should be no, we have +b (hpux*, hardcode_libdir_separator): set to colon 1999-03-17 Alexandre Oliva * doc/PLATFORMS: egcs is gcc; updates from Erez Zadok 1999-03-16 Alexandre Oliva * ltmain.in (deplibs, beos*): don't append -lc Reported by Xavier Pianet * tests/build-relink.test (hardcode_action): when set to relink, skip the test with lt-hell * Makefile.am (EXTRA_DIST): add mkstamp Reported by Xavier Pianet * Makefile.am (EXTRA_DIST): add ChangeLog.0 1999-03-16 Thomas Tanner * doc/libtool.texi: some minor corrections to the "-dlopen self" documentation * tests/Makefile.am: sorted by name, added assign.test * ChangeLog: started new file * ltconfig.in: some cosmetical changes * ltmain.in: ditto 1999-03-15 Alexandre Oliva * configure.in, libtool.spec, NEWS: bump to 1.3a * Branched for release 1.3 (branch-1-3) * configure.in, libtool.spec, NEWS: bump to 1.2g * configure.in, libtool.spec: bump to 1.2f * doc/PLATFORMS: ditto * NEWS: libtool 1.2f released * ltmain.in: silence ``unbug'' :-) detected by sh.test 1999-03-14 Alexandre Oliva * TODO: we now use full pathnames for `file' 1999-03-14 Thomas Tanner * TODO: libltdl is now documented * doc/libltdl.texi (linking with installed libtool libraries): fixed typo * doc/libltdl.texi (libltdl): added documentation for building libtool modules and examples how to embed libltdl * ltmain.in: don't ignore user-specified run-paths (fixed it at the right place) 1999-03-14 Alexandre Oliva * ltmain.in (deplibs_check_method=none): discard -L and -R switches when testing whether deplibs contains some library 1999-03-14 Erez Zadok * config.sub: recognize hppa2.0w, yet to be installed at GNU * config.guess: minor update for FreeBSD-elf, yet to be installed at GNU 1999-03-14 Alexandre Oliva * ltconfig.in (bsdi4*, sys_lib_search_path_spec, sys_lib_dlsearch_path_spec): fix thinko in variable names; add standard directories * ltmain.in (exclude_expsyms): exclude symbols before sorting, otherwise only the sorted list will have them excluded * ltconfig.in (file_magic_cmd, file_magic_test_file, freebsd-elf*, bsdi4*): use full pathnames when possible * Makefile.am (all-recursive): depend on ACINCLUDE_M4_LIST (all-local, check-local): remove, unused * doc/PLATFORMS: updated platforms tested on 1.2f-pre; clean up; reorder; untabify * config.guess, config.sub: updated from GNU common * doc/libtool.texi: notes on thread-safety problems of libltdl/dlopen on GNU/Linux and FreeBSD * ltconfig.in (aix3*, aix4*): GNU ld on AIX is very broken: it cannot create working shared libraries. Print a warning suggesting the user not to use it and disable shared libraries. 1999-03-13 Alexandre Oliva * ltconfig.in (global_symbol_to_cdecl): was reset before trying `symprfx=_', rendering the test with `_' useless * doc/libtool.texi (AM_PROG_LIBTOOL): eliminate overfull boxes * doc/libtool.texi: complete dlopening/libltdl documentation * ltconfig.in (osf3*, osf4*, deplibs_check_method): pass_all does not really work; use file_magic instead. (osf3*, osf4*): customize sys_lib_[dl]search_path_spec * ltconfig.in (file_magic_test_file): new variable; if set, it will be used as an argument for $file_magic_cmd to test whether the regex in deplibs_check_method matches its output (file_magic_cmd): use full pathnames whenever possible * ltconfig.in (sys_lib_dlsearch_path_spec): new variable, that lists the system *run-time* search path. Listed directories are not implicitly hard-coded into executables. * ltmain.in: use it, but *never* discard -R flags * doc/libtool.texi: document it * NEWS: ditto Reported by Bob Friesenhahn * tests/sh.test: look for `$Xsed' without `$echo "X...' * ltconfig.in, ltmain.in: fixed a few such occurrences * ltmain.in (-static, -all-static): revert March 11's patch, I was barking up the wrong tree 1999-03-12 Thomas Tanner * libltdl/ltdl.c: removed FILENAME_MAX since LTDL_FILENAME_MAX is sufficient and doesn't break HP/UX 1999-03-11 Alexandre Oliva * ltconfig.in: (global_symbol_pipe) extract symbol tag from the output of NM too (global_symbol_to_cdecl): new variable; convert the output of global_symbol_pipe to valid C declarations; on HP/UX, convert text symbols to function declarations * libtool.m4: similar modifications * doc/libtool.texi: document new variable * ltmain.in: use global_symbol_to_cdecl to generate lt_dlpreopened symbols; avoid extracting symbol lists from dlpreopened files twice; do not filter symbols from dlpreopened libraries * TODO: fixed HP/UX dlpreopening problem * ltmain.in (-static, -all-static): set dlopen_self to $dlopen_self_static regardless of link_static_flag or pic_flag * ltmain.in: FreeBSD bug that needs symbol table compiled with -fPIC is fixed in release 3.1; use it only for 2.* and 3.0 1999-03-11 Thomas Tanner * ltmain.in: when building a library it doesn't make sense to remove a relinked program ("lt-" prefix) 1999-03-11 Alexandre Oliva * mdemo/main.c (main, test_dl, test_dlself): propagate error conditions better, to avoid false positives * */configure.in: AC_SUBST(LIBTOOL_DEPS) * */Makefile.am $(OBJECTS): depend on libtool (libtool): rebuild automatically * ltconfig.in: set dlopen_* variables to unknown when appropriate * ltmain.in: only emit warning about lack of AC_LIBTOOL_DLOPEN if *all* dlopen_* variables are set to unknown 1999-03-11 Thomas Tanner * ltmain.in: delete the old output files (incl. the relinked binary) before linking. * ltconfig.in: replaced `configure' with $progname and all line numbers with @LINENO@ 1999-03-11 Alexandre Oliva * libltdl/ltdl.c (strdup): cannot return str when it's NULL because of const correctness 1999-03-10 Alexandre Oliva * libltdl/ltdl.c (strdup): always use our own, because the standard strdup won't use lt_dlmalloc * ltconfig.in (dlfcn.h): function definition may cause warnings; define variable instead * ltmain.in: properly create an export file for a program, avoiding error messages about not finding it * TODO: need to document AC_LIBLTDL_*; static self dlopening problem fixed * libtool.m4 (AC_LIBTOOL_DLOPEN): just set lt_dlopen=yes (AC_LIBTOOL_SETUP): if lt_dlopen=yes, add --enable-dlopen to libtool_flags; drop --enable-dlopen-self * ltconfig.in: perform all the dirty work of testing for dlopening support, because we need platform-dependent equivalents for -export-dynamic, for self dlopening, and -static, for static self dlopening (dlopen_self_static): new configuration variable that is set to yes only if static programs can dlopen themselves * ltmain.in (-static, -all-static): dlopen_self=dlopen_self_static * libltdl/configure.in (libltdl_cv_need_uscore): do not assume dlfcn.h and LTDL_LAZY exist; use LTDL_GLOBAL and LTDL_LAZY_OR_NOW. This test is likely to fail if self-dlopening does not work, especially because we do not link the program with -export-dynamic. Let's just hope that platforms whose symbol names start with underscores will also accept underscores for dlopen. We should probably use libtool to compile and link this test, so that we can use -export-dynamic. * mdemo/Makefile.am (@LIBLTDL@): depend on ../libltdl/config.h * configure.in: fix AC_OUTPUT_COMMANDS for ltconfig and ltmain.sh so that they work if srcdir is relative too * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): avoid introducing multiple --enable options when re-running config.status * libltdl/configure.in: if enable_ltdl_* is not set, assume no * configure.in: if enable_ltdl_install is not set, enable it * libltdl/configure.in: only assume implicit installation if libltdl was libtoolized. If not, print a warning message suggesting the use of --enable-ltdl-install or of one of the AC_LIBLTDL_* macros. * libtool.m4 (AC_LIBTOOL_SETUP): new macro, that does all the configure-work that AC_PROG_LIBTOOL used to do; add --cache-file=$cache_file to libtool_flags (AC_PROG_LIBTOOL): call AC_LIBTOOL_SETUP, save the cache, run ltconfig and reload the cache * configure.in: run AC_LIBTOOL_SETUP, then set LIBTOOL_FLAGS to libtool_flags * ltconfig.in: support --cache-file switch. If it is used, load the cache in the beginning and save it just before terminating * tests/Makefile.am (TESTS): run demo-nofast before demo-shared * configure.in: create ltconfig and ltmain.sh at the end of config.status, if they do not exist. This fixes the bootstrap problem reported by Erez Zadok 1999-03-10 Thomas Tanner * NEWS: sorted by importance * Makefile.am: set LIBTOOL_FLAGS when generating libtool * configure.in: check for dlopen support and set LIBTOOL_FLAGS accordingly * configure.in: fix spacing for --disable-ltdl-install, always configure libltdl, add libltdl/acinclude.m4 to ACINCLUDE_M4_LIST, disable installation of libltdl if necessary * libltdl/Makefile.am: set version info for libltdl.la * libltdl/configure.in: don't check whether enable_ltdl_convenience/install was set so that libltdl can be used as independent package (libltdl.tar.gz) without the need to use --enable-ltdl* * libltdl/ltdl.c: minor cleanups, allocate the line cache dynamically (lt_dlopen) 1999-03-10 Alexandre Oliva * libltdl/ltdl.c (lt_dlopen): some preprocessors choke if the `#' of `#define' is not in column 1; let's go back to fortran! :-) Add #undefs too, to avoid potential warnings or errors. 1999-03-09 Alexandre Oliva * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): renamed convenience libltdl, dropped toinst hack for installable * libltdl/Makefile.am: ditto * libltdl/configure.in: ditto; abort if none of the macros is used * ltmain.in: $output_objdir/$objdir/ -> $output_objdir/lt- 1999-03-09 Thomas Tanner * libltdl/ltdl.c (lt_dlopen): don't hardcode the length of the constant strings 1999-03-09 Alexandre Oliva * Makefile.am (install-data-hook): install libltdl as a directory, not as a tar-file, so that we do not modify the build tree at make install time * libtoolize.in (ltdl, ltdl_tar): update * configure.in, Makefile.am, NEWS: install libltdl by default * libtool.m4 (AC_LIBLTDL_INSTALLABLE, AC_LIBLTDL_CONVENIENCE): new macros * NEWS: ditto * libltdl/configure.in: if none of the new macros or configure arguments are used, warn and build convenience library only * libltdl/Makefile.am: conditionally build convenience libltdl.la * mdemo/configure.in: use AC_LIBLTDL_CONVENIENCE * mdemo/Makefile.am: refer to @LIBLTDL@ 1999-03-09 Gary V. Vaughan * NEWS: updated. 1999-03-08 Alexandre Oliva * ltmain.in: extract symbols from program objects to nlist first, then translate them to the export_symbols format. Now it works, but it appears to be needlessly extracting the symbol list from dlpreopened libraries twice * ltmain.in: temporarily disable dlopen_self when linking with -static or -all-static, until we figure out how to test whether it works at configure time * TODO: remember to fix this later * tests/build-relink.test: when hell is expected to fail, run it within a subshell and redirect stderr to stdout, so that dynamic linker errors are only printed in verbose mode * ltmain.in (hardcode_libdir_separator, compile_rpath, finalize_rpath): only substitute hardcode_libdir_flag_spec if hardcode_libdirs is non-empty * libtool.m4 (AC_LIBTOOL_DLOPEN): do not depend on the existence of dlfcn.h nor on the definition of RTLD_LAZY * tests/build-relink.test: hellT was renamed to lt-hell * libltdl/Makefile.am (@TOINST@/libltdl.la): do not hide the command that creates the TOINST directory; remove `-o $@' from the LINK command, $(LINK) already contains it. 1999-03-08 Thomas Tanner * doc/libtool.texi (tests): documented demo-nofast.test and renamed cdemo* to demo* 1999-03-08 Alexandre Oliva * libltdl/Makefile.am, libltdl/configure.in, mdemo/Makefile.am: libltdl must not be renamed; if there's a problem with the install option, let's fix it, not just work around it by breaking code of users of the convenience library * tests/build-relink.test: link broken libhello.la with at least one libtool object 1999-03-08 Thomas Tanner * TODO: updated (libltdl build problem fixed) * doc/libtool.texi (libltdl interface): removed the line which promised that lt_dlopen will return NULL if it can't resolve all symbols * libltdl/Makefile.am, libltdl/configure.in: fixed build problem: renamed the convenience library to libltdlc.la and the installed version to libltdl.la * ltmain.in (wrapper script): replaced the "T" suffix of the program file name with a "lt-" prefix * mdemo/Makefile.am: use libltdlc.la * tests/Makefile.am, tests/demo-nofast.test: added demo to test --enable-fast-install=no 1999-03-07 Alexandre Oliva * tests/Makefile.am (TESTS): run hardcode before build-relink trashes libhello.la * tests/hardcode.test (need_prefix): set to yes so that _inst is not removed * ltmain.in (compile_command): append finalize search path to compile search path * tests/build-relink.test: new; check shlibpath_overrides_runpath * tests/Makefile.am (TESTS): add build-relink.test; remove hardcode.test duplicates * doc/libtool.texi: document it * ltmain.in (relink_command): do not prepend cd `pwd` to it, the scripts already enters the correct directory, and expanding the pathname would prevent the build tree from moving * ltconfig.in (enable_fast_install): force it to no only if we need relink; in the other cases, set it to needless * ltmain.in (fast_install): if needless, set relink_command empty * doc/libtool.texi (fast_install, shlibpath_overrides_runpath): document the new behavior * ltconfig.in (enable_fast_install): test whether it can be forced off after shlibpath_overrides_runpath and enable_shared are set 1999-03-07 Thomas Tanner * TODO: updated * NEWS: updated * TODO: scheduled some items for next release/future * demo/configure.in: use AC_LIBTOOL_DLOPEN * libtool.m4: added AC_ENABLE/DISABLE_FAST_INSTALL macro * ltconfig.in: added --disable-fast-install flag * ltmain.in: partially reverted Alexandre's patch and implemented on-demand linking in such a way that the old developer-friendly linking style is optional, don't hardcode library paths that are in the system search path, fixed a typo in lib_search_path, implemented -export-symbols-regex for programs 1999-03-06 Alexandre Oliva * libltdl/ltdl.c (LTDL_LAZY_OR_NOW): renamed from LTDL_NOW; prefer LAZY loading because it's much faster and NOW is apparently partially broken on FreeBSD Reported by Archie Cobbs * ltconfig.in (archive_expsym_cmds, solaris, without_gnu_ld): $lib.exp already starts with $objdir/ Reported by Godmar Back * ltmain.in (freebsd): compile symbol table file with pic_flag only on FreeBSD and when not static linking; it's been causing trouble on platforms such as OpenBSD. 1999-02-26 Gary V. Vaughan * libtool.m4 (cygwin): s/\\(mingw\\|cygwin\\)32/\\1/g. Must've missed this file when I changed to cygnus' new sanction name. * ltconfig.in (sub_uncdrive): removed. This won't work with the next version of cygwin. (sub_uncdir): removed. We use :/path/to/executable now. * libtool.m4 (AC_PROG_LD): removed sub_uncdrive and sub_uncdir. 1999-02-25 Thomas Tanner * TODO: added items for next alpha release, ILD etc. * libltdl/ltdl.c: removed unnecessary check from presym_sym, fixed bug in lt_dlclose, allow lt_dlopenext(NULL), set deplibs for lt_dlopen(NULL) 1999-02-24 Alexandre Oliva * ltmain.in (file_magic_regex): sed `10q' is faster than `11,$d' 1999-02-22 Thomas Tanner * ltconfig.in (dlopen, dlopen_self): default is unknown * ltmain.in: fixed -dlopen self, print a warning if -dlopen is used without AC_LIBTOOL_DLOPEN * mdemo/Makefile.am: use -dlopen self 1999-02-22 Alexandre Oliva * ltmain.in: added missing mkdir $progdir for on-demand executable * ltmain.in: create on-demand executable as $progdir/$$-$program, and rename it to $progdir/$program only when it's finished, to avoid race conditions. We can still get the program linked multiple times, if multiple instances are started simultaneously and the program does not exist, but they are very unlikely to interfere with each other. There's still a possibility that one process removes the $program another has just created, and doesn't replace it before the other tries to run it, in a system whose `mv' is not atomic, so it will $rm then $mv, but so what? :-) Locking files have been avoided to prevent dead-locks in case they are left over after a reboot or crash. * TODO: removed ILD, soon to be merged, and added convenience libraries docs * ltconfig.in (irix5*, irix6*, shlibpath_overides_runpath): yes * ltmain.in: remove on-demand executable in the proper place, and just warn if it can't be removed; add wrapper code to test whether the install-executable is newer than the build-executable, to relink it when it appears to be out-of-date * libltdl/configure.in: check for dld.h * libltdl/ltdl.c: include dld.h (dld_open) it's spelled memory_error, not no_memory_error Reported by Stefan Burstroem * ltmain.in: fix typos in my last change (s/ocmpile/compile/) 1999-02-21 Thomas Tanner * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle when dlopening the executable * libtool.m4 (AC_LIBTOOL_DLOPEN): removed the redundant "yes: " prefix for lt_cv_dlopen, renamed lt_cv_dlopen_LIBS to lt_cv_dlopen_libs (more consistent) * ltmain.in: implemented -dl[pre]open self, necessary for lt_dlopen(NULL), generation of exported symbols was broken 1999-02-20 Alexandre Oliva * ltmain.in: avoid duplication of -L switches, it sometimes breaks IRIX 5.2's linker * ltconfig.in (freebsd*, finish_cmds): expand objformat here Reported by Vladimir Kushnir 1999-02-20 Vladimir Kushnir * ltconfig.in (freebsd-elf*, need_version, need_lib_prefix): no (freebsd-elf*, library_names_spec): add $libname.so instead of $libname.so$versuffix; add $libname$release.so 1999-02-20 Alexandre Oliva * doc/libtool.texi: remove ticks from menu items; it breaks TeX Reported by Erez Zadok * ltmain.in: fixes for export-symbols dry-run * ltconfig.in (shlibpath_overrides_runpath): new variable; determines whether LD_LIBRARY_PATH or equivalent can be used to override a hard-coded library search path; default to unknown (linux-gnu*): set it to no (solaris*, sunos4*): set it to yes * ltmain.in (build_libdirs_flags, build_libdirs, build_rpath): if shlibpath_overrides_runpath is not yes, arrange that wrapper scripts create, on demand, programs that use uninstalled libraries * doc/libtool.texi: document it * libtool.m4 (AC_LIBTOOL_DLOPEN): check for dlopen in libc before trying in dl. Add the actual dlopening type to lt_cv_dlopen, and add any needed libraries to lt_cv_dlopen_LIBS. Add test for MS-Windows' LoadLibrary. Check whether a program can dlopen itself only if we really have dlopen(), not some equivalent function, but leave room for testing with other mechanisms. (AC_PROG_LIBTOOL): assume some form of dlopen, but not dlopen(NULL), is available if AC_LIBTOOL_DLOPEN is not used, for backward compatibility. 1999-02-20 Archie Cobbs * libltdl/ltdl.c (lt_dlopen): use newhandle instead of handle where appropriate, when dlopening a non-libtool library 1999-02-19 Gary V. Vaughan * ltconfig.in (export_symbols_cmds): renamed from export_symbols_cmd. (cygwin, mingw): Be sure to compile the ltdll.c object before extracting the exported symbol list. Extract only the names of the exported symbols from the def file [otherwise we might run into trouble with -export-symbols-regex]. (archive_expsym_cmds): Regenerate the def file from the symbol export list. (delay_variable_subst): New sed expression to allow us to delay evaluation of $foo in a double_quote_subst evaluated variable by using \$. * ltmain.in (export_symbols_cmds): evaluate each ~ delimitted cmd separately. * doc/libtool.texi (libtool script contents): new paragraph to explain the difference between _cmd and _cmds suffixes for variable names. (export_symbols_cmds): renamed from export_symbols_cmd. 1999-02-18 Alexandre Oliva * ltconfig.in (ld_shlibs): move -soname and similar flags to the end of archive_cmds and archive_expsym_cmds, so as to prevent gcc's collect2 from inserting an object file between -soname and the library name * ltconfig.in (openbsd*, netbsd*, library_names_spec): append alternate name without ${release}, otherwise build fails when -release is used 1999-02-18 Gary V. Vaughan * ltconfig.in (archive{,_sym}_commands): Be careful not to re-export the dll entry points DllMain@12, _cygwin_dll_entry@12 and _cygwin_noncygwin_dll_entry@12 to avoid bugs with the wrong entry function being called with inter-dll dependencies. Reported by DJ Delorie * THANKS: Added DJ Delorie, since his code inspired the impgen.c program and because he has patiently answered all of the irritating dll and win32 questions I have fired at him. * ltmain.in (version_type): Oops. Irix versioning implies that major version numbers are 1 based (not zero based). Fixed. * ltmain.in (version_type): Implement irix versioning. * ltconfig.in (irix{5,6}*): Use new irix shared object versioning. * TODO: remove irix versioning from TODO list. * ltmain.in (impgen.c): Added a new embedded C file that can be used under win32 to extract a def file (symbol export list) from a dll that has none. Code to use it might need to wait for the ILD merge before it will be useful... 1999-02-18 Thomas Tanner * TODO: updated * autogen: only libltdl needs autoheader * doc/libtool.texi (link mode): documented -export-symbols-regex and updated -export-symbols * doc/libtool.texi (script contents): documented always_export_symbols, export_symbols_cmd, exclude_expsyms, include_expsyms, dlopen and dlopen_self more detailed description of need_lib_prefix * ltconfig.in: a "'" was missing in the default value of export_symbols_cmd * ltmain.in: implemented -export-symbols-regex 1999-02-17 Alexandre Oliva * ltconfig.in: (freebsd2*, sunos4*, exclude_expsyms): exclude _GLOBAL_OFFSET_TABLE_ * ltmain.in: implement exclude_expsyms with egrep * libltdl/ltdl.c (lt_dlmalloc, lt_dlfree): SunOS' cc can't cope with argument lists, we __P even in the definition 1999-02-15 Thomas Tanner * cdemo/Makefile.am: renamed *foo1 to *foo, removed $(MATH_LIB) * cdemo/foo1.c: renamed to foo.c * libltdl/ltdl.c: eliminated lt_dltype, in presym_open(): search for @PROGRAM@ if filename == 0, in lt_dlopen(): fixed bug for filename == 0 * libltdl/ltdl.h: use __P macro for lt_dlmalloc/free * libtool.m4: new macro AC_LIBTOOL_DLOPEN: checks for dlopen and dlopen(NULL) support * ltconfig.in: added new variables dlopen and dlopen_self, --enable-dlopen[-self] flags for AC_LIBTOOL_DLOPEN * ltmain.in: use dlopen[_self], dlpreopen files if there's no dlopen support, build lt_preloaded_symbols only if -dl[pre]open was used, include program symbols if -export-dynamic was specified and there's no dlopen(NULL) support * mdemo/configure.in: use AC_LIBTOOL_DLOPEN * mdemo/main.c: demonstrate lt_dlopen(0) 1999-02-15 Gary V. Vaughan * demo/dlmain.c (_WIN32): The lt_symlist structure is now const, so my original horrible temporary win32 hack no longer worked. Here is a new horrible temporary hack to prevent helldl from SEGVing on win32. I will fix this properly when we figure out how to do data exports from dlls. 1999-02-14 Alexandre Oliva * libtool.m4 (AC_CHECK_LIBM): do not set MATHLIB or AC_SUBST it, this has a negative side-effect of causing automake to add MATHLIB to every single Makefile. Let's use plain AC_CHECK_LIB, so that LIBS get set, until we find a better alternative * *demo/Makefile.am: remove $(MATHLIB) * libltdl/configure.in: add a DESCRIPTION argument to AC_DEFINEs where appropriate, so as to get rid of acconfig.h * libltdl/acconfig.h: removed 1999-02-13 Thomas Tanner * *demo/Makefile.am: use $(MATHLIB) * *demo/configure.in: use AC_CHECK_LIBM * doc/libtool.texi: renamed file_magic_command to file_magic_cmd, renamed archive_sym_cmds to archive_expsym_cmds * ltconfig.in: ditto * ltmain.in: ditto * libltdl/ltdl.c: use lt_dlmalloc/free * libltdl/ltdl.h: define lt_dlmalloc/free * libtool.m4: added AC_CHECK_LIBM macro * ltconfig.in: renamed archive_sym_cmds to archive_expsym_cmds, added always_export_symbols, export_symbols_cmd, exclude_expsyms, include_expsyms, removed archive_cmds for cygwin/mingw and AIX, on Solaris store the exported symbols list in objdir * ltmain.in: allow -export-symbols for modules, use thread_safe flag, add include_expsyms to the exported symbols 1999-02-12 Gary V. Vaughan * libltdl/ltdl.h (_LTDLL_EXTERN): libltdl is no longer linked as a shared library, so the _declspec's were preventing the linker from resolving symbols on win32. They have been removed now. 1999-02-12 Alexandre Oliva * ltmain.in: don't try to read objdir/libname.la before it is created! * ltmain.in: create libname.lai at link time, not at install time, but still create it at install time if it is missing Reported by Akim Demaille * libltdl/ltdl.c (tryall_dlopen): strcmp filenames was reversed 1999-02-11 Thomas Tanner * autogen: libltdl needs autoheader * demo/Makefile.am: renamed hell.debug to hell.static (we're demonstrating static linking, not debugging) * tests/demo*: ditto * doc/libtool.texi (libltdl): documented new lt_dlopen(NULL) feature * libltdl/acconfig.h: required for config.h * libltdl/configure.in: use config.h * libltdl/ltdl.c: use config.h, support lt_dlopen(NULL) (returns a handle for the program itself) * ltconfig.in: minor reformatting * ltmain.in: in lt_preloaded_symbols always define the program's symbols first, for -export-dynamic list all program symbols together, -export-symbols was broken for programs, minor reformatting * mdemo/Makefile.am: renamed mdemo.debug to mdemo.static * tests/mdemo*: ditto, mdemo.test was completely broken 1999-02-10 Alexandre Oliva * ltconfig.in (irix5*, irix6*, osf3*, osf4*): do not use -set_version in archive_cmds if verstring is empty (irix6*, shlibpath_var, sys_lib_search_path-spec, deplibs_check_method): set appropriate values depending on selected ABI, -32, -n32 or -64, as set in LD by libtool.m4 (uts4*): remove dot between .so and versuffix 1999-02-08 Alexandre Oliva * ltconfig.in (irix5*, irix6*, deplibs_check_method): use file_magic for inter-library dependency tracking * ltconfig.in (irix5*, hardcode_libdir_separator): set it to a colon, because on IRIX 5 only the last -rpath switch prevails, and it can be a list of colon-separated directories. This change will affect irix6 too, but that's not a problem. * ltconfig.in (irix5*, library_names_spec): add soname_spec, otherwise we can't dlopen 1999-02-08 Thomas Tanner * ltconfig.in: according to Marcus Sundberg HP/UX, IRIX, OpenBSD, Digital Unix and SunOS support need_version=no and need_lib_prefix=no, fixed a bug in Solaris' archive_sym_cmds 1999-02-04 Alexandre Oliva * libtool.m4 (ac_cv_sys_global_symbol_pipe): accept TAB in addition to space as separator, and allow more than one space between the symbol code and the symbol name; HP/UX's nm, for example, uses two spaces * ltconfig.in (global_symbol_pipe): ditto (bsdi4, deplibs_check_method): variable name was misspelled * libltdl/configure.in (libltdl_cv_preloaded_symbols): rewrite test, so as not to depend on the way global_symbol_pipe is initialized; the current test would get false positives, as global_symbol_pipe was initialized `x=""', not `x=' * libltdl/ltdl.c (find_module): initialize filename if dir is NULL Reported by Godmar Back 1999-02-04 Godmar Back * libltdl/ltdl.c (lt_dlopenext): missing space for terminator when allocating memory for shlib_ext 1999-02-03 Alexandre Oliva * libltdl/ltdl.c (lt_dlopenext): tmp would be trashed if shlib_ext was longer than 3 characters 1999-02-02 Gary V. Vaughan * ltconfig.in: new config.guess returns *-*-cygwin now instead of *-*-cygwin32. sed -e 's%\(cygwin\|mingw\)32%\1%g' ltconfig.in * ltmain.in: sed -e 's%\(cygwin\|mingw\)32%\1%g' ltmain.in * ltconfig.in (hardcode_libdir_flag_spec, allow_undefined_flag, archive_cmds, archive_sym_cmds, old_archive_from_new_cmds): removed duplication of config by assuming that `test $with_gcc = yes' implies gnu ld, otherwise MSVC++ (which I haven't tested since I inheritted the code from Ian Lance Taylor btw!) is implied. 1999-01-28 Gary V. Vaughan * ltmain.in: Reverted this change of Alexandre's from the 1999-01-25; "don't try to use .o instead of .lo just because there's no PIC flag. It loses if --disable-static, and there's not much point if we're referring to the same file anyway...", because not all linkers will accept .lo object names. * ltmain.in: In the case where --disable-static is specified (as noted in Alexandre's log entry), we just link some .o files to prevent the original error. Reported by Andrey Slepuhin 1999-01-27 Alexandre Oliva * libtoolize.in: search for A[MC]_PROG_LIBTOOL, not AM_PROG_LIBTOOL Reported by Jeff Garzik 1999-01-27 Gary V. Vaughan * THANKS: Now that we have a policy, applied it to the existing list. This in no way demeans the work of those people removed from the THANKS file, who are still credited in the ChangeLogs and without who's work, libtool would not work so well on many platforms, but serves to highlight the outstanding and continued contribution the remaining people have made. And I quote, "We reserve THANKS for people who have made major contributions, and leave the credit to the others for the ChangeLog only." * THANKS: added Sam Vilain. * ltconfig.in ($echo): When using printf to replace echo the shell expands %s\n to %sn. Changed to use "%s\n" (with quotes). Reported by Sam Vilain 1999-01-27 Alexandre Oliva * libltdl/ltdl.c (find_file): fix endless loop condition (find_module): filename allocation was off by 1 * libltdl/Makefile.am (distclean-local): renamed from distclean-hook, that didn't work * libltdl/ltdl.c (lt_dlopen, non-.la): find_file now returns 0 on failure * Makefile.am (ltconfig, ltmain.sh): some broken makes don't like macros in targets; replace $(srcdir) with @srcdir@ * configure.in (ACINCLUDE_M4_LIST): same problem; expand $srcdir * libltdl/Makefile.am (@TOINST@/libltdl.la): if installation is enabled, create to-be-installed libltdl.la within @TOINST@ directory (noinst_LTLIBRARIES): even if installation is enabled, build convenience libltdl.la, otherwise builds of random packages may fail if the user happens to enable installation (distclean-hook): wipe out $(TOINST) * libltdl/configure.in: set TOINST and LIBLIBS as appropriate; don't set NOINSTLIBS any more * mdemo/Makefile.am: use libltdl.la * libltdl/ltdl.c (find_file): oops, filenamesize was miscomputed * libltdl/ltdl.c (find_file): allocate filename dynamically * libltdl/configure.in (AC_PROG_LIBTOOL): automake does not recognize it and fail, better keep using AM_PROG_LIBTOOL until the next release of automake * demo/configure.in, cdemo/configure.in: ditto * depdemo/configure.in, mdemo/configure.in: ditto * libltdl/ltdl.c: make all global strings char[], not char*; check that all calls to malloc() are properly cast (strdup, strchr, strrchr, trim, free_vars): declare as inline (find_module): allocate filename dynamically; support null dir (free_vars): free dir and name only if non-null (lt_dlopen): keep dir as NULL if not given; fix expression that calculated the size of name; only free and name if non-null (lt_dlopenext): allocate tmp dynamically * configure.in (pkgdatadir): expand ${PACKAGE} at configure-time, just like automake does * configure.in (pkgdatadir): define pkgdatadir explicitly, and comment that automake does not need it, but libtoolize does * Makefile.am (aclocaldir): do not set it explicitly, automake does already * configure.in (TIMESTAMP): use mkstamp here too 1999-01-27 Thomas Tanner * cdemo/configure.in: renamed AM_PROG_LIBTOOL to AC_PROG_LIBTOOL * demo/configure.in: likewise * depdemo/configure.in: likewise * libltdl/configure.in: likewise * mdemo/configure.in: likewise * libltdl/ltdl.c: in find_module() check whether libdir is defined, tryall_dlopen(): move deallocation of an already opened handle to lt_dlopen(), allocate the directory in lt_dlopen() dynamically, minor cleanups, fixed memory leak (name) * libtool.m4: renamed all AM_ macros to AC_ and added aliases for compatibilty, updated AC_SYS_NM_PARSE (no undefined symbols, don't count the symbols) * ltconfig.in: added thread_safe_flag_spec (not used yet), added generic variable for linker options "linkopts" in all archive_cmds * ltmain.in: added -thread-safe flag (unused) 1999-01-26 Alexandre Oliva * ltconfig.in (LTCONFIG_VERSION): damn!, adding TIMESTAMP doesn't always work, because then different ChangeLog timestamps fail to pass the version test. Instead of forcing both ltconfig and ltmain.sh to be updated every time ChangeLog changes, better revert it * ltconfig.in (LTCONFIG_VERSION): add TIMESTAMP, remove explicit quotes and add it to the list of variables to quote * ltmain.in: reworded `dropped inter-library dependencies' message, and added a warning about inter-library dependencies even for non-module builds 1999-01-26 Gary V. Vaughan * Makefile.am (install-data-hook): Don't show the if expression that tests for gzip with a conditional error message; just do it quietly and show the error if it fails, or the next action if it succeeds. * configure.in: It seems Alexandre accidentally removed the AC_SUBST(pkgdatadir) line recently which breaks libtoolize. Reverted that small change. 1999-01-25 Alexandre Oliva * libltdl/ltdl.c (find_module): test old_name and dlname for NULL, not len==0 * libltdl/configure.in (libltdl_cv_objdir): yes, appending the "/" in configure.in was much simpler * libltdl/ltdl.c (objdir): ditto * libltdl/ltdl.c (objdir): string collation isn't portable; strcat "/" explicitly. Or should this be moved to configure.in? 1999-01-25 Thomas Tanner * libltdl/ltdl.c: allocate the variables in lt_dlopen() dynamically 1999-01-25 Alexandre Oliva * ltmain.in (file_magic): use egrep instead of expr to support more general regular expressions (file_regex): remove it; the name is misleading, it's not used anywhere, and probably will never be * ltconfig.in, doc/libtool.texi: ditto * ltconfig.in (linux-gnu*, deplibs_check_method): extend regex to support `LSB dynamic lib' in the output of `file' Reported by Scott D. Heavner * ltmain.in (dependency_libs, xrpath): add -R switches to dependency_libs only just before creating the .la file; they should not be passed to the C compiler or linker at library-creation time, since we don't know whether it is supported * ltconfig.in (freebsd2.2*, hardcode_minus_L): for FreeBSD 2.2.6, this must be `no' * mkstamp: move the sed script to extract revision and date information into a separate shell-script, so that we can break lines between commands; FreeBSD's sed doesn't like `;' after `t' Reported by Axel Thimm * Makefile.am: use mkstamp * THANKS: added Axel Thimm * ltmain.in: don't try to use .o instead of .lo just because there's no PIC flag. It loses if --disable-static, and there's not much point if we're referring to the same file anyway... * ltmain.in (pass_all=none, droppeddeps): set only if deplibs was non-empty 1999-01-24 Thomas Tanner * libltdl/ltdl.c: minor bugfixes, append a "/" the search directory only if necessary * ltconfig.in: added support for FreeBSD >= 3.0 (patch from Kurt D. Zeilenga) * THANKS: added Kurt D. Zeilenga 1999-01-24 Thomas Tanner * doc/libtool.texi (libltdl): list supported dlopen mechanisms, added function lt_dlopenext(), removed reference to LTDL_PRELOADED_SYMBOLS in LTDL_SET_PRELOADED_SYMBOLS * libltdl/ltdl.c: partially reverted Alexandre's dynamic string allocation change (it was not necessary and the code was unreadable), cleanups, removed usr_search_path_size, renamed usr_search_path to user_search_path, in find_module() also check for moved modules, merged find_file() and find_library(), added lt_dlopenext(), in lt_dladdsearchdir() no longer reset the search path if 'search_dir' == NULL and don't use realloc() (might not be available on all platforms), removed __P((void)) in the declaration of lt_dlgetsearchpath() * libltdl/ltdl.h: added lt_dlopenext() * ltconfig.in: AIX archive commands were broken, fixed a MAJOR bug in global_symbol_pipe which caused "demo-shared.test;demo-make.test" to fail (libtool must not extract undefined symbols of libraries, i.e. symcode must not contain 'U') * tests/Makefile.am (clean-local): "make distclean" in cdemo, too 1999-01-22 Alexandre Oliva * Makefile.am (ltconfig, ltmain.sh): add ChangeLog Revision to TIMESTAMP * configure.in: get values of PACKAGE and VERSION set by AM_INIT_AUTOMAKE, and extract only TIMESTAMP from the ChangeLog * libltdl/ltdl.c (lt_dlopen): if we're reusing a previously opened handle, don't reset its name nor add it to the list, and free the name we have allocated Reported by Edouard G. Parmelan * Makefile.am (ltconfig, ltmain.sh, TIMESTAMP): let's not assume anything about the format of the date, just that it does not contain `$' 1999-01-22 Gary V. Vaughan * configure.in (date): echo the version number during configuration, and show $date for cvs versions. * Makefile.am ($(srcdir)/ltconfig): Oops. cvs co keyword expansion ate the sed expression! Changed sed separator to '%' because there are '/' in the date. Added missing '\(' to search expression. Inserted a null string to stop cvs from expanding it next time =)O| ($(srcdir)/ltmain.sh): ditto. 1999-01-22 Alexandre Oliva * Makefile.am (TSDEPS_DIST): dist-time dependencies for timestamps (timestamps, update-timestamps): check whether TSDEPS_DIST are up-to-date and update ltconfig and ltmain.sh if needed (ltconfig, ltmain.sh): depend on TSDEPS; replace @TIMESTAMP@ with the Date tag in the ChangeLog (TSDEPS): empty unless overridden by update-timestamps * ltconfig.in, ltmain.in (TIMESTAMP): append timestamp to most references to VERSION 1999-01-22 Gary V. Vaughan * ltmain.in (ild): Revert the change which allowed libtool to link libraries with dependencies on .la libs. * NEWS: Removed reference to win32, incase 1.3 ships before ild is ready. * doc/PLATFORMS: Removed i686-pc-cygwin32, for the same reason. * doc/libtool.texi: Removed win32 refs, for the same reason. 1999-01-22 Alexandre Oliva * ltmain.in (Xsed): add 1 to Xsed definition that goes into temporary wrapper scripts * libtool.m4: we don't have Xsed here, expand it manually Reported by Pavel Roskin 1999-01-22 Edouard G. Parmelan * ltmain.in (finalize_hardcode_libdirs, finalize_rpath): in platforms that use -rpath, programs must be finalized at installation time, otherwise build-tree programs will prefer installed libraries over build-tree ones 1999-01-22 Alexandre Oliva * mdemo/Makefile.am (../libltdl/libtool): if it does not exist, the sub-make for libltdlc.la will take care of it, but we must at least provide an empty rule for it, otherwise the sub-make will never run * demo/configure.in, demo/Makefile.am (DLPREOPEN): reverted; it didn't make any difference. 1999-01-21 Gary V. Vaughan * THANKS: Added Chris Laas From Chris Laas * ltmain.in (compile): corrected a typo in compile mode which caused "gcc: unrecognized option -c-fPIC" errors due to a missing space. 1999-01-21 Alexandre Oliva * libltdl/configure.in: reintroduce code to detect native library extension * libltdl/ltdl.c (lt_dlopen): if a .la file name is given, that's all. Otherwise, lt_dlopen now tries to append .la first. If this fails, it tries the given filename, and, at last, tries to append the native library extension to the given filename. * doc/libtool.texi (lt_dlopen): explain new lookup strategy * libltdl/ltdl.c: major rewrite to avoid almost all fixed-size buffers; only `tmp' in lt_dlopen remained. But the code got ugly :-( * ltconfig.in (linux-gnu*, finish_cmds): remove erroneous backslash * demo/configure.in: set DLPREOPEN to -dlopen if we don't have shared libraries * demo/Makefile.am (DLPREOPEN): use instead of -dlpreopen (STATIC): use $(STATIC), not @STATIC@ * mdemo/Makefile.am (STATIC): ditto * tests/demo-shared.test, tests/demo-static.test: new tests * tests/mdemo-shared.test, tests/mdemo-static.test: ditto * tests/Makefile.am: ditto * doc/libtool.texi: document them * demo/Makefile.am, mdemo/Makefile.am (STATIC): do not use -static unconditionally, it can't work with --disable-static * demo/configure.in, mdemo/configure.in: check whether libtool was configured to build static libraries and, if not, set STATIC to an empty string 1999-01-20 Alexandre Oliva * ltmain.in (module, droppeddeps): if libtool could not satisfy all dependencies of a module, it will only build a static version of it, and display a warning message 1999-01-20 Erez Zadok * ltconfig.in (aix4*, with_gcc, archive_cmds): fix typo in Andrey Slepuhin's last patch 1999-01-20 Alexandre Oliva * Makefile.am (@DIST_MAKEFILE_LIST@): work around Ultrix /bin/sh bug * tests/nomode.test (must specify a MODE): ditto Reported by Rainer Orth * THANKS: Added Rainer Orth 1999-01-20 Rainer Orth * ltconfig.in: No known version of Solaris 2 hardcoded -L paths. 1999-01-20 Erez Zadok * ltmain.in: s/n\'t/ not/ * doc/PLATFORMS: updates for sunos4/m68k and aix 1999-01-20 Andrey Slepuhin * ltconfig.in (aix4*): check for reworked collect2, always pass -bnoentry option to linker when building a shared library 1999-01-20 Alexandre Oliva * ltmain.in (file_magic): follow soft-links before running `file' on the candidate library; try to avoid entering endless loop Suggested by Nix * ltconfig.in (linux*, solaris*, bsdi4*, sys_lib_search_path): remove expansion of $LD_LIBRARY_PATH * ltmain.in (lib_search_path): append the expansion of $shlibpath_var * doc/libtool.texi: document it * THANKS: Added Steven Schultz 1999-01-20 Steven M. Schultz * ltconfig.in (bsdi4*, check_shared_deplibs_method): file_magic (bsdi4*, sys_lib_search_path): add /shlib and other dirs 1999-01-20 Alexandre Oliva * cdemo/main.c (main): use K&R definition syntax * mdemo/main.c (test_dl, main): ditto (test_dl): casts return value of lt_dlsym to appropriate types * ltmain.in (dlsyms): #define const to nothing if not __STDC__ * ltconfig.in (global_symbol_pipe): #define const to nothing if not __STDC__ * demo/dlmain.c (main): cast s->address to the appropriate pointer types, otherwise StunOS4's cc refuses to compile it * ltconfig.in (sunos4*, without_gnu_ld, with_gcc, archive_cmds): add -fPIC, because libgcc is multilibbed, and we want the PIC version of it for shared libraries, otherwise ld complains * demo/dlmain.c (main): add missing const to declaration of name * libltdl/ltdl.c (find_module): remove the libdir argument, and try to open library only as old_name and dir/dlname (lt_dlopen): use `installed' variable in .la file to decide whether to use libdir or objdir * demo/configure.in (AC_C_CONST): added, for portability * mdemo/configure.in (AC_C_CONST): ditto * libltdl/configure.in (AC_C_CONST, AC_C_INLINE): ditto * libltdl/ltdl.c (LTDL_FILENAME_MAX): use FILENAME_MAX if defined (FILENAME_MAX): replace all explicit uses with LTDL_FILENAME_MAX (presym_free_symlists, trim): don't return void, for portability (lt_dlgetsearchpath): replace (void) with __P((void)) * ltmain.in (compile): when compiling both PIC and non-PIC, write the PIC object to .libs/.lo and only rename it to .lo after compiling the .o, to avoid fooling make dependencies * mdemo/main.c (LTDL_PREOPENED_SYMBOLS): remove 1999-01-20 Gary V. Vaughan * TODO: Added inter-library deps for ltlibs. * THANKS: Added Vladimir Kushnir. 1999-01-20 Vladimir Kushnir * ltconfig.in (freebsd3*): Define `deplibs_check_method' and `file_magic_command' for freebsd-elf. 1999-01-20 Alexandre Oliva * TODO: should we also build a `static' copy of a convenience library out of .o files? * ltconfig.in (bsdi4*, netbsd*, uts4*, library_names_spec, soname_spec): removed duplicate dot before $major Reported by Steven M. Schultz (bsdi4*) * THANKS: added Manfred Weichel 1999-01-20 Manfred Weichel * ltconfig.in (sysv5*): same as sysv4.3* 1999-01-20 Alexandre Oliva * libltdl/ltdl.c (lt_dlopen): properly detect error condition when full pathname of non-libtool library is provided * libltdl/configure.in (libltdl_cv_preloaded_symbols, HAVE_PRELOADED_SYMBOLS): test whether we support -dl*open * libltdl/ltdl.c (!HAVE_PRELOADED_SYMBOLS, lt_preloaded_symbols): define it to an empty list if libtool won't generate it, so as to avoid link errors. This will cause silent dlopening failures, but maybe this is better than failing to link the program... * libltdl/ltdl.h (LTDL_PRELOADED_SYMBOLS): remove it; better to declare lt_preloaded_symbols * doc/libtool.texi (LTDL_PRELOADED_SYMBOLS): ditto * ltmain.in (dlpredeps): removed, reverting 1999-01-17's change 1999-01-19 Alexandre Oliva * libltdl/Makefile.am (Makefile): depend on libtool * ltmain.in (lt_preloaded_setup): function added to symbol list source file to work around FreeBSD problem * Makefile.am (check-local): depend on libltdl/Makefile * mdemo/Makefile.am (mdemo_LDFLAGS, mdemo_LDADD): moved -dlopen flags to LDADD * doc/libtool.texi (Using Automake): how to add -dlopen to LDADD 1999-01-19 Gary V. Vaughan From Andrey Slepuhin * ltmain.in (hardcode_action) Oops, misapplied the patch! * ltconfig.in (compile_dependencylbs): removed this variable and pick up the library dependencies from $deplibs. * ltmain.in (compile_dependencylibs): removed this variable, use deplibs to hold these dependencies. From Andrey Slepuhin * ltmain.in (hardcode_action) make sure deplibs is set to include all the extra libs added to compile_command. 1999-01-18 Alexandre Oliva * libtool.m4 (LIBTOOL_DEPS): set it * libltdl/configure.in (LIBTOOL_DEPS): AC_SUBST it * libltdl/Makefile.am (libtool): use it * doc/libtool.texi (AM_PROG_LIBTOOL): document it * Makefile.am (libltdl.tar.gz): don't create it as part of the build, since it is likely to become stale if we do (install-data-hook): create and install libltdl.tar.gz, without depending on GNU tar Reported by Manfred Weichel 1999-01-17 Thomas Tanner * Makefile.am: added libltdl.tar.gz to CLEANFILES * ChangeLog: some reformatting * TODO: documentation updates * doc/libtool.texi: added preliminary libltdl documentation, updated dlopen and -module documentation, renamed -avoid-versioning to -avoid-version documented the libtool script variables compiler_c_o, compiler_o_lo, need_locks, old_postuninstall_cmds, postuninstall_cmds, sys_lib_search_path_spec, fix_srcfile_path, objdir, objext, libext, documented the two new flags (--ltdl[-tar]) of libtoolize * libltdl/Makefile.am: incremented the version, removed libtool dependency so that it can be build independently * libltdl/configure.in: removed LTDL_SHLIB_EXT hack, set version to 1.0, use AM_MAINTAINER_MODE, DLPREOPEN is always supported, check for libtool's objdir variable (LTDL_OBJDIR) * libltdl/ltdl.c: some cleanups (moved constants to the beginning of the file and prefixed all of them with LTDL_, minor optimizations in find_file() and find_module()), renamed lt_dlpreopen* to lt_dlpreload* for consistency, removed LTDL_SHLIB_EXT hack, we don't need unistd.h, DLPREOPEN is _always_ supported, reverted Alexandre's lt_dlpreopen_default_ change, try to open the not-installed module before the installed one, replaced lt_dlsearchpath() with lt_dladdsearchdir(), lt_dlsetsearchpath() and lt_dlgetsearchpath() * libltdl/ltdl.h: renamed lt_dlpreopen* to lt_dlpreload* for consistency, removed the declaration of lt_preloaded_symbols (should be imported by programs), reverted Alexandre's lt_dlpreopen_default_ change and added two new macros LTDL_PRELOADED_SYMBOLS and LTDL_SET_PRELOADED_SYMBOLS(), added lt_dladdsearchdir(), lt_dlsetsearchpath() and lt_dlgetsearchpath() * libtool.m4: some reformatting * libtoolize.in: implemented --ltdl, bugfix when checking for the libtool package directory * ltconfig.in: removed $thread_safe_flags from Andrey Slepuhin's AIX patch, renamed sys_lib_search_path to sys_lib_search_path_spec, some reformatting, fixed typo in deplibs_check_method (unkwnon) * ltmain.in: documented -o for compile mode, some reformatting, renamed -avoid-versioning to -avoid-version renamed sys_lib_search_path to sys_lib_search_path_spec * mdemo/Makefile.am: use -avoid-version * mdemo/main.c: use LTDL_PRELOADED_SYMBOLS and LTDL_SET_PRELOADED_SYMBOLS() 1999-01-17 Alexandre Oliva * ltconfig.in (wlarc): set to either '${wl}' or an empty string, depending on whether archive_cmds runs CC or LD (gnu_ld=yes, whole_archive_flag_spec): "$wlarc" instead of '${wl}' * mdemo/Makefile.am (../libltdl/libltdlc.la): depend on ../libtool, because ../libltdl/libtool depends on it (mdemo_debug_*): copy from mdemo_*, adding -static to LDFLAGS * ltmain.in (dlpredeps): append dependencies from dlopened modules (but not dlpreopened ones) after all explicitly linked libraries * ltconfig.in (need_lib_prefix, need_version, deplibs_check_method): default to unknown, so that we're remembered that this needs porting; unknown is interpreted as yes, yes and none, respectively (freebsd2*, freebsd3*, sunos4*, need_version): set to yes (freebsd2*, freebsd3*, library_names_spec): libraries without a version number are not used by `ld'; add $versuffix; Reported by Ben Jackson * ltmain.in (deplibs_check_method): alias unknown to none (need_version): if vinfo was not provided and release info was, zero out versuffix only if we don't need_version. * doc/libtool.texi: document what `unknown' means * libltdl/ltdl.h (lt_dlpreopen_default): reverted to a macro without arguments, that calls lt_dlpreopen_default_ with lt_dlpreloaded_symbols * libltdl/ltdl.c (lt_dlpreopen_default_): renamed from lt_dlpreopen_default (find_module) tryall_dlopen old_name first, so that we don't override statically linked symbols with dlopened ones 1999-01-15 Gary V. Vaughan From Andrey Slepuhin * libtoolize.in (cd $pkgdatadir): Make sure we return the the working directory when this is done. From Andrey Slepuhin * ltconfig.in (aix): Use shared library support correctly on aix4*, and tweak the config for aix3. * NEWS: added aix3 and aix4 to list of hosts with improved support. * THANKS: added Andrey Slepuhin . 1999-01-15 Thomas Tanner * Makefile.am (@DIST_MAKEFILE_LIST@): added a second '$' before abs_scrdir, removed ltconfig and ltmain.sh from EXTRA_DIST (automake distributes them by default) 1999-01-14 Thomas Tanner * autogen: moved faking of the libtool scripts before the call of automake, so that ltconfig and ltmain.sh are included in the distribution * ltconfig.in: when checking whether PIC is supported assume only on HP/UX that warnings during compilation mean that PIC is not supported (Thanks to Ron O'Hara) * THANKS: added Ron O'Hara 1999-01-14 Alexandre Oliva * Makefile.am: Moved ltconfig and ltmain.sh back into srcdir, and add them to the distribution. Added work-around if `mv -f' fails. fix @AINCLUDE_M4_LIST@ and @DIST_MAKEFILE_LIST@ for relative and absolute specifications of srcdir 1999-01-14 Thomas Tanner * libltdl/ltdl.c: added variable symbol prefix, added user-defined library search path (can be set using lt_dlsearchpath()), added default_preloaded_symbols which are independent of lt_dlinit/exit * libltdl/ltdl.h: added lt_dlsearchpath() and lt_dlpreopen_default() * mdemo/Makefile.am: use -export-dynamic until libtool and libltdl are able to handle module dependencies 1999-01-14 Gary V. Vaughan * THANKS: added Mark Elbrecht. * ltconfig.in (PATH_SEPARATOR): new variable to hold valid $PATH separator characters for the build host, to support DJGPP environment. * ltconfig.in: Use PATH_SEPARATOR instead of hardcoded `:'. Reported by Mark Elbrecht * cdemo/README: typo: mdemo->cdemo 1999-01-14 Thomas Tanner * autogen: fake the libtool scripts to help fixing the bootstrapping problem * Makefile.am: always configure libltdl, however after building the libtool scripts, build the libtool scripts in builddir, not srcdir (unfortunately this breaks building when srcdir!=objdir, but it was just plain wrong - needs to be fixed), build and install libltdl.tar.gz, copy acinclude.m4 instead of linking them, so that we can 'make dist' in libltdl, fixed configuring of subdirectories * configure.in: removed --enable-ltdl-install - libltdl is supposed to be installed by packages, not by libtool itself * libtoolize.in: new flags --ltdl and --ltdl-tar to install libltdl in packages (--ltdl doesn't work yet), install only the necessary libtool scripts, not just all files in pkgdatadir * mdemo/Makefile.am: removed the rule for libltdl configuration 1999-01-13 Alexandre Oliva * mdemo/Makefile.am (../libltdl/libtool): mkdir and configure ../libltdl 1999-01-13 Thomas Tanner * demo/dlmain.c, libltdl/ltdl.c, ltconfig.in, ltmain.in, doc/libtool.texi: renamed dld_preloaded_symbols to lt_preloaded_symbols, symbol lists are 'const' * cdemo/configure.in: don't check for string.h * demo/dlmain.c: renamed dld_symlist to lt_symlist, preloaded symbols are 'const', use lt_ptr_t instead of void* * demo/foo.h: define lt_ptr_t * doc/libtool.texi: document lt_preloaded_symbols correctly * libltdl/Makefile.am, mdemo/Makefile.am: renamed libtest to libltdlc * libltdl/ltdl.c: fixed some minor typos, renamed dldpre to presym, bugfix: search in search_path only if we have no directory and a search_path, in lt_dlsym() check whether symbol != 0 * libltdl/ltdl.h: removed lt_dlpreopen_default() * ltconfig.in (dlpreopen): removed dld_preloaded_symbol_count * ltmain.in: added help for -avoid-versioning, -export-symbols, -module, add @SYMFILE@ if one of -export-dynamic, -dlopen or -dlpreopen is used * mail/deplibs.html: added Gordon Matzigkeit's inter-library dependencies article * mdemo/Makefile.am: removed -export-dynamic from LDFLAGS (no longer necessary, since libtool defines lt_preloaded_symbols when -dlopen is used), initialize with lt_preloaded_symbols 1999-01-13 Alexandre Oliva * doc/libtool.texi (Test descriptions): cdemo-static works, thanks to Edouard Parmelan! * THANKS: added Sebastian Wilhelmi * ltconfig.in (solaris): define `need_version' to no 1999-01-13 Sebastian Wilhelmi * ltconfig.in (solaris): Define `deplibs_check_method', `file_magic_command', `need_lib_prefix' and `sys_lib_search_path' * ltmain.in (file_magic_regex): Add space before matching pattern, such that it works on solaris (solaris has a tab between the library name (including the colon) and the `ELF' and such the `ELF' will never be matched). 1999-01-13 Edouard G. Parmelan * ltconfig.in (NM): PATH search was not updated like in libtool.m4, in last Alexandre Oliva's change to it (sysv4*, ncr): pass all library dependencies * ltmain.in (dependency_libs, -R): use `deplib' instead of `arg' to iterate, otherwise we'd overwrite `arg' (convenience, old_libs): if --disable-shared, convenience libraries are just old archives, as .lo's are of no use * tests/cdemo-static.test: print --disable-shared here 1999-01-13 Alexandre Oliva * libltdl/configure.in (libltdl_cv_shlibext, LTDL_SHLIB_EXT): system-dependent extension of shared libraries (libltdl_cv_shlibpath_var, LTDL_SHLIBPATH_VAR): system-dependent run-time shared library search path * libltdl/ltdl.c (dldpre_init, dldpre_exit): unrelate init/exit from add/remove symlists, so one may add dld_preloaded_symbols from main(), when only a library will call dldpre_init (lt_dlopen): use LTDL_SHLIBPATH_VAR, if defined, as secondary search path. Also, if a requested .la file cannot be found, try with the LTDL_SHLIB_EXTension instead. * ltmain.in (old_archives, oldobjs): use find to SYMDEF here too * Makefile.am (@DIST_MAKEFILE_LIST@): `$' must be doubled * configure.in (AC_CONFIG_DIRS): configure only libltdl, and then, only if --enable-ltdl-install (CONF_SUBDIRS): list directories that are configured on demand, but that must be included in the distribution (ACINCLUDE_M4_LIST, DIST_MAKEFILE_LIST): generated from CONF_SUBDIRS * Makefile.am (AUTOMAKE_OPTIONS): added version 1.3e and readme-alpha, to handle README-alpha automatically (EXTRA_DIST): removed README-alpha (BUILD_SUBDIRS): subdirectories that are always built (SUBDIRS): BUILD_SUBDIRS plus BUILD_LTDL (DIST_SUBDIRS): BUILD_SUBDIRS plus CONF_SUBDIRS, from configure (all-local, check-local): depend on $(ACINCLUDE_M4_LIST), from configure, and libtool, so that it is built before subdirs (configure-subdirs): new target (configure-subdirs, distdir): depend on $(DIST_MAKEFILE_LIST), from configure (@DIST_MAKEFILE_LIST@): create subdir if needed, then run configure. On-demand configuration of subdirs at distribution time was suggested by Gary V. Vaughan * libtool.m4, ltconfig.in (NM): search for NM in PATH before /usr/ccs/bin, /usr/ucb and /bin. However, if the found one isn't BSD-compat keep searching. If no BSD-compat is found, use the first we found. * THANKS: added Raffaele Sena 1999-01-13 Raffaele Sena * libltdl/ltdl.c: replaced RTDL with RTLD 1999-01-13 Manish Singh * ltconfig.in (osf3*, osf4*, irix6*): include ${libname}{release}.so for library_names_spec 1999-01-13 Alexandre Oliva * configure.in (AC_CONFIG_SUBDIRS): added cdemo * Makefile.am (DIST_SUBDIRS): ditto (ACINCLUDE_M4_LIST): ditto * tests/Makefile.am (TESTS): added cdemo-shared.test * tests/cdemo-static.test: disable shared libraries here * tests/cdemo-shared.test: disable static libraries here * doc/libtool.texi (Test descriptions): added cdemo tests * THANKS: added Edouard G. Parmelan 1999-01-13 Edouard G. Parmelan * ltmain.in: fix convenience libraries when static libraries are disables. * cdemo/README, cdemo/Makefile.am, cdemo/configure.in, cdemo/foo.h, cdemo/foo1.c, cdemo/main.c, cdemo/.cvsignore, test/cdemo-conf.test, test/cdemo-make.test, test/cdemo-exec.test, test/cdemo-static.test: new tests for convenience libraries. * autogen, Makefile.am, test/Makefile.am: ditto. * ltconfig.in, doc/PLATFORMS: Added support for NCR MP-RAS (i586-ncr-sysv4.3*) with native compiler. * README, doc/libtool.texi: Added note for NCR MP-RAS compiler. 1999-01-12 Thomas Tanner * ltmain.in: before using LN_S remove the symlink * libltdl/ltdl.c: support multiple symbol lists, moved library- and file searching to separate functions, renamed "preload_libs" to "dl_dependency_libs", set the LT_SYMBOL_OVERHEAD to the correct value (7), fix to support lt_dlsym() for not-libtool modules again, check for invalid handles, when using strdup() check whether it fails * libltdl/ltdl.h: declare the lt_dlsymlist type for lt_dlpreopen() * mdemo/README: rewritten * mdemo/configure.in: check only for math.h (string.h is no longer necessary) 1999-01-12 Gary V. Vaughan * configure.in (ltdl-install): Fixed up the indentation so that `configure --help' is pretty again. 1999-01-11 Alexandre Oliva * ltmain.in, NEWS, doc/libtool.texi: Added support for -R flag * ltmain.in, doc/libtool.texi: documented that -rpath is the same as -R for programs * ltmain.in: softened the instructions for linking with installed libraries, and noted that libtool can be used to link with them; documented that -rpath is not required for convenience libraries * ltconfig.in (symxfrm): don't print $pipe_works twice, once for each $ac_symprfx Reported by Godmar Back * ltmain.in (convenience, libobjs): get only .o and .lo files from the files extract from the convenience library. Some systems, such as FreeBSD2, will add a SYMDEF file, that is not an object file, and therefore should not be fed to the linker * libtool.m4 (AM_SYS_NM_PARSE): while we are at it, we may well cache the value of ac_cv_sys_symbol_underscore * libtool.m4 (AM_SYS_NM_PARSE): need for underscore prefix is now auto-detected, by trying first without, then with it. * ltconfig.in: ditto 1999-01-10 Alexandre Oliva * configure.in (AC_CONFIG_SUBDIRS): add libltdl, demo, mdemo and depdemo commented out, so that `dist' works before `check' (BUILD_LTDL): will contain libltdl if --enable-ltdl-install * Makefile.am (DIST_SUBDIRS): expand SUBDIRS and add depdemo, commented out (SUBDIRS): add $(BUILT_LTDL) * libltdl/Makefile.am (EXTRA_LTLIBRARIES): add libtest.la, the same as libltdl but always a convenience library. Not built by default. Both libraries now depend on the libtool script, that depends on ../libtool and is rebuilt when needed * mdemo/Makefile.am (mdemo, mdemo.debug): depend on and link with ../libltdl/libtest.la, that is rebuilt if needed (mdemo_LDADD): removed $(LIBADD_M), to avoid silent failures (foo1.la): renamed from libfoo1.la; test removing the lib prefix * mdemo/foo1.c: renamed libfoo1_LTX symbols to foo1_LTX * mdemo/main.c: don't include string.h nor math.h, nor refer to sin nor cos * tests/mdemo-exec.test: renamed libfoo1.la to foo1.la * tests/mdemo-inst.test: ditto * libltdl/ltdl.c (FILENAME_MAX): use it instead of MAX_FILENAME, and don't redefine it if already defined; default to 1024, as on most systems (LT_SYMBOL_LENGTH): renamed from MAX_SYMBOL_LENGTH (LT_SYMBOL_OVERHEAD): new macro, that accounts for the size of the _LTX_ separator and the initial underscore (lt_dlsym): sym now points to a stack buffer (lsym) if possible, or is dynamically allocated. If allocation fails, a buffer_overflow_error is returned. 1999-01-10 Thomas Tanner * ltmain.in: define dld_preloaded_symbols if at least one of -export-dynamic, -dlopen or -dlpreopen was specified, do not include program objects in the symbol list if -export-dynamic was not enabled * libltdl/ltdl.c: limit symbols to max. 256 bytes * mdemo/Makefile.am: build libltdl in a subdirectory, do not use -export-dynamic for mdemo and mdemo.debug * tests/mdemo-conf.test,tests/mdemo-make.test,tests/mdemo-inst.test: do not check for libltdl 1999-01-09 Alexandre Oliva * libltdl/ltdl.c (lt_dlopen): missing strlen in bound test 1999-01-09 Thomas Tanner * NEWS: support for BSD/OS 4.x was not documented * demo/Makefile.am: link against libm only if available * mdemo/Makefile.am: likewise, use -avoid-versioning flag instead of -avoid-version (typo) * demo/configure.in: check for libm, string.h and math.h * mdemo/configure.in: likewise * depdemo/configure.in: check for libm and math.h * libltdl/configure.in: check for dlerror * libltdl/ltdl.c: check for buffer overflows, implemented dlerror, fixed a severe bug which occured when opening non-libtool modules, dlopen with the flags GLOBAL and NOW * mdemo/main.c: report the error using lt_dlerror() 1999-01-08 Gary V. Vaughan * doc/libtool.texi (old_archive_from_new_commands): Documented this ltcofig variable. 1999-01-07 Gary V. Vaughan * ltmain.sh (cygwin, allow_undefined): Unfortunately, there are problems with this variable when trying to make a dll which has undefined symbols, in which case not even a static library is built. For now, we need to specify -no-undefined on the libtool link line when we can be certain that all symbols are satisfied, otherwise we get a static library. 1999-01-06 Thomas Tanner * ChangeLog: merged in tests/ChangeLog * tests/ChangeLog: deleted * libltdl/ltdl.c: assigned copyright to the FSF * libltdl/ltdl.h, mdemo/foo*,main.c: likewise 1999-01-06 Gary V. Vaughan * ltmain.in (dllsearchpath): add absolute directory paths to dllsearchpath so that the wrapper scripts can be called from any directory (e.g. tests) on cygwin. * ltconfig.in (cygwin, library_names_spec): revert Alexandre's change from yesterday to use `-dll.a' suffix. That change caused $libname-dll.a to be a symlink to $soname, which isn't even an `ar' archive. Before the import library suffix can be changed, we need to figure out how to handle building objects differently for linking with an import library versus an equivalent static library. * TODO: Added details of a Linux wrapper script bug. Reported by Jeff Garzik . 1999-01-05 Alexandre Oliva * ltmain.in (libobjs_save, oldobjs): when building an old-fashioned archive, use a copy of libobjs saved before convenience libraries are appended * libltdl/ltdl.h (_LTDLL_EXPORT, _LTDLL_IMPORT): use cygwin or unix library import/export primitives; this may be convenient for people willing to create DLLs (_LTDLL_EXTERN): select _LTDLL_EXPORT or _LTDLL_IMPORT depending on _LTDL_COMPILE_ * libltdl/ltdl.h, libltdl/ltdl.c (lt_dlpreopen): new function, that replaces the current preloaded_symbols list with its argument, and returns the old value, initially NULL (dldpre_init): don't refer to dld_preloaded_symbols any more (dldpre_open, dldpre_sym): search preloaded_symbols (lt_dlpreopen_default): call lt_dlpreopen with dld_preloaded_symbols, that is declared as extern; it should be called from the main program or from some static library without -no-undefined (lt_dlerror): new function, that returns the error message for the last error occurred; the error message is kept in the static variable last_error * libltdl/configure.in (enable-ltdl-install): moved back from enable-install; other packages might use enable-install already, better have fine grained control over this. * libltdl/Makefile.am (libltdls.la): discarded 1999-01-05 Thomas Tanner * configure.in: do not configure libltdl by default * Makefile.am: do not build libltdl by default * libltdl/Makefile.am: ltdls.lo depends on libtool * tests/Makefile.am: before starting the tests make sure that libtool was build * tests/mdemo-conf.test: configure libltdl * tests/mdemo-make.test: build libltdl 1999-01-05 Alexandre Oliva * ltmain.in (SP2NL, NL2SP): Don't delete empty lines, as this would lose for files with embedded blanks. * ltconfig.in (cygwin, archive_cmds, archive_sym_cmds): Moved ltdll.c into ltmain.in, to avoid its duplication, and added a sed script to extract it. Also, create def and base files in $objdir, and don't remove them after the compilation. (cygwin, library_names_spec): Create static part of the dll with suffix -dll.a, to avoid conflicts with actual static libraries. * ltmain.in: Added ltdll.c, as commented out text 1999-01-01 Thomas Tanner * NEWS: new BeOS support * THANKS: added Joseph Beckenbach * libltdl/ltdl.h: use dllimport/export on Win32 1998-12-31 Joseph Beckenbach III * ltconfig.in: added support for BeOS * ltmain.in (shlibpath_var): added a workaround for an odd bug in the BeOS R4 sed 1998-12-31 Thomas Tanner * verified all copyright notices and updated them to 1999 * TODO: added some things that need to documented * doc/libtool.texi: -export-symbols is not supported on all platforms * doc/PLATFORMS: added a few new platforms 1998-12-30 Thomas Tanner * NEWS: updated * THANKS: added Todd Vierling 1998-12-30 Todd Vierling * ltconfig.in: improved shared object handling on both a.out and ELF platforms for NetBSD 1998-12-29 Thomas Tanner * ltconfig.in: do not rely on a leading space when concatenating variables as suggested by Erez Zadok * ltmain.in: likewise * doc/PLATFORMS: updated and reformatted (thanks to Erez Zadok for the testing) 1998-12-27 Thomas Tanner * THANKS: added Erez Zadok 1998-12-26 Erez Zadok * ltconfig.in: support i486-ncr-sysv4.3.03 shared libraries. * ltmain.in: before every ln -s, remove the link name 1998-12-25 Thomas Tanner * depdemo/configure.in: removed last relics of demo * depdemo/sysdep.h: ditto * mdemo/Makefile.am: ditto * libltdl/Makefile.am: fixed the version number, build libltdls if -enable-install and -enable-dlpreopen are enabled * libltdl/configure.in: libltdl is version 0.1, not 1.0, renamed -enable-ltdl-install to -enable-install, conditionals for libltdls, check for strchr and index, replaced NULL with 0 * libltdl/ltdl.c: replaced NULL with 0, dlpreopen only if USE_DLPREOPEN was defined, integrated shl_load code from GModule (still untested) 1998-12-24 Gary V. Vaughan * libltdl/configure.in: fixup spacing in --enable-ltdl-install help string so that it lines up nicely for configure --help. * ltmain.in (dllsearchpath): keep track of what the dll search path will need to be in the wrapper scripts as deplibs are calculated. Make sure the wrapper script doesn't end in `.exr', which makes win32 try to execute it as a binary! Add the contents of dllsearchpath to $PATH in the wrapper script. Use the relative path to the wrapped program so that the dll search path is calculated properly by win32 OSes. * TODO: removed the item for making wrapper scripts work on win32. * TODO: removed the reference to making libltdl and demo work on win32. They *do* work now that wrapper scripts are functioning. * ltmain.in (file_magic_command): It turns out that if the file_magic_command generates huge output (e.g. running `objdump -f' over a large import lib [say libX11.a]) the expr to check it against the file_magic_regex blows up. There is now an optimistic heuristic, to save only the first 10 lines of running file_magic_command which (at risk of sounding like Bill) should be enough for anyone =)O|. * ltmain.in: Set the compile_dependencylibs and dllsearchpath for non-libtool libs, or else libdeps only works between ltlibs for cygwin32. 1998-12-23 Alexandre Oliva * ltmain.in (SP2NL, NL2SP): use `tr' magic to avoid passing very long lines to sed * doc/libtool.texi (sed): very long lines are no longer a problem * libltdl/Makefile.am: install libltdl conditionally... * libltdl/configure.in: ... if --enable-ltdl-install is issued * libltdl/ltdl.c: removed #ifdef DEBUG * mdemo/Makefile.am (mdemo_debug_LDADD, mdemo_debug_DEPENDENCIES): use libltdl.la 1998-12-23 Gary V. Vaughan * doc/PLATFORMS: added my cygwin32 box (i686-pc-cygwin32). * TODO: remind myself of the win32 tasks remaining. * ltconfig.in (archive_cmds, archive_sym_cmds, old_archive_from_new_cmds): Fixed a bug which left an a.exe in the build directory. Fixed a bug where $soname-def was never deleted. * ltconfig.in (file_magic_command): new variable holds the command (including any args) to run to generate the string to match against the regex in $file_magic. Use the variable where necessary. Added to libtool header output. (deplibs_check_method): use file_magic for win32, but compare the output of `objdump -f' with the regex (see below). (archive_cmds, archive_sym_cmds): use compile_dependencylibs for each $CC invokation (see below). * ltmain.in: Set allow_undefined to `no' for win32 variants by default, otherwise it is impossible to link a dll without forcing the makefile maintainer to figure out whether to pass --no-undefined at every libtool invokation. (compile_dependencylibs): save the list of dependency library flags needed for a deplib build on win32. (link_against_libtool_libs): commented out the check for this; if it is left in, then ltlibs (i.e. *.la files) cannot be deplibs for subsequent links. Don't add -lc to the deplibs line for win32 platforms (which don't have a libc as such). (file_magic_command): use this to get some output to compare with the file_magic regex (instead of hardcoding `file' which doesn't exist on win32. * doc/libtool.texi (Porting inter-library dependencies): Updated to document the changes above. * ltconfig.in (deplibs_check_method): Changed the file_magic regex to match more linux variants. This is less lenient than Thomas Tanner's commit to fix the same problem below. Reported by Joel Klecker * THANKS: added Joel Klecker 1998-12-23 Thomas Tanner * ltconfig.in: fixed file-magic for Linux shared libraries * ltmain.in: removed the unused -force-static flag * libltdl/ltdl.c: added strchr, search modules in LTDL_LIBRARY_PATH, check whether actual module was already dlopened, read in preload_libs rather than dependency_libs 1998-12-23 Thomas Tanner * libltdl/Makefile.am: build two versions of libltdl: libltdl (support native dlopen if available, otherwise dlpreopen), libltdls (like libltdl, but always support for dlpreopen) * libltdl/ltdl.c: ditto * libltdl/configure.in: warn if dlopen is not supported * mdemo/Makefile.am (mdemo.debug): use libltdls 1998-12-22 Gary V. Vaughan * ltconfig.in: revert Thomas Tanners change to create all libraries without the `lib' prefix on win32, otherwise `gcc foo.c -lbar' can't find libbar.a. 1998-12-22 Alexandre Oliva * Makefile.am (SUBDIRS): prepend `.' to avoid am-recursive dependency hack 1998-12-21 Thomas Tanner * ltconfig.in: indentation is now 8 character wide tabs * ltmain.in: ditto * ChangeLog: ditto * ltmain.in: renamed check_shared_deplibs_method to deplibs_check_method (we_dont_want_too_long_variable_names :) * doc/libtool.texi (Porting inter-library dependencies): ditto * depdemo/.cvsignore: renamed hell* to depdemo*, added *.lo,*.la * mdemo/.cvsignore: ditto 1998-12-21 Gary V. Vaughan * libtool.m4 (AM_SYS_NM_PARSE): apparently __ptr_t is predefined on some systems - use lt_ptr_t instead. * ltconfig.in: ditto. * ltmain.in: ditto. * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): use an AC_SUBST to pass the result of this into the compile rather than AC_DEFINE which breaks when building with older versions of autoconf. * ltconfig.in (symxfrm): Don't put the leading underscore back with the global_symbol_pipe. * demo/dlmain.c (main): No need to specialcase underscores in dld_preloaded_symbols - it is fixed by symxfrm above! * libltdl/configure.in: use AM_SYS_SYMBOL_UNDERSCORE from libtool.m4 rather than reinvent the wheel here =)O| * ltmain.in: Fix deplibs methods to not rely on a.out (cygwin uses a.exe!). * libltdl/configure.in: Cleanups - fix header comment and emacs local-vars. * demo/dlmain.c (win32_force_data_import_address): a nasty hack to force the address of imported data symbols into dld_preloaded_symbols on win32, which does data imports differently to function imports (sheesh!). This functionality needs to be moved into the dld_preloaded_symbols generation code. demo/helldl with static linking is broken on win32 by this change, probably until after libtool-1.3 =(O| * demo/foo.h: make sure __CYGWIN32__ is always defined on cygwin32 systems. Use the correct __declspec macro for lib exports/imports on cygwin32. * demo/foo.c, demo/hello.c: Make sure we tell foo.h that these sources are inside libfoo, and want to export symbols. 1998-12-20 Thomas Tanner * autogen: configure demo, depdemo, libltdl and mdemo * tests/mdemo-exec.test: renamed hell* to mdemo* * tests/mdemo-inst.test: ditto 1998-12-19 Thomas Tanner * libltdl/Makefile.am: build a normal libtool library * libltdl/ltdl.c: get LTDL_LIBRARY_PATH but don't make use of it yet, some reformatting * ltmain.in: fixed a bug which listed symbols in dld_preloaded_symbols twice * TODO: removed symbol export lists and deplibs 1998-12-18 Thomas Tanner * ltconfig.in: added need_lib_prefix and need_version, which determine whether we must prefix modules with 'lib' and whether versioning is required for libraries. * ltmain.in: allow modules names without 'lib' prefix, new -avoid-versioning option * doc/libtool.texi (link flags): updated documentation for -module, added -avoid-versioning * doc/libtool.texi (libtool script contents): documented the two new flags and archive_sym_cmds * doc/libtool.texi (tests): added (partially very short) documentation for assign.test, nomode.test, quote.test, sh.test * libltdl/ltdl.c: canonicalize module names, some cleanups and bugfixes, __ptr_t is predefined on some systems - use lt_ptr_t instead * mdemo/: renamed hell* to mdemo* (hell is already used in demo), updated the documentation, import sin and cos in main program rather than linking libfoo1 statically 1998-12-17 Gary V. Vaughan * libtool.m4 (AM_PROG_LIBTOOL): Added AC_PREREQ(2.12) to prevent people using libtool with old autoconfs that don't provide the features we need. 1998-12-16 Alexandre Oliva * NEWS, configure.in, libtool.spec: Bumped to 1.2e for CVS * NEWS, configure.in, libtool.spec: Bumped to 1.2d for release * Makefile.am (cvs-dist): our release tags are in lower case (cvs-diff): ditto (EXTRA_DIST): added README-alpha * README-alpha: minor adaptations * demo/Makefile.am, mdemo/Makefile.am, depdemo/Makefile.am: removed comment about special needs for distribution * depdemo/Makefile.am: don't generate dependencies * depdemo/configure.in: modified version number * ltmain.in (-force-static, force_static): removed * libltdl/Makefile.am (CFLAGS): ditto * libltdl/configure.in: check for memory.h, rindex() and dlpreopening. Fixed NEED_USCORE caching policy. * libltdl/ltdl.h (lt_dlsym): make the name argument const * libltdl/ltdl.c (types): new variable: head of list of available dlopening mechanisms (lt_dltype_t): interface of a dlopening mechanism, with pointers to functions for init, exit, open, close and sym (lt_dlhandle_t): added pointer to interface type (strdup): don't name it strdup; it can be troublesome (strrchr): ditto; use rindex if available (LIBTOOL_STATIC): check HAVE_DLPREOPEN instead, and move to the end of the file, so that it becomes the header of the list (all): renamed all interface-implementation functions, to avoid name clashes, and created lt_dltype_t nodes for all of them (lt_dlinit): initialize all available interfaces; remove those that fail from the list. Return failure only if no interfaces could be initialized. (lt_dlexit): return number of failures (tryall_dlopen): try to open the library with all available interfaces (lt_dlopen): use tryall_dlopen; increased size of fixed buffers. We should probably make these bound-checked or dynamically allocated for the final release! Fix bug when filename did not contain slashes; should we check for `\\' too? Try old_library if everything else fails. (lt_dlclose): use the interface type for closing (lt_dlsym): make `symbol' const, use interface type for looking up * mdemo/Makefile.am: moved mdemo/modules/* back into mdemo (SUBDIRS): removed (libfoo2_la_LDFLAGS): added -static; nice test. However, since it causes -lm to linked into hell*, it causes tests that should fail to pass (noinst_HEADERS): no need to install foo.h * mdemo/configure.in: remove modules/Makefile tests/mdemo-exec.test: updated accordingly * NEWS: Added Thomas Tanner and Gary V. Vaughan to the list of new maintainers. Detailed expected failures of libltdl+mdemo. Listed recent ports. Added full URL for the home page. Note that libtool C program is unusable. 1998-12-16 Bruno Haible * doc/libtool.texi (Tested platforms): broken `sed' programs 1998-12-16 Alexandre Oliva * THANKS: added Stephan Kulow; removed Gary V. Vaughan and Thomas Tanner, now that they're AUTHORS 1998-12-16 Stephan Kulow * ltmain.in (freebsd-aout, freebsd-elf): added missing dot to versuffix 1998-12-16 Alexandre Oliva * libltdl/Makefile.am (EXTRA_DIST): removed, nothing needed (libtool): automatically update * libltdl/configure.in (stdlib.h, unistd.h, stdio.h): check * libltdl/ltdl.c: include them * demo/configure.in (BINARY_HELLDL): test whether dlopen is supported at configure time * demo/Makefile.am (helldl): use automake conditionals to build helldl as a script or as a binary program * tests/Makefile.am (EXTRA_DIST): remove ltdl-*.test (clean-local): don't clean libltdl any more * tests/ltdl-conf.test: removed * tests/ltdl-inst.test: ditto * tests/ltdl-make.test: ditto * tests/ltdl-unst.test: ditto * tests/mdemo-make.test: updated accordingly * tests/mdemo-inst.test: ditto * tests/mdemo-unst.test: ditto * doc/libtool.texi: ditto * ltmain.in (-DSTATIC): changed to -DLIBTOOL_STATIC, and defined only for -force-static; it should be removed soon, before people start to use it * configure.in (AC_CONFIG_SUBDIRS): added libltdl * Makefile.am (SUBDIRS): build libltdl by default (DIST_SUBDIRS): simplify distribution of demo and mdemo (libtool, clibtool, libtoolize, ltconfig, ltmain.sh): add srcdir where appropriate (ACINCLUDE_M4_LIST): new rule for maintaining links from acinclude.m4 to libtool.m4 (*demo/Makefile.in): don't update autoconf/automake files any more; make check is needed 1998-12-14 Gary V. Vaughan * ltconfig.in (archive_cmds): tweaked for cygwin b18->b20.1 compatibility and fixed a bug with generating the export definitions file. This is only tested on b20.1, but should work back to b18 at least. 1998-12-11 Thomas Tanner * ltmain.in: -module implies now -export-dynamic, dlpreopen files if we're linking statically * doc/libtool.texi (link flags): added documentation for -module and the tests for mdemo and libltdl * mdemo/Makefile.am: replaced -dlpreopen with -dlopen 1998-12-09 Alexandre Oliva * PORTING: removed the text Akim Demaille converted to .texi 1998-12-09 Akim Demaille * doc/libtool.texi: converted inter-library dependencies instructions from PORTING 1998-12-09 Alexandre Oliva * ltmain.in (convenience, deplibs): propagate dependencies * libltdl/Makefile.am (noinst_HEADERS): don't install ltdl.h yet (noinst_LTLIBRARIES): ditto for libltdl.la 1998-12-08 Gary V. Vaughan * README-alpha: adapted the release procedure from automake/HACKING. * Makefile.am: adapted the cvs-dist and cvs-diff rules from automake/Makefile.am. I guess this is probably safe to use already, but I didn't test it as it tags the CVS tree. If it needs tweaking, we'll find out come 1.2d. 1998-12-08 Thomas Tanner * ltconfig.in: fixed some typos in archive_sym_cmds * ltmain.in: replaced basename with a sed expression 1998-12-07 Alexandre Oliva * configure.in: we no longer use PRCS * doc/libtool.texi (author): listed all the AUTHORS (Dlopen issues): added reference to libltdl, still undocumented (C++ libraries): it's not *that* simple, after all :-( (Inter-library dependencies): they're back! 1998-12-04 Alexandre Oliva * libtool.m4 (ac_cv_sys_symbol_underscore): `test a == b' doesn't work, use `test a = b' instead * Makefile.am (mdemo_distfiles): libfoo[12].sym no longer exist * ltconfig.in (solaris): do not use $CC for linking if GNU ld is not available 1998-12-04 Manfred Weichel * ltconfig.in: Port to SCO UnixWare 7.x. 1998-12-03 Thomas Tanner * ChangeLog: converted CR/LF back to CR format * ltconfig.in: new variable sys_lib_search_path for searching of installed libraries, export archive_sym_cmds and sys_lib_search_path * ltmain.in: use sys_lib_search_path, removed extradeplibs (they're not portable) 1998-12-02 Gary V. Vaughan * libltdl/configure.in: look for string.h or else strings.h, and also check for ANSI strrchr() function. Fix `undescore before symbols' macro to not rely on a.out (cygwin uses a.exe!). Fix `underscore for dlsym' to set cache variable properly, not just in environment of AC_DEFINE(NEED_USCORE). * libltdl/ltdl.h (__ptr_t): for K&R compatibility using char*. * libltdl/ltdl.c (strrchr): fallback function incase none is defined in libc. (trim, ltdlopen): replace rindex with ANSI strrchr. Add static function declarations so that we get type checking with ANSI compilers. Use __ptr_t instead of void*. 1998-12-01 Thomas Tanner * ltconfig.in: added -export-symbols support for GNU ld and Solaris (untested), archive_sym_cmds for -export-symbols * doc/libtool.texi, ltmain.in: -export-symbols is now independent from -export-dynamic and does not work for modules anymore * ltmain.in: added some checks for -export-symbols * mdemo/modules/Makefile.am: replaced -export-symbols with -export-dynamic since it doesn't work for modules 1998-12-01 Gary V. Vaughan * README: Updated homepage pointer to gnu libtool page. * ltconfig.in (ltdll.c): update the ltdll.c file for cygwinb20. Based on code from Mumit Khan . (archive_cmds): correct typo libtool.c->ltdll.c. Update shell commands for cygwin32. * libtool.m4 (AM_SYS_SYMBOL_UNDERSCORE): New macro; find out whether compiled symbols have an extra leading underscore. (AM_SYS_NM_PARSE): New macro (converted to m4 from ltconfig.in); find a sed expression to parse global symbols from the output of $NM. (AM_PROG_LIBTOOL): require AM_SYS_NM_PARSE and AM_SYS_SYMBOL_UNDERSCORE. * demo/dlmain.c (main): Remove a single leading underscore from compiled symbol names if necessary. 1998-12-01 Alexandre Oliva * config.guess, config.sub: imported from autoconf pre-2.13 1998-11-27 Gary V. Vaughan * libtool (AM_PROG_LD): Oops... we need to know the host_os for the changes below. I'm not sure whether mingw32 and os2 support UNC paths, if they did we wouldn't need the check, we could use UNC paths on all three; or if the bug with $LD not being shell-meta escaped was fixed, we could use '\\' separators on all three. AC_REQUIRE'ed AC_CANONICAL_HOST. * libtool.m4 (AM_PROG_LD): Cannonicalize the absolute path for the ld program; The order is funny to provide canonicalization to paths with '\\' separators as well as '/'. * ltconfig.in: ditto. * AUTHORS: Added myself as a co-maintainer. * ltconfig.in (archive_cmds): The `;\' in a compound statement is expanded wrongly for cygwin32, mingw32, aix3 and aix4. Changed to `;'. 1998-11-25 Alexandre Oliva * libtool.spec (URL): point to www.gnu.org (Source): point to ftp.gnu.org * Makefile.am (EXTRA_DIST): removed libtool.prj Reported by Akim Demaille 1998-11-24 Alexandre Oliva * ltconfig.in (echo): avoid shell error messages when we're testing for large command line support Reported by Axel Thimm * doc/PLATFORMS: updated last-tested release for platforms I've got access to * THANKS: added Chris P. Ross 1998-11-24 Chris P. Ross * ltconfig.in: added recognition of the dynamic linker on BSD/OS 4.x * README: added BSD/OS 4.x to the list of supported platforms * doc/PLATFORMS: added BSD/OS 4.x support for various host id's 1998-11-24 David Heine * ltmain.in (pass_all): actively pass the flags 1998-11-24 Thomas Tanner * depdemo: added inter-library dependencies demo (doesn't work yet!) * AUTHORS: added myself to the list of maintainers 1998-11-22 Thomas Tanner * libltdl: added support for .la files, LGPL license, K&R compatibility, some API changes and bugfixes * ltmain.in: renamed -module flag (for compiling) to -force-static, define -DSTATIC when compiling static .o files, do not include directories in dld_preloaded_symbols * mdemo: modified mdemo to work with the new libltdl * tests/mdemo-exec.test, tests/mdemo-inst.test: use .la files 1998-11-21 Alexandre Oliva * libltdl/ltdl.c: replace NULL with 0, so that we don't depend on header files defining it. * ltconfig.in (archive_cmds, osf3, osf4, solaris, sunos4): create libraries with gcc -shared if using gcc without GNU ld. * ltconfig.in: replaced occurrences of solaris2 with solaris, to prepare for Solaris 7 1998-11-19 Alexandre Oliva * mdemo/Makefile.am (hell_debug_LDFLAGS): -dlpreopen -> -dlopen (hell_LDFLAGS): added -export-dynamic and -dlopen (SUBDIRS, INCLUDES): added modules directory (foo1.c, foo2.c, foo.h, libfoo1.sym, libfoo2.sym): moved to modules * Makefile.am: ditto * tests/mdemo-exec.test, tests/mdemo-inst.test: libraries moved * mdemo/modules/Makefile.am: new file * */Makefile.am (AUTOMAKE_OPTIONS): added no-dependencies * ltmain.in: missing `test' between `&&' and `"$module"' * ltconfig.in (echo_test_string): the whole ltconfig script was too much for DU4.0's ksh, but the first 50 lines will be enough. * ltmain.in (installed): new variable defined within a .la file, so that libtool can now link already-installed libraries into a program. * NEWS: ditto * doc/libtool.texi (Linking executables): document it * ltmain.in (output_objdir): compute it from $output, not $arg * tests/mdemo-inst.test (libltdl): install it * tests/mdemo-unst.test (libltdl): uninstall it * tests/Makefile.am (TESTS): list ltdl-unst.test before mdemo-conf.test 1998-11-18 Alexandre Oliva * NEWS: -module and libltdl * mdemo/Makefile.am: ../libltdl is within $(srcdir) 1998-11-18 Thomas Tanner * libltdl, Makefile.am: added libltdl (a system independent dlopen wrapper library extracted from mdemo) * ltmain.in: added -module flag for compiling and linking of modules. If enabled it compiles always both .o (with -DLT_RENAME) and .lo files * mdemo: modified mdemo to work with libltdl * tests/ltdl*: added tests for libltdl 1998-11-16 Steve Price * ltconfig.in: when $host_os is freebsd[23]* determine whether the current linker format is a.out or ELF * ltmain.in: add two new $version_type's, freebsd-aout and freebsd-elf, to support above change 1998-11-16 Stephan Kulow * ltconfig.in: extent no_builtin_flag to contain -fno-rtti and -fno-exceptions in case we compile with a gcc, that supports this options (egcs and gcc >= 2.8) 1998-11-16 Alexandre Oliva * ltmain.in (C_compiler): copy $CC before it is overwritten with command-line compiler, so that we can use it to compile C sources generated during the build. This fixes the problem that showed up with -export-dynamic of C++ programs in egcs 1.1. * NEWS: ditto 1998-11-12 Alexandre Oliva * PORTING: Porting instructions are in the libtool manual already * NEWS: Mention -export-symbols and new dlpreopen 1998-11-11 Alexandre Oliva * ltmain.in (IFS): revert Gary's patch when parsing version information; we still use `:' here :-) * NEWS: updated * PORTING: new file, with general instructions and inter-library dependencies tips 1998-11-11 Gary V. Vaughan * ltconfig.in: make use of '~' field separator in reload_cmds, old_archive_from_new_cmds, old_archive_cmds, archive_cmds, old_postinstall_cmds, postinstall_cmds, old_postuninstall_cmds, postuninstall_cmds and finish_cmds, so that the semi-colons inside if/then/else/fi and for/do/done etc. do not break the eval loop in ltmain.in (below). * ltmain.in: changed all of the eval loops to use an IFS of `~', to allow differentiation between the end-of-statement-; (now `~' is used) and end-of-substatement-; (still `;'). This fixes AIX and win32 at least. 1998-11-11 Alexandre Oliva * ltconfig.in (sunos*, sympat, symxfrm): remove underscore prepended by the compiler 1998-11-10 Toshio Kuratomi * ltconfig.in: re-enable deplibs * ltmain.in: support deplibs, at least for GNU/Linux/x86 Updated to current libtool by Thomas Tanner 1998-11-10 Gordon Matzigkeit * ltmain.in (link): Make the relink warning less harsh. 1998-11-07 William M. Perry * ltconfig.in (aix3, aix4): uniquify symbol names in archive_cmds 1998-11-07 Alexandre Oliva * ltconfig.in: add --falback-echo, to be used if everything else fails. The tests now check the behavior of $echo for very large strings, because some echo commands would just core dump (e.g., Solaris' printf). If too large strings fail, smaller ones are tested. (ltecho): arrange that, if the --fallback-echo method is selected, echo will be defined in the libtool script so as to re-run itself, not ltconfig * ltmain.in: add --fallback-echo (qecho) ensure that, if --falback-echo is being used, qecho is defined with the full pathname of the libtool script * tests/sh.test (test X): ensure that the double-quote supposed to be reported is really reported 1998-11-07 Thomas Tanner * mdemo/main.c: removed hardcoded library names; link against -lm * tests/mdemo-exec, tests/mdemo-inst: pass the library names to the program 1998-11-07 Marc J. Fraioli * README: Added DG/UX * doc/PLATFORMS: ditto 1998-11-04 Michael Tiemann * ltconfig.in (irix6): it's a little bit different from irix5 1998-11-04 Alexandre Oliva * THANKS: Added Thomas Tanner and Gary V. Vaughan * ltconfig.in, ltmain.in: updated and fixed the patches below 1998-11-04 Thomas Tanner * mdemo/*: added new demo to demonstrate building of dlopenend modules * tests/Makefile.am, tests/mdemo*: added some tests for mdemo 1998-11-04 Gary V. Vaughan * demo/configure.in: added AC_EXEEXT macro so that the tests can work on cywin32/mingw32 hosts. This requires the current CVS autoconf 1998-11-04 Thomas Tanner * ltmain.in: New flag -export-symbols; new dlpreopen system * demo/dlmain.c: removed dld_preloaded_symbol_count 1998-11-04 Ian Lance Taylor * ltmain.in: On installation, don't get confused if the same name appears more than once in the list of library names. 1998-11-04 Ian Lance Taylor * ltconfig.in: Add objext and libext variables. Check for object suffix. Check for mingw32* as well as cygwin32*. Use objext when testing compiler. Add support for Visual C++ on cygwin32 when not using gcc. Add objext, libext, and fix_srcfile_path to generated libtool script. * ltmain.in: Use .${objext} rather than .o. Use fix_srcfile_path if it is set. Check for .obj as well as for .o, and for .lib as well as for .a. Use .${libext} rather than .a when creating old libraries. * libtoolize.in: Change initial /bin/sh to @SHELL@. * libtool.m4 (AM_PROG_LIBTOOL): Add AC_REQUIRE for AC_CANONICAL_BUILD, so that autoconf doesn't get mixed up by the AC_REQUIRE in AC_CHECK_TOOL. 1998-11-04 Ian Lance Taylor * ltconfig.in: Look in the right directory for libtool.c in archive_cmds for cygwin32. 1998-11-04 Ian Lance Taylor * ltconfig.in: Fix cygwin32 support to avoid using a double extension, to delete the def file, to set version_type to windows, and to include versuffix in the DLL name. * ltmain.in: Add support for a version_type of windows. 1998-11-04 Ian Lance Taylor * ltconfig.in: Add cygwin32 support. * libtool.m4 (AM_PROG_LIBTOOL): Call AM_SYS_LIBTOOL_CYGWIN32 on a cygwin32 host. Pass DLLTOOL and AS to ltconfig. (AM_SYS_LIBTOOL_CYGWIN32): New macro. 1998-11-04 Alexandre Oliva * libtool.m4 (sco): fix typo 1998-11-04 Ian Lance Taylor * ltconfig.in: On AIX, don't treat GNU ld specially. 1998-11-04 Alexandre Oliva * ltconfig.in (hardcode_minus_L): Revert Ian's patch for ltconfig.in. Although -L hardcoding is not used with GNU ld, it does happen, so hardcode_minus_L must be set to yes. * ltconfig.in (compiler_o_lo): check whether we can write directly to a .lo * ltmain.in (compiler_o_lo): if not, write to .o and rename it 1998-11-04 Ian Lance Taylor * ltconfig.in: For sunos4 using GNU ld, set hardcode_minus_L to no. * ltmain.in: Add some hacks to make SunOS --enable-shared work when using GNU ld. 1998-11-04 Alexandre Oliva * THANKS: Added Marc J. Fraioli 1998-11-04 Marc J. Fraioli * ltconfig.in (dgux): new supported platforms 1998-11-04 Alexandre Oliva * ltconfig.in (need_locks): if neither `-c -o' nor hard links are available, fallback to not so safe mechanism, by setting need_locks to warn * ltmain.in (need_locks): when need_locks is set to warn, use the lockfile to try to fail in case of incorrect concurrent builds * THANKS: Added Eric Estievenart 1998-11-04 Eric Estievenart * doc/libtool.texi (Compile mode): Document that -o is fully supported. * libtool.m4 (libtool-lock): new ARG_ENABLE; sets (need_locks) * ltconfig.in (disable-lock): control need_locks (hard_links): check whether hard-links can be used for locking * ltmain.in (need_locks): use $output_obj.lock for locking 1998-11-03 Alexandre Oliva * ltmain.in: correctly create libraries and programs with directory components in their names 1998-11-03 Eric Estievenart * ltmain.in (output_obj): typo 1998-11-02 Ian Lance Taylor * ltconfig.in: For sunos4, add ${libname}.so$versuffix to library_names_spec. * ltmain.in: For version_type of sunos, set versuffix even if -version-info was not used. 1998-11-02 Alexandre Oliva * ltmain.in (libobj): default value must not contain directory components 1998-11-02 Eric Estievenart * ltconfig.in (compiler): detect if the compiler supports -c and -o flags, create a variable compiler_c_o. Also issue a big warning if it is not supported * ltmain.in (compile): enable the -o option as input for libtool. The objects are not moved if the compiler supports -o with -c. Sources and objects can contain relative directories. (link): enable the linking of executables into relative directories 1998-11-02 Alexandre Oliva * AUTHORS: added myself as a co-maintainer * THANKS: and removed my name from here * autogen: new script; run it to bootstrap libtool after checking it out from CVS * libtool.m4 (CFLAGS): check whether -belf is needed on SCO, as suggested by Robert Lipe 1998-10-31 Gordon Matzigkeit * demo/Makefile.am (hc-libpath): Use parameters from the libtool in the top build directory, since the one in the demo directory is not guaranteed to exist. 1998-10-27 Alexandre Oliva * demo/Makefile.am (objdir): there are no longer quotes around objdir in the libtool script 1998-10-27 Gordon Matzigkeit * ltconfig.in (dynamic_linker): Echo the result to fd 6, so that --silent works correctly. From William M. Perry. 1998-09-24 Gordon Matzigkeit * ltmain.in (link): Fix problems when building only static libraries. From Owen Taylor. 1998-08-20 Gordon Matzigkeit * ltmain.in (install): When library_names_spec has redundancies, avoid deleting the main library when installing symlinks. From Jeff Dairiki. (link): Get rid of backticks in a here doc comment. This causes segfaults on Solaris 2. From Aleksandar Bakic. (finish): Don't display messages * ltconfig.in (archive_cmds): On HP-UX 9, make sure we don't try to move a file to itself. From Jeff Dairiki. 1998-08-19 Gordon Matzigkeit * ltconfig.in: Make changes to accomodate ltmain.c. * Makefile.am (clibtool): New target for the C version of libtool. * ltmain.c: Experimental C version of libtool. 1998-07-10 Ian Lance Taylor * ltmain.in (install): Test against both $SHELL and /bin/sh. 1998-06-30 Gordon Matzigkeit * ltmain.in: Convenience archive support. From Ulrich Drepper. * ltconfig.in (postinstall_commands): Change libraries to be executable on Solaris in order to prevent ldd from moaning. From Julian Gosnell. (whole_archive_flag_spec): New variable to shortcut convenience archive expansion. From Ulrich Drepper. 1998-06-11 Gordon Matzigkeit * ltconfig.in, ltmain.in: Change globs to accept forward slashes in absolute directory names used on DOS-like systems. From Robert S. Maier. Thu May 28 18:59:08 1998 Ian Lance Taylor * ltconfig.in: Use $SHELL when invoking shell scripts. 1998-05-21 Gordon Matzigkeit * ltmain.in (compile): Don't have `-static' turn off libtool libraries, so that people can use it just to guarantee that `.o' files exist. Suggested by David Mosberger-Tang. 1998-05-18 Gordon Matzigkeit * ltmain.in (link): Possibly reexec the shell from within the wrapper script. Allow `-version-info' and `-release' to coexist again. If people want to shoot themselves in the foot, I'd better let them do so, so that people who are smart enough not to can squeeze out another ounce of functionality. From Tim Janik. (version_vars): Delete dead variable. * ltconfig.in (hardcode_minus_L): FreeBSD 3.0 doesn't hardcode, at last. Reported by Jason Nordwick. * libtoolize.in, ltconfig.in, ltmain.in: Change a bunch of `if test ...; then : ; else ...' constructs to `if test ! ...; then ...', for clarity. 1998-05-17 Gordon Matzigkeit * ltmain.in (LC_ALL, LANG): Save these values and restore them during execute mode. From Pavel Kankovsky. (mode): Accept strace and truss as programs that throw us into execute mode. From Pavel Kankovsky. 1998-05-07 Ian Lance Taylor * ltconfig.in: Don't use .$versuffix or .$major. Instead, assume the variable will include any required prefix. * ltmain.in: If no -version-info option was used, produce empty version strings rather than 0.0.0. When making library symlinks, avoid making a symlink if the name would be the same. 1998-04-27 Gordon Matzigkeit * ltmain.in (link): Support `unsupported' as a hardcode_action. Reported by Lars Hecking. (lib_linked): Do some sanity checking to make sure that we actually do link libtool libraries into the program to prevent the above problem from happening again. 1998-04-20 Gordon Matzigkeit * ltmain.in: Maybe reexec under $SHELL, if $echo doesn't work. Reported by Lars Hecking. 1998-04-19 Gordon Matzigkeit * Makefile.am (maintainer-rekey): New rule to force us to change Project-Version after we make a release. This keeps all version numbers in sync, rather than branching just before the release. (maintainer-release, maintainer-checkin): Use maintainer-rekey. * ltmain.in (finish): Notice when a finish command fails, so that we can add it to the list of recommendations. 1998-04-17 Gordon Matzigkeit * libtool.m4 (AM_PROG_LIBTOOL): Append file descriptor 5 to config.log, so that configure doesn't clobber the messages that ltconfig put there. From David Taylor. 1998-04-15 Gordon Matzigkeit * ltconfig.in (archive_cmds): Try using `$CC -shared' when configuring for GCC under irix5 and irix6. From Wolfram Gloger. (ofile): Add `--output' flag to change the name of the generated libtool. Suggested by Wolfram Gloger. 1998-04-14 Gordon Matzigkeit * ltmain.in: Remove all hardcoded references to ltmain.in in favour of $PACKAGE and $PROGRAM. (install): Compute the installation name for programs, in case we install a relinked file which has a different name. Reported by Pieter Schoenmakers. * ltconfig.in (echo): Try using the ksh(1) `print -r' builtin command, before reverting to printf(1). * Makefile.am (libtool): Use $(SHELL) when invoking ltconfig. * ltconfig.in (echo): Rewrite the test for a working echo so that we win on Solaris by avoiding printf(1), if possible. * tests/quote.test (echo): Update the echo test from ../ltconfig.in. 1998-04-13 Ian Lance Taylor * libtool.m4 (AM_PROG_NM): Don't override NM in the environment. 1998-04-13 Gordon Matzigkeit * ltmain.in: New `--config' flag to print out all configured variables. * libtool.m4: Pass ltconfig the undocumented --no-reexec flag, since we call it explicitly using CONFIG_SHELL. * ltconfig.in: Restart the script under a different shell if CONFIG_SHELL is not /bin/sh. This way, people can use Bash if they don't have a working echo program. * ltmain.in, ltconfig.in: Use $SHELL instead of /bin/sh when generating executable scripts. * libtoolize.in, ltconfig.in, ltmain.in: Implement the `--debug' flag to begin shell tracing. * ltconfig.in (archive_cmds): Don't use `gcc -shared', even if we have GNU ld. Reported by Robert S. Maier. 1998-04-06 Gordon Matzigkeit * ltconfig.in (pic_flag): Create more than just a null C file, so that the SunPRO 4.2 cc doesn't complain. From Bob Friesenhahn. (gnu_ld_acts_native): Delete this variable. There is just too much version skew to try to pretend GNU ld is the same as the system ld. Reported by Ian Lance Taylor. (hardcode_action): Don't bother relinking or aborting on systems that are too dynamic to have a consistent hardcode method. Reported by Doug Winterburn. 1998-03-24 Gordon Matzigkeit * doc/libtool.texi: A little proofreading. From Albert Chin-A-Young. 1998-03-23 Gordon Matzigkeit * ltconfig.in: Treat HP-UX 11 just like HP-UX 10. From Jeff Law. 1998-03-21 Gordon Matzigkeit * ltconfig.in (reload_flag): Correct a tiny bug where `--silent' would still print out the reload flag. From Stephan Kulow. 1998-03-20 Ian Lance Taylor * libtool.m4: Use changequote to avoid problems with square bracket patterns. 1998-03-20 Gordon Matzigkeit * Release 1.2. 1998-03-18 Gordon Matzigkeit * ltmain.in: Rearrange some of the echos to make them more consistent. 1998-03-14 Gordon Matzigkeit * ltmain.in: Break up an echo command that causes Solaris printf to dump core. Apparently the Solaris people hardcoded a 2110-byte buffer into their printf(1). Feh. From John Judge. 1998-03-11 Gordon Matzigkeit * ltconfig.in: Change the test for the PIC compiler flag so that we assume it doesn't work if there are any warning messages. This fixes a bug using old GCC's on HP-UX. Reported by Akim Demaille. 1998-03-10 Andreas Schwab * Makefile.am ($(srcdir)/ltconfig): Remove bogus command to create a file ltconfig in the build directory. 1998-03-09 Andreas Schwab * ltmain.in: Avoid unnecessary use of command substitution, replacing foo=`eval \\$echo \"$mumble\"` by eval foo=\"$mumble\". (link): Use ${1+"$@"} in wrapper scripts in order to pass arguments safely to a program. * ltconfig.in: Use -fpic instead of -fPIC if $host_cpu matches m68*. 1998-03-08 Gordon Matzigkeit * Release 1.1. * ltmain.in: I like `here documents' a lot, but apparently they are so badly handled by old and buggy /bin/sh's, that replacing `cat < * ltconfig.in: Copy the contents of ltmain.sh into the generated libtool. This should more than halve the execution times on old or buggy /bin/sh systems, such as HP-UX 9 and SunOS 4.1.4. From Tom Lane. 1998-03-05 Gordon Matzigkeit * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): Add support for the `default' package, so that people can control unnamed packages. (LD): Only add an ABI flag under IRIX 6.x, since IRIX 5.x doesn't support them. From Alexandre Oliva. 1998-03-01 Gordon Matzigkeit * ltconfig.in: Port to UnixWare 2.x. From Christopher Olsen. 1998-02-25 Gordon Matzigkeit * ltmain.in (compile): For consistency, honour the `-static' flag during compilation. 1998-02-23 Brendan Kehoe * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): For --enable-shared, heed the value of $PACKAGE from AM_INIT_AUTOMAKE if given as the argument for the library to be built shared. 1998-02-20 Gordon Matzigkeit * libtool.m4, ltconfig.in (NM): Fix up a typo confusion between $ac_dir and $dir. Reported by Akim Demaille. * ltmain.in (link): Don't allow both `-version-info' and `-release'. Reported by Danny Backx. 1998-02-18 Gordon Matzigkeit * Makefile.am (noinst_SCRIPTS): Remove lineno from distribution. * lineno: Remove from distribution, as it is no longer needed. * Makefile.am ($(srcdir)/ltconfig.in, $(srcdir)/ltmain.sh): Rewrite these rules not to use config.status or lineno. This makes things simpler, and reduces dependencies, so that the scripts are rebuilt and installed in srcdir only when necessary. Reported by Stephan Kulow. * tests/sh.test (scripts): Remove the lineno script, since it is no longer distributed. * tests/assign.test, if.test, test-e.test: Even though 15 tests looks impressive, these are now redundant. Remove them from the distribution. * tests/sh.test: Do what assign.test, if.test, and test-e.test used to do. 1998-02-16 Gordon Matzigkeit * libtool.m4, ltmain.in, ltconfig.in: Correctly identify absolute directory names on MS-DOS. Suggested by Bob Friesenhahn. * ltconfig.in, ltmain.in, libtool.m4: Change a bunch of `sed N!d' commands to `sed Nq', for efficiency. * ltmain.in: Only egrep the first few lines of files in order to determine if they were libtool-generated. This prevents egrep(1) from taking forever to look at a 10MB binary on Solaris. From Stephan Kulow. * tests/defs: Correctly identify absolute directory names on MS-DOS. Suggested by Bob Friesenhahn. 1998-02-11 Gordon Matzigkeit * ltconfig.in (no_undefined_flag): Add a flag to declare under Solaris that the library should not have any undefined references. Suggested by Bob Friesenhahn. * ltmain.in (mkdir): Fix one more mkdir race. From H.J. Lu. 1998-02-08 Gordon Matzigkeit * ltconfig.in, ltmain.in (striplib, old_striplib): Ditto. * ltconfig.in (profile_flag_pattern): Get rid of dead code. 1998-02-07 Gordon Matzigkeit * libtool.m4 (AM_ENABLE_SHARED, AM_ENABLE_STATIC): New macros to modify the `--enable-shared' and `--enable-static' defaults in the configure script. This works a lot better than the old `enable_shared' and `enable_static' variables did. Reported by Bob Friesenhahn. * tests/suffix.test (extensions): Added GNAT (GNU Ada Translator) suffices, `.ada', `.ads', `.adb'. From Samuel Tardieu. 1998-02-07 Samuel Tardieu * ltmain.in: Recognize .ada, .ads and .adb as known suffixes (they are used by GNAT, the GNU Ada compiler). 1998-02-06 Gordon Matzigkeit * ltconfig.in: Turn on IRIX shared libraries again! * libtool.m4 (LD): Use file(1) to discover which ABI we're using on IRIX, and propagate the correct linker flag. From Jim Wilson. * ltconfig.in, ltmain.in (Xsed): `arg=-n; echo "$arg" | sed ...' gives problems, because the `-n' is interpreted as an option to echo(1). So, use `echo "X$arg" | sed -e 's/^X//' ...' everywhere, via the $Xsed convenience variable. Suggested by H.J. Lu. 1998-02-02 Gordon Matzigkeit * ltconfig.in: Turn off IRIX shared library support until 32-bit and 64-bit ABI differences can be resolved. 1998-01-28 Gordon Matzigkeit * libtool.m4 (LD): Reverse yesterday's change because `-old_ld' isn't accepted by GCC. 1998-01-27 Gordon Matzigkeit * ltconfig.in (soname_spec): Add in user-specified release numbers for every host system that supports an soname that differs from the linkname. * libtool.m4 (LD): Add `-old_ld' to the list of flags that need to be passed through on SGI. Reported by Chris Lee. * ltmain.in (release): Prepend a hyphen to the release number, and fix a typo because `-version-info' takes only 3 args. From H.J. Lu. 1998-01-25 Gordon Matzigkeit * ltconfig.in (library_names_spec): On Linux, use the user-specified release. * ltmain.in (link): Allow the user to specify a release number for the library using the `-release' flag. Suggested by H.J. Lu and Ian Lance Taylor. 1998-01-23 Gordon Matzigkeit * tests/Makefile.am (TESTS_ENVIRONMENT): Export some important environment variables. Reported by Ian Haggard. 1998-01-19 Gordon Matzigkeit * ltconfig.in (old_postuninstall_cmds): Reorder so that chmod happens after ranlib. From Markus F.X.J. Oberhumer. * ltmain.in (mode): Added `gcc*' and `*-gcc*' to the patterns that recognize compilers. From Pieter Schoenmakers. (link): Recognize `.a' files again. Suggested by Pieter Schoenmakers. 1998-01-18 Gordon Matzigkeit * ltmain.in (compile): Recognize `.asm' extension, for use with the nasm assembler. From Markus F.X.J. Oberhumer. * tests/suffix.test (extensions): Recognize `.asm'. From Markus F.X.J. Oberhumer. 1998-01-12 Gordon Matzigkeit * ltconfig.in (runpath_var): Use instead of `hardcode_runpath_var'. 1998-01-11 Gordon Matzigkeit * ltmain.in (finish): Add a better --finish message. Suggested by Kenneth Albanowski. * ltconfig.in, ltmain.in: Fix a few typos. 1998-01-03 Gordon Matzigkeit * ltmain.in (link): Quote the definition of $echo in the wrapper script. * ltconfig.in (export_dynamic_flag_spec): Use `--export-dynamic' instead of `-export-dynamic', which is not accepted by all GNU ld's. From Eiichi Takamori. * ltmain.in (install): Don't print silly `library stripping' warnings. Reported by Franois Pinard. 1997-12-19 Gordon Matzigkeit * ltmain.in: Don't forget to quote the CDPATH substitution. From Tor Lillqvist. 1997-12-18 Gordon Matzigkeit * ltconfig.in, ltmain.in (CDPATH): Unset this environment variable so that HP-UX shells, at least, don't print out the directory name after a `cd' command. From Tor Lillqvist. 1997-12-10 Gordon Matzigkeit * demo/Makefile.am (hardcode): Change a bunch of references to `$(LIBS)' to `-lm', since we no longer put -lm in LIBS. * demo/configure.in: Delete the test for libm, since it is standard on every system. * demo/Makefile.am (libhello_la_LDFLAGS): Change to include -lm, in accordance with new inter-library dependency code. * ltmain.in (dependency_libs): Added to help people link programs without having to explicitly specify inter-library dependencies. * ltconfig.in (COLLECT_NAMES): Oops... I forgot to apply the AIX 3 restriction to the generated libtool script. Reported by Stefan Westerfeld. 1997-12-05 Gordon Matzigkeit * ltconfig.in (thisdir): Quote $echo in the generated libtool script for HP-UX. From Markus F.X.J. Oberhumer. * ltmain.in (link): Recognize the `.s' suffix. From Markus F.X.J. Oberhumer. * ltconfig.in (link_static_flag): Don't quote ${wl} on HP-UX because link_static_flag is never evaled. From Eric Backus. * tests/suffix.test (extensions): Recognize `.s'. From Markus F.X.J. Oberhumer. 1997-12-01 Gordon Matzigkeit * demo/Makefile.am (helldl_DEPENDENCIES): Add `libhello.la' to our dependencies so that parallel builds work correctly. From Jim Meyering. * Makefile.am ($(srcdir)/ltconfig, $(srcdir)/ltmain.sh): Rewrite these rules so that they are parallelizable. Reported by Jim Meyering. * ltconfig.in (ltecho): We need special handling to quote the `echo' variable itself. From Alexandre Oliva. 1997-11-29 Gordon Matzigkeit * ltconfig.in (COLLECT_NAMES): Enable this workaround for a broken collect2 only on AIX 3. This avoids problems on other AIX versions. Reported by Stefan Westerfeld. * ltmain.in, ltconfig.in (finish_eval): Variable like finish_cmds, except it is a single command which is evaled, and not shown. * ltconfig.in: Port to AmigaOS. From Joop van de Wege. * ltmain.in (echo): Delete preamble to check for a working echo, since we just use the one included in the generated libtool. * ltconfig.in (echo): Include this definition in the generated libtool script. 1997-11-28 Gordon Matzigkeit * ltconfig.in, libtool.m4 (NM): Add /usr/ccs/bin to the PATH before checking. From Kaveh R. Ghazi. (NM): Delete an extraneous egrep from ltconfig. * ltconfig.in (finish_cmds): Change back to using `ldconfig -n'. This makes Linux behave like other systems, which is more in line with what libtool needs. 1997-11-27 Gordon Matzigkeit * ltmain.in: Change a whole bunch of `progname' variables to `modename'. This is for clarity, and to fix a tiny typo in finish mode. * libtool.spec (Name, Version): Ditto. * configure.in (AM_INIT_AUTOMAKE): Use PRCS to automatically generate the proper package name and version number. * ltconfig.in (gnu_ld_acts_native): Treat GNU ld like the native linker on SunOS 4.x. Suggested by Alexandre Oliva. (deplibs): Change the defaults all over, since most systems cannot handle inter-library dependencies. * libtool.m4, ltconfig.in (NM): Only look at the first line of the output from NM when determining whether it supports a command line option. This prevents false positives on OSes which ignore invalid flags, like HP-UX, which prints `nm: unknown option "B" ignored'. Reported by Kaveh R. Ghazi. * ltconfig.in (finish_cmds): On Linux, update ld.so.cache by removing the `-n' flag from ldconfig. Suggested by Kenneth Albanowski. * Makefile.am (maintainer-checkin, maintainer-release): New commands to reap the full benefit of using PRCS to maintain libtool version numbers. * ltconfig.in, ltmain.in (global_symbol_pipe): Explicitly cast all addresses to __ptr_t. This fixes a bug due to a strict IRIX compiler. Suggested by Kaveh R. Ghazi. 1997-11-23 Gordon Matzigkeit * ltmain.in (echo): For aesthetics, avoid using `$echo' when `echo' will do *exactly* the same thing. This prevents ugly `printf %s\n timestamp > some.lo' commands from appearing in the libtool output. (link): Delete the `-allow-undefined' flag because it is now the default. Make `-no-undefined' in order for people to declare that a library is entirely self-contained. This prevents maintainers from accidentally creating shared libraries that won't work on AIX. Reported by Stefan Westerfeld and Danny Backx. * ltconfig.in (echo): Use an echo variable, just as in ltmain.in, because we need it for quoting substitutions. For most of the script, though, use the default echo, just like Autoconf does. Without this patch, character \001 ends up in global_symbol_pipe. Reported by Lars Hecking and Jrgen Fluk. * ltmain.in (echo): Set default to `echo=echo'. Ooops. That's what you get for testing obscure code paths and forgetting to revert to the original version. Reported by Danny Backx. 1997-11-14 Gordon Matzigkeit * ltconfig.in (hardcode_libdir_flag_spec): Set to `-R' for FreeBSD 2.2. From Sean Kelly. (postuninstall_cmds, old_postuninstall_cmds): Commands to run after uninstall mode deletes the libraries. Suggested by Joop van de Wege. (export_dynamic_flag_spec): On HP-UX, add the `${wl}-E' export_dynamic_flag_spec. Reported by Matthias Hoelzer. 1997-11-11 Gordon Matzigkeit * ltconfig.in, ltmain.in (sed_quote_subst): Oops. We forgot to quote backticks. Reported by Joop van de Wege. * tests/quote.test: Add backticks to the backslashify test. 1997-11-09 Gordon Matzigkeit * ltconfig.in (symcode): On IRIX, don't extract undefined symbols. When a function is inlined by G++, references to it are still marked as undefined in the object file. This means that our symbol file causes undefined references, because there are actually no matching global symbols. Reported by Paul Kendall. 1997-11-08 Gordon Matzigkeit * ltconfig.in: Don't forget to redirect the COLLECT_NAMES libtool script fragment to the generated libtool, rather than to stdout. 1997-11-07 Gordon Matzigkeit * libtool.m4 (LD): Add a more sophisticated test to determine the ABI flag on IRIX 6. Suggested by Lars Hecking and Ian Lance Taylor. * ltconfig.in, ltmain.in (COLLECT_NAMES): Only export this variable if we are running under AIX. Otherwise, we tickle a g++ bug under IRIX. From Paul Kendall. * Change bug reporting address to . * ltconfig.in (allow_undefined_flag): OSF/1 3.x also requires a wildcard argument to `-expect_unresolved'. From Stephan Kulow. 1997-11-06 Gordon Matzigkeit * ltmain.in (link): Use libname_spec. * ltconfig.in (pic_flag): Somehow, the HP-UX pic_flag (`+Z') was dropped between libtool-1.0 and now. Add it back in. Reported by Akim Demaille. Integrated more patches for OS/2. From Jeff Freedman. (libname_spec): New variable for OSes that don't require their libraries to look like `libNAME.a'. * ltmain.in (link): Only use global_symbol_pipe if it has been defined. From Stephan Kulow. * ltconfig.in (global_symbol_pipe): Protect C fragment under C++ compilers. From Stephan Kulow. * Makefile.am ($(srcdir)/acinclude.m4, $(srcdir)/demo/acinclude.m4): Change rules to use LN_S so that they can be run on any system. * ltconfig.in (archive_cmds): For NetBSD, don't include deplibs. From Dieter Baron. * ltmain.in (mkdir): Check that the directory doesn't exist before we exit with error, so that we don't get races during parallel builds. From H.J. Lu. (fbsd_hideous_sh_bug): Apparently, some FreeBSD /bin/sh's have a bug that will empty base_compile unless we do this dummy assignment. From Marc van Kempen. 1997-10-22 Gordon Matzigkeit * libtool.m4 (libtool_shared, libtool_static): Fixed logic error to reenable override of libtool's defaults by setting enable_shared or enable_static in configure.in. Reported by Tom Tromey and Stephan Kulow. * ltmain.in (link): Add explicit support for compiler options that begin with `+'. Reported by Aubert Pierre. 1997-10-20 Gordon Matzigkeit * ltmain.in: Silly me. Change a bunch of occurances of "* $dir *" into *" $dir "*. * ltconfig.in (pic_flag): PIC is the default for AIX. From Mark Kettenis. It is also the default for OSF/1. * demo/Makefile.am (objdir): Quote double-quotes. From Mark Kettenis. * ltconfig.in (global_symbol_pipe): This variable is not double-evaled, so it should not be double quoted. From Mark Kettenis. 1997-10-19 Gordon Matzigkeit * ltconfig.in (LD): Same as below. * libtool.m4 (LD): Set LD if we discover an absolute path to GNU ld. This prevents breakage when `$CC -print-prog-name=ld' returns an absolute directory name. Reported by Ulrich Drepper. * ltconfig.in: Port to OS/2 using EMX. From Jeff Freedman. * ltmain.in (link): Use old_archive_from_new_cmds. * ltconfig.in (old_archive_from_new_cmds): New variable to support DLL libraries. * ltmain.in (link): Only `eval' export_dynamic_flag_spec if it is not empty. Reported by Stephan Kulow. 1997-10-18 Gordon Matzigkeit * ltconfig.in (objdir): Use the .libs directory on all systems for which that name is valid, and _libs on the others (like MS-DOS). Suggested by Juergen Erhard. 1997-10-14 Gordon Matzigkeit * ltmain.in (link): Added a bit more inter-language support to the symbol file generation process. Instead of complaining about unrecognized argument suffices, pass them to the linker. This prevents libtool from barfing on mandatory arguments to linker flags. Reported by Michael Tiemann. 1997-10-09 Gordon Matzigkeit * ltmain.in (link): Change the wrapper script to follow symlinks in order to find thisdir. This should put the final nail in the coffin for problems with wrapper scripts. From Ian Lance Taylor. 1997-10-07 Gordon Matzigkeit * ltmain.in: Change a few `$echo' commands into `$show' to make --silent mode behave as advertised. * ltconfig.in (allow_undefined_flag): On OSF/1 4.x, use `-expect_unresolved \*'. From Christian Mondrup. * ltmain.in (install): Change install mode to allow a specified /bin/sh argument at the beginning of the install_prog. Also, specify the shell to run when invoking libtool recursively for finish mode. From Chris Provenzano. * libtool.m4 (LIBTOOL): Change definition to include $(SHELL). From Chris Provenzano. * ltconfig.in: Port to UTS 4.x. From Alistair Crooks. * demo/Makefile.am (hc-libflag): Add rules to make this binary for hardcode.test. * tests/hardcode.test (hardcode_libdir_flag_spec): Check the hardcoding properties of the flag_spec, too. 1997-09-24 Gordon Matzigkeit * ltconfig.in (LD): As with libtool.m4, don't override LD. Do a whole bunch of ac_t quoting. 1997-09-24 Ian Lance Taylor * libtool.m4 (AM_PROG_LD): Don't override LD in the environment. 1997-09-21 Gordon Matzigkeit * libtool.m4, ltconfig.in (NM): Arguments to the for loop must be whitespace separated. This fixes a bug under FreeBSD's /bin/sh. From George Scott. * tests/defs, tests/Makefile.am (clean-local): Change =inst to _inst to fix portability on MS-DOS. From Robert Hoehne. 1997-09-20 Gordon Matzigkeit * ltmain.in (deplibs): When building shared libraries, always add -lc to deplibs. Reported by Andreas Jellinghaus. 1997-09-15 Gordon Matzigkeit * ltconfig.in, ltmain.in (COLLECT_NAMES): If the COLLECT_NAMES environment variable has not been set, set it to empty. This apparently fixes the AIX bug with GCC's collect2. Reported by Mark Kettenis. * demo/Makefile.am, ltmain.in, tests/hardcode.test (objdir): Changed objdir variable .libs to _libs. This is another MS-DOS portability fix. Suggested by Robert Hoehne. * tests/hardcode.test (objdir): New variable to simplify change from .libs to _libs (MS-DOS portability fix). 1997-09-13 Gordon Matzigkeit * ltconfig.in, ltmain.in (hardcode_minusL): Fix typo by renaming hardcode_minusL to hardcode_minus_L. Also add FreeBSD hardcode_libdir_flag_spec. From Paul Traina. * ltmain.in (link): Honour multiple `-rpath' flags when linking programs. Suggested by Bengt Martensson. Quote appearances of $echo in the wrapper script. From Alexandre Oliva. * Makefile.am, configure.in, tests/tlibtool: Use ltmain.in instead of ltmain.sh.in. * ltmain.in: Rename ltmain.sh.in to ltmain.in. This fixes a portability problem (on MS-DOS, of all places!). From Robert Hoehne. 1997-09-11 Gordon Matzigkeit * ltmain.sh.in (link): Do not transform libtool objects to regular objects if we did not build old libs. Reported by Tomas Hiller. 1997-09-05 Gordon Matzigkeit * demo/Makefile.am (hell_debug_LDFLAGS): Change hell.static to hell.debug in order to reflect the new static linking semantics. * ltmain.sh.in (link): Add new `-all-static' flag to prevent all dynamic linking. The old `-static' flag just prevents dynamic linking against libtool libraries. Suggested by Bengt Martensson. * ltconfig.in (with_gnu_ld): Add a test to make sure that we are actually using GNU ld. This fixes an inconsistency when running ltconfig without using libtool.m4. Reported by Ulrich Drepper. (global_symbol_pipe): Delete symbols that are not valid C identifiers. Reported by Johan Danielsson and Bengt Martensson. * tests/demo-exec.test, tests/demo-inst.test: Change references from hell.static to hell.debug. * tests/quote.test (echo): Add the same Digital Unix echo test fixes as the ones to ltmain.sh.in from Todd Kover. * tests/if.test, tests/test-e.test (scripts): Add ../lineno to the scripts we check. * tests/if.test: Check for accidental use of test X$something rather than test "X$something". 1997-09-04 Gordon Matzigkeit * ltmain.sh.in (echo): Quote all the uses of `echo' in all eval statements. Reported by Bengt Martensson and Alexandre Oliva. (echo): Need to surround test args with double quotes, or the echo test fails on Digital Unix 4.0. From Todd Kover. 1997-08-28 Gordon Matzigkeit * ltmain.sh.in (echo): Change test to one that uses printf. This works on AIX, which has the same problems that Solaris does, but no working echo program. * tests/quote.test (echo): Change test to version that uses printf. Be less strict about return results. 1997-08-27 Gordon Matzigkeit * ltmain.sh.in (link): Make sure that compile_command and finalize_command are always evaled. Quote any unknown linker flags we need to pass through. (compile): Use quoting for flags we pass. (echo): I hate Sun! The /usr/bin/echo on Solaris handles backslash sequences, which makes it impossible to do backslash quoting using echo and sed. So, we search for an echo that obeys the `echo '\t'` = '\t' equality. Then we use `$echo' everywhere in ltmain.sh. Put tabs back into the ${IFS= } sequences. Emacs untabify is libtool bane. * ltconfig.in: Quote all variable values that may contain metacharacters creating the libtool script. This provides complete protection, so that even single-quotes may appear inside a libtool variable value. * ltmain.sh.in (link): Quote finalize_command before putting it in the wrapper script. * tests/quote.test (echo): Add the test for a non-backslash-mangling echo. 1997-08-26 Gordon Matzigkeit * ltmain.sh.in (sed_quote_subst): Change the quoting procedure again. I think that the new one is robust for *all* characters, including whitespace and metacharacters. * tests/quote.test: New torture test for libtool metacharacter quoting. 1997-08-25 Gordon Matzigkeit * ltmain.sh.in: Change quoting procedure because some shells cannot handle `]' in scan sets. From Ian Dall. 1997-08-22 Gordon Matzigkeit * ltmain.sh.in (execute): Added -dlopen flag handling. Suggested by Alexandre Oliva. 1997-08-21 Gordon Matzigkeit * ltmain.sh.in (link): Change executable wrapper to fix up value of thisdir, as well as progdir, if the $0 path doesn't work. This guarantees that shlibpath_var is set correctly. Add support for execute mode. * ltmain.sh.in (execute): New mode to automatically set shlibpath_var, which allows easy debugging of uninstalled executables and libraries. Suggested by Kenneth Albanowski. 1997-08-20 Gordon Matzigkeit * Makefile.am ($(srcdir)/ltconfig): Use lineno. * configure.in: Add AM_PROG_AWK for lineno. * lineno: New program to automatically put line numbers in ltconfig. * libtool.m4, ltconfig.in (AM_PROG_LD): Yet Another Rewrite, which incorporates the results of `gcc -print-program-name=ld'. Suggested by Alexandre Oliva. 1997-08-14 Gordon Matzigkeit * ltmain.sh.in: Accept `--quiet' and `--silent' flags to turn off command echoing. From Juergen A. Erhard. (compile): Recognize the Objective C `.m' extension. From Juergen A. Erhard. (compile): Suppress error output from the second compilation (if any) so that we don't get those frustrating duplicate error messages. * tests/suffix.test (extensions): Added Objective C extension, `.m'. 1997-08-12 Gordon Matzigkeit * ltconfig.in: Added messages to config.log to describe what sort of test we are running. (pic_flag): Added a sanity check for pic_flag. This should fix bugs reported using the cc bundled with HP-UX 10. Suggested by Bruno Haible and Akim Demaille. 1997-08-01 Gordon Matzigkeit * ltmain.sh.in (link): Add -dlopen and -dlpreopen support for libtool objects. This means that dlopened modules no longer need to be shared libraries. * ltconfig.in (pic_flag): GCC on IRIX 6 always builds PIC. Reported by Ian Lance Taylor. * libtool.m4 (LD): Always add `-n32' to the linker if we are using GCC on IRIX 6. Reported by Ian Lance Taylor. 1997-07-30 Gordon Matzigkeit * libtool.m4 (AM_PROG_LIBTOOL): Explicitly check enable_shared and enable_static rather than just enableval. This allows configure.in scripts to set their own defaults. Suggested by Tommy Reilly. 1997-07-29 Gordon Matzigkeit * ltmain.sh.in: Add NLS environment variable handling copied from ltconfig.in. Reported by Akim Demaille. (link): If allow_undefined_flag is not supported, then turn on old libraries. Reported by Akim Demaille. * demo/dlmain.c (main): Use dld_preloaded_symbol_count to display a message about the sortedness of the symbol table. * ltconfig.in (nlist): Use an nlist convenience variable, so that code can be shared directly with ltmain.sh.in. * ltconfig.in, ltmain.sh.in (dld_preloaded_symbol_count): Count up the number of symbols in the dld_preloaded_symbols. Set to `-1' if the list wasn't both sorted and counted. This allows applications to do a quick binary search, if they are so inclined. 1997-07-25 Gordon Matzigkeit * ltmain.sh.in (link): Remove code for `-version-file', since it has been long-deprecated. Disable static linking if hardcode_direct is unsupported and there is no working link_static_flag. This provides correct behaviour for all cases on AIX 3, regardless of whether collect2 is broken or not. Reported by Mark Kettenis. * ltconfig.in: Fix typo in test polarity. From Mark Kettenis. 1997-07-24 Gordon Matzigkeit * ltconfig.in (hardcode_direct): Set to `unsupported' if aix3 uses a broken collect2. Adapted out of test results from Mark Kettenis. (link_static_flag): Make sure the link_static_flag actually works with a trivial binary. * ltmain.sh.in, ltconfig.in (export_dynamic_flag_spec): Renamed from export_dynamic_flag because we eval it in ltmain.sh. * ltmain.sh.in (link_static): Don't eval link_static_flag. * demo/dlmain.c (main): Change function prototype to be KNR compatible. From Kaveh R. Ghazi. * ltmain.sh.in (link): Use no_builtin_flag. This works around conflicting definitions of builtin functions with at least GCC. Reported by Kazuhiro Sasayama. * ltconfig.in (no_builtin_flag): New flag to turn off builtin functions when compiling an object file. (pipe_works): Use it. * tests/demo-exec.test (status): Use status variables so that we try to execute all the programs. 1997-07-23 Gordon Matzigkeit * ltconfig.in (pic_flag): According to the libg++ 2.7.2 configure script, DEC alpha CPUs are PIC-only, as well. Reported by Kevin Jacobs. 1997-07-21 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in: Replace all occurances of "sed 'X; Y'" with "sed -e 'X' -e 'Y'". * ltmain.sh.in (link): Finish full integration for `-dlopen' and `-dlpreopen'. Fix two silly typos where I used a compile_command in place of a finalize_command, and vice versa. Change the wrapper script to check a hardcoded path only if the argv[0] method fails. This is a compromise for the previous two patches, and should solve the majority of problems with wrapper scripts. From Kenneth Albanowski. (link): Change a reference to hardcode_libdir_colon_separated to use the new hardcode_libdir_separator variable. * demo/Makefile.am (helldl_LDFLAGS): Add `-export-dynamic' and `-dlpreopen' for building helldl. * demo/dlmain.c (main): Succeed, even if none of the libhello symbols have been preloaded. 1997-07-20 Gordon Matzigkeit * ltconfig.in (global_symbol_pipe): Add `U' to the accepted global symbol types. This means that we will get duplicate symbols, but we'll also be sure to get all global symbols used by the program. * ltconfig.in (pipe_works), ltmain.sh.in (link): Sort and make symbol output unique. 1997-07-19 Gordon Matzigkeit * ltconfig.in (pipe_works): Check to make sure our guessed global_symbol_pipe actually works. * ltmain.sh.in (link): Revert change from Kenneth Albanowski. The wrapper scripts are more reliable when they just use the argv[0] value. Generally, when the argv[0] method doesn't work, the user is trying to do something weird with an uninstalled binary, and should try a different approach. * ltconfig.in, ltmain.sh.in (CC): Always use `$CC' instead of `$cc'. This fixes a FreeBSD bug. Reported by Chuck Robey, and others. 1997-07-14 Gordon Matzigkeit * ltmain.sh.in (link): In wrapper scripts, hardcode the current directory to prevent phony argv[0] values from screwing up our program. From Kenneth Albanowski. 1997-07-13 Gordon Matzigkeit * Makefile.am (demo_distfiles): Add demo/dlmain.c to the distribution. 1997-07-12 Gordon Matzigkeit * demo/Makefile.am: Add helldl, made from dlmain.c, to demostrate `-dlopen' usage. * demo/dlmain.c: New file to demonstrate preloaded modules. * ltmain.sh.in (link): Add `-dlopen' flag to preload dynamic modules, even on static platforms. Use `$NM' and `$global_symbol_cmd' to extract symbols from required files. (dlname): Delete dlname mode entirely. It is rendered obsolete because the `.la' file format is now a public interface. * ltconfig.in (NM): New variable for BSD-compatible nm program. (global_symbol_cmd): Pipeline to extract global symbols from the nm output. * ltmain.sh.in: The .la file header should depend on `ltmain.sh', not `$PROGRAM'. (link): Make sure $export_dynamic_flag is eval'ed before it is used. * tests/demo-exec.test, tests/demo-inst.test: Check the new helldl program, too. 1997-07-11 Gordon Matzigkeit * libtool.spec: New Red Hat Package Manager specification file in order to help people prepare distributions of libtool for Linux. * ltmain.sh.in: Eliminate two accidental uses of the NONE magic value. These were breaking libtool's behaviour when no mode is specified. * tests/nomode.test: New test to make sure there is correct behaviour when we don't specify a mode. 1997-07-08 Gordon Matzigkeit * Release 1.0. * ltconfig.in: On SunOS, append /usr/etc to the PATH before running ldconfig; on *BSD, append /sbin. This was done in line with the Linux change suggested by Kenneth Albanowski. * demo/Makefile.am (hardcode_tests): Aesthetic change to alphabetize order of compiling the hardcode tests. * Makefile.am (EXTRA_DIST): Delete README-automake. * README-automake: Remove from distribution. 1997-07-02 Gordon Matzigkeit * ltmain.sh.in (link): In the executable wrapper, strip trailing colons from the shlibpath_var because some ld.so's, notably OpenBSD 2.0's (!), don't parse colon-terminated values correctly. From Tim Pierce. 1997-07-01 Gordon Matzigkeit * ltmain.sh.in, ltconfig.in: Eliminate uses of the NONE magic variable value. Use an empty variable instead. * ltconfig.in (with_gcc, with_gnu_ld): Do the tests for the C compiler and linker if the variables are unset, or if they are not GNU C and ld. (RANLIB): Eliminate redundant `if' statement. * configure.in: Use AM_PROG_LD. * libtool.m4 (AM_PROG_LD_GNU): New macro to determine if LD is GNU ld. (AM_PROG_LD): Rename AM_PATH_PROG_LD to AM_PROG_LD. Parameterize so that the user can specify `--with-gnu-ld' or `--without-gnu-ld' to indicate his preference. (AM_PROG_LIBTOOL): Use it. 1997-06-30 Gordon Matzigkeit * ltconfig.in: Append /sbin to the path before running ldconfig on Linux. This helps superusers who haven't set their PATH correctly. Suggested by Kenneth Albanowski. * tests/if.test: New test to make sure that we haven't forgotten to follow an `if' statement with a `test' command. This should avoid the majority of hard-to-track bugs. 1997-06-29 Gordon Matzigkeit * ltmain.sh.in: Change all the `eval "$run ..."' sequences to `$run "eval ..."'. Change all `$ln_s ...' sequences to use `(cd /dir && $LN_S ...)'. This is the sequence recommended by the Autoconf manual, and should avoid any problems on older machines. Eliminate all uses of `cp -p'. Reported by Akim Demaille. (install): Use `test $# -gt 0' instead of `test -n "$1"'. * ltconfig.in (LN_S): Add test to see if `ln -s' works. * libtool.m4: Increment serial number, and require AC_PROG_LN_S. 1997-06-26 Gordon Matzigkeit * ltmain.sh.in (link): Add missing `test' statement. Reported by Akim Demaille. 1997-06-24 Gordon Matzigkeit * libtool.m4 (LD): Consistently use ac_cv_path_ld instead of am_cv_path_ld. From Tim Pierce. 1997-06-20 Gordon Matzigkeit * ltmain.sh.in: Redo two robustness fixes. Alexandre had the correct approach, but I botched them. * ltconfig.in (dynamic_linker): Disable shared libraries on MkLinux unless GNU libc is in use. Reported by Akim Demaille. 1997-06-19 Gordon Matzigkeit * ltmain.sh.in (install): Add a missing `test' command. Reported by Joel Weber. Miscellaneous fixes to improve robustness. From Alexandre Oliva. * tests/demo-conf.test (CONFIG_SITE): Set to /dev/null, so that the config.site file doesn't mess up our prefix. Reported by Joel Weber. * tests/demo-inst.test: Always run both hell.static and hell. * tests/demo-conf.test: Always remove the local config.cache, but run `make distclean' only if the Makefile exists. Otherwise, the demo directory is not cleaned up if a user uses their own config.cache. Reported by Joel Weber. 1997-06-14 Gordon Matzigkeit * ltmain.sh.in (link): Create invalid libtool objects when partial linking if we don't have PIC. From Jeff Dairiki. (install): Fix bug if libtool object is installed to a file name without directory components. From Jeff Dairiki. 1997-06-13 Gordon Matzigkeit * Makefile.am (demo/configure): Fix up rules to run autoconf. (aclocal.m4): Now we depend on our own libtool.m4. * configure.in (AM_PATH_PROG_LD): Use it. * libtool.m4 (AM_PATH_PROG_LD): New macro to find the linker used by the C compiler. (AM_PROG_LIBTOOL): Use it. * ltmain.sh.in (install, uninstall): Support installing and uninstalling `.lo' files. From Jeff Dairiki. 1997-06-11 Gordon Matzigkeit * Makefile.am (ltconfig, ltmain.sh): Only move if $(srcdir) is not the current directory. Don't regenerate every time the package is reconfigured. Reported by Tom Tromey. (MAINTAINERCLEANFILES): Added ltconfig, ltmain.sh, so that $(srcdir) is not messed with during a regular clean. 1997-06-10 Gordon Matzigkeit * Makefile.am (ltconfig, ltmain.sh): Be sure to move these files into $(srcdir) once they are created. * ltmain.sh.in (link): Disable building static libraries. People should use their favourite AR and RANLIB commands. Disable building old-style objects if `--disable-static' is given. Suggested by Tom Lees and Stephan Kulow. 1997-06-08 Gordon Matzigkeit * ltconfig.in (host_cpu, host_vendor, host_os): Patch up definitions, to allow for the fact that the host_os may contain hyphens (as in linux-gnu). From Scott Goehring. * ltmain.sh.in (link): Move the `dlname' setting closer to the top of the file. Suggested by David Mosberger-Tang. Symlink the libtool archive into the `.libs' directory so that it can be found by programs that want to find a library's dlname by searching LD_LIBRARY_PATH. Reported by David Mosberger-Tang. 1997-06-06 Gordon Matzigkeit * Tell people to report bugs to the new libtool mailing list, . 1997-06-05 Gordon Matzigkeit * ltconfig.in (allow_undefined_flag): New variable that implements `-allow-undefined'. (archive_cmds): Enable C++ constructors for FreeBSD 2.2. From David Nugent. * ltmain.sh.in (link): Accept new `-allow-undefined' flag when building libtool libraries. This tells libtool to allow unresolved symbols to exist in shared libraries. Basically, this turns off shared libraries on AIX. Suggested by Ian Lance Taylor. 1997-05-26 Gordon Matzigkeit * libtool.m4 (LD): On at least IRIX, many different flags need to be propagated to the linker if they are part of the compiler command line. Reported by Anthony Green. 1997-05-10 Gordon Matzigkeit * ltconfig.in: Trivial port to FreeBSD 3. From David Nugent. 1997-04-25 Gordon Matzigkeit * ltmain.sh.in (link): Remove all traces of `-whole-archive', `-no-whole-archive', and libtool convenience libraries. They were more trouble than they're worth. If these are ever reimplemented, they need more careful attention to make portable. * libtool.m4, ltconfig.in: Added a `--disable-static' flag to turn off static library creation. From Tom Lees (who finally convinced me that it was the Right Thing to do). 1997-04-22 Gordon Matzigkeit * ltmain.sh.in (hardcode_runpath_var, runpath_var): Use them, if the linker has no -rpath flag. Quote the values we use to set runpath_var and shlibpath_var. (link): Use libobjlibs for libtool convenience libraries. * ltconfig.in (hardcode_runpath_var, runpath_var): Add new variables to describe linkers that honour `LD_RUN_PATH'. (host_cpu, host_os): Use these more specific variables, rather than the full canonical host system name. * ltmain.sh.in (dlname): Distinguish between missing `-export-dynamic' and when the library is only statically linked. 1997-04-21 Gordon Matzigkeit * ltconfig.in: Trivial port to OpenBSD by making it an alias for NetBSD. From Tim Pierce. 1997-04-16 Gordon Matzigkeit * ltconfig.in: Temporary measures to check for a broken collect2 program. Right now, we just see if we're using GCC on AIX 3. * tests/hardcode.test: AIX also has arbitrary limits on the line length of input to fgrep(1), so we need to translate NUL characters to newlines in order to properly detect embedded `.libs'. From Bruno Haible. Also redirect stderr to /dev/null, so that AIX users don't get worried by `fgrep: Maximum line length of 2048 exceeded.'. 1997-04-13 Gordon Matzigkeit * ltmain.sh.in (mode): Use `egrep -e' when inferring the operation mode. 1997-04-12 Gordon Matzigkeit * ltconfig.in (linker): Some GNU ld's don't accept `--version', but do accept `-v'. From Jukka Honkela. (ld_shlibs): AIX lossage may be settling down. AIX 3.2.5 ld does *not* hardcode direct libraries, but AIX 4.1.[45] ld does. 1997-04-07 Gordon Matzigkeit * ltconfig.in (hardcode_action): Fix silly logic error. From Bruno Haible. 1997-04-05 Gordon Matzigkeit * ltmain.sh.in (install): Relink if hardcode_action is `relink', rather than using complex conditionals based on the other hardcode variables. * ltconfig.in (hardcode_action): Set to `relink', not `immediate', if we can only hardcode existing directories. Rearrange conditionals to make the intent clearer, otherwise this can be one hellish piece of code for the already-dizzy libtool maintainer. 1997-04-02 Gordon Matzigkeit * replfunc.m4: Delete from the distribution. Documentation now describes how to set LTALLOCA and LTLIBOBJS in your own configure.in. * ltmain.sh.in (link): Make sure a libtool library only counts as a shared library if its library_names are non-null. Use timestamps for .lo's when PIC is turned off, rather than symlinking to the real object. This helps invalid mixtures of PIC and non-PIC to fail. 1997-04-01 Gordon Matzigkeit * Makefile.am (EXTRA_DIST): Distribute libtool.prj. * Shameless plug: Changed source code management system from CVS to PRCS. * libtool.scm: Initial Guile implementation of libtool. * ltmain.sh.in: An unexpected inconsistency in my whole approach to shared libraries has proven that libtool needs to be completely rewritten if I'm going to give full shared library support for platforms that don't use the GNU C library version 2 (which to my knowledge currently only works on GNU Hurd and Linux/GNU systems). Porting the GNU C library should not be difficult, though. Platforms that don't have the dlopen(3) family of functions will need to install GNU DLD version 4 in order to build any kind of libraries at all. Unfortunately, DLD 4 won't be released for a while, because I maintain it, and I'm too busy working on libtool. I'll keep the old ltconfig/ltmain.sh implementation around for as long as I can, and continue applying bug fixes, so that I'll have a reasonable starting point for this new libtool implementation. It looks like this implementation will be even more complex than the original (pre-0.7) libtool. Initial estimates show that it may be up to 3 times slower, and 5 times larger than libtool-0.9. I'll probably have to rewrite it in Guile to get reasonable performance, which will severely limit its portability for a while. That will also introduce a bootstrapping issue, since the next release of Guile will use libtool to build shared libraries. So, if users want to have shared Guile libraries, they will have to configure Guile with `--disable-shared', compile it, install it, then reconfigure Guile with `--enable-shared' and repeat. I was hoping to get libtool 1.0 out the door by early April, but now it looks like it will take at least another year before it'll be usable by the public at large. April fools. libtool.scm doesn't exist yet, either. * ltconfig.in (verify_host): Remove redundant `Transform *-*-linux* to *-*-linux-gnu*'. From Bruno Haible. * tests/hardcode.test: AIX 3 doesn't have strings(1) so we need to do a funny tr and pipe the output to fgrep. From Bruno Haible. 1997-03-31 Gordon Matzigkeit * Makefile.am: Use the new AUTOMAKE and ACLOCAL variables. * ltmain.sh.in (link): Only fail if a convenience library doesn't exist, and the user specified -whole-archive. Fix shell quoting that was breaking @OUTPUT@ substitution. 1997-03-28 Gordon Matzigkeit * ltmain.sh.in (link): Use the hardcode_libdir_separator. Convenience libraries are libtool objects if we're not building libtool libs. * ltconfig.in (hardcode_libdir_separator): Added in case the linker only honours the last of the -rpath flags (but it can contain multiple colon-separated directories), such as on OSF/1. Reported by Carl D. Roth. * ltmain.sh.in (link): Set the dlname if -export-dynamic is given. (install, uninstall): Handle the dlname file separately. * ltconfig.in (export_dynamic_flag): Added to allow programs to use reflexive dlopens. * ltmain.sh.in: Include the mode name in any help messages. (dlname): New mode to give the name to be used with dlopen(3). * ltconfig.in (AR): Allow AR to be set by the user, and export it to ltmain.sh. * ltmain.sh.in: Remove broken profiled library support. Added `-whole-archive' and `-no-whole-archive' to manipulate convenience libraries. 1997-03-27 Gordon Matzigkeit * ltmain.sh.in (link): Allow the creation of static convenience libraries made of libtool objects. Suggested by David Mosberger-Tang. 1997-03-25 Gordon Matzigkeit * ltconfig.in: On AIX, libtool also needs to look for `B' symbols in nm output. These are global variable definitions. * ltmain.sh.in: Linking with -static should link against the linklib if old_library is empty (like it is on AIX). * ltconfig.in: Change the order of OS detection, so that linux-gnu* is detected before gnu*. * Makefile.am (libtool): Use the correct CC, RANLIB, LD, when generating libtool. From Carl D. Roth. * configure.in: Find out the user-supplied CC, LD, RANLIB. From Carl D. Roth. 1997-03-24 Gordon Matzigkeit * ltmain.sh.in: Linking with -static should link against the old library, not linklib. * README-automake: Updated to point to Automake 1.1m. 1997-03-15 Gordon Matzigkeit * demo/main.c: Use it. * demo/foo.h: Declare it. * demo/foo.c: Added definition of `nothing' so that we have an global variable definition, as well as functions. 1997-03-12 Gordon Matzigkeit * ltconfig.in: Make sure either enable_shared or enable_static is configured. Reported by Tom Tromey. * ltmain.sh.in: Bomb out if no library types are configured. 1997-02-22 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in (hardcode_libdir_flag_spec): Renamed from `hardcode_libdir_flag'. (library_names_spec): Renamed from `lib_names'. * ltconfig.in, ltmain.sh.in (hardcode_action): Change value from `rpath' to `immediate'. * replfunc.m4: Add AM_FUNC_ALLOCA, AM_FUNC_MEMCMP, and AM_STRUCT_ST_BLOCKS. 1997-02-18 Gordon Matzigkeit * ltconfig.in: Transform *-*-linux* to *-*-linux-gnu* to support old-style config.guess scripts. 1997-02-17 Gordon Matzigkeit * ltmain.sh.in: Create objdir *before* linking a program into it. 1997-02-12 Gordon Matzigkeit * ltconfig.in: Any ld --version that returns GNU is probably a GNU ld. From Marcus Daniels. * libtool.m4: Added AM_REPLACE_FUNCS. 1997-02-11 Gordon Matzigkeit * ltconfig.in: Trivial port to *-*-osf4. From Bruno Haible. 1997-02-10 Gordon Matzigkeit * ltconfig.in: AIX 3 and 4 ld only hardcodes LIBPATH if -L is not specified. This behaviour is the same with both xlc and gcc. 1997-02-07 Gordon Matzigkeit * doc/platforms.texi: Yaay! We found a workaround for HP-UX /bin/sh buffer overflows. From Eric Backus. 1997-02-03 Gordon Matzigkeit * Release 0.9. * PLATFORMS, doc/platforms.texi, Makefile.am, doc/Makefile.am: Move PLATFORMS to doc/platforms.texi. * ltmain.sh.in (link): Use hardcode_libdir_flag to get a library directory into the resulting binary. Use hardcode_action, and make many simplifying changes to have compilation and finalization be consistent with each other. * ltconfig.in: Not so amazing! It's AIX cc that hardcodes direct libraries... gcc doesn't, though. (link_rpath_flag): Change link_rpath_flag to be hardcode_libdir_flag. (hardcode_action): New variable to simplify ltmain.sh. * tests/Makefile.am (TESTS): Do the full make sequence with --disable-shared, then without. * tests/demo-sttc.test: Configure the demo directory with --disable-shared. 1997-01-29 Gordon Matzigkeit * ltmain.sh.in: Change to take advantage of linkers that don't hardcode direct libraries. * ltconfig.in: Amazing! AIX 3 linker doesn't hardcode direct libraries, which makes it less buggy than AIX 4. Reported by Mark Kettenis. * demo/configure.in: Check for the math library. * demo/foo.c (foo): Change to use the `cos' function, so that we need to link against another library. * tests/hardcode.test: Rewrite to use fgrep on output from ``strings -a'' if using fgrep directly on the binary files fails. From Mark Kettenis. 1997-01-28 Gordon Matzigkeit * ltmain.sh.in (link): Export the PATH variable in order to find the program, rather than giving a full path. This helps give the program a less confusing value for argv[0]. * tests/hardcode.test: Make sure that ../demo/libhello.la really is a shared library before running hardcoding tests. 1997-01-26 Gordon Matzigkeit * Release 0.8. 1997-01-24 Gordon Matzigkeit * Makefile.am (demo_distfiles): Add demo/acinclude.m4 to the distribution. 1997-01-22 Gordon Matzigkeit * libtool.m4: For IRIX 6, ld needs -n32 if cc uses it. Reported by Bruno Haible. * ltconfig.in: IRIX ld does not hardcode direct libraries. Reported by Bruno Haible. 1997-01-18 Gordon Matzigkeit * ltconfig.in, ltmain.sh.in (hardcode_shlibpath_var): Allow new value, `unsupported', since most linkers do not allow you to use shlibpath_var for initial linking. * ltconfig.in: Lots of bug fixes from Bruno Haible. Set wl on OSF/1, fix definitions of hardcode_* variables. (archive_cmds): Fix not to use +h on HP-UX 9.x. Reported by Bruno Haible. * tests/demo-conf.test: Use the CONFIG_SHELL environment variable when running configure in the demo directory. From Bruno Haible. * tests/Makefile.am (clean-local): Make distclean in the demo directory, so that ``make clean; env CC=cc make check'' works as one would expect. * tests/demo-make.test: Fix typo (use $make instead of make). Reported by Akim Demaille. 1997-01-17 Gordon Matzigkeit * libtoolize.in: Handle explicit AC_CONFIG_AUX_DIR settings. Suggested by Akim Demaille. * libtool.m4: Change ltconfig line to use $CONFIG_SHELL when it is specified. Reported by Bruno Haible. 1997-01-16 Gordon Matzigkeit * demo/Makefile.am (hc-direct): Do better searching for the proper name to do a direct link. (hc-libpath): Make allowances if shlibpath_var cannot be used to find libraries at link time, such as on AIX. * Makefile.am (demo_distfiles): Remove ansi2knr.1 and ansi2knr.c. * demo/foo.c, demo/hello.c, demo/main.c: Change ANSI prototypes to KNR form, for better portability, and less ansi2knr hair. * demo/configure.in: Remove AM_FUNC_PROTOTYPES. * demo/Makefile.am: Remove ansi2knr from the AUTOMAKE_OPTIONS. * demo/ansi2knr.1, demo/ansi2knr.c: Removed these files. * ltmain.sh.in: Use 1>&2 consistently to direct errors and warnings to stderr. (compile): Fix missing single quote. * ltconfig.in (hardcode_direct): On Solaris at least, using DIR/libNAME.so does not hardcode DIR, so introduce a new hardcode variable to reflect that. * ltmain.sh.in (link): If linking with $link_static_flag fails, then retry without it, but still use the .a versions of uninstalled libtool archives. * tests/tlibtool: Rewrote to grab all the settings from the generated libtool script. * tests/hardcode.test: Make allowances if shlibpath_var cannot be used to find libraries at link time, such as on AIX. 1997-01-15 Gordon Matzigkeit * ltmain.sh.in (link): Eval $link_static_flag. Reported by Bruno Haible. * PLATFORMS: Add to distribution. Suggested by Bruno Haible. 1997-01-14 Gordon Matzigkeit * tests/demo-conf.test, tests/demo-inst.test, tests/demo-unst.test, tests/hardcode.test: Use $make instead of make. * tests/defs (make): Add definition of $make that uses the $MAKE environment variable, if set. Suggested by Bruno Haible. * tests/demo-unst.test (leftovers): Change the find command to ignore files beginning with a dot, as egrep -v doesn't seem to do the trick. Reported by Bruno Haible. 1997-01-13 Gordon Matzigkeit * ltconfig.in: Add support for SCO OpenServer 5.x. From Christopher Olsen. (can_build_shared): Initialize at the top of the file, so that shared libraries aren't built on platforms that don't support them. * tests/hardcode.test: Added a test to make sure that libtool's idea of hardcoding system linkers is correct. 1997-01-11 Gordon Matzigkeit * ltmain.sh.in, ltconfig.in, libtoolize.in, doc/libtool.texi: Update the copyright completion years. 1997-01-08 Gordon Matzigkeit * ltconfig.in: Port to IRIX 5.3, 6.2. 1997-01-06 Gordon Matzigkeit * ltconfig.in: HP-UX 9 support is the same as HP-UX 10, so the port is trivial. * libtoolize.in: Add --dry-run option, -n for short. 1997-01-03 Gordon Matzigkeit * ltmain.sh.in (link): On at least SunOS, /bin/sh doesn't understand "export something=val". From Bruno Haible. * tests/Makefile.am (distclean-local): Remove all files that the tests may have created. Reported by Bruno Haible. * For all tests, discover srcdir when running from the command line. * tests/demo-unst.test: Don't fail if make uninstall doesn't delete files beginning with a dot, since spurious .nfsXXX files may be present when running NFS. Reported by Bruno Haible. 1997-01-02 Gordon Matzigkeit * ltmain.sh.in (compile): Recognize valid source file suffixes for Fortran and C++. * tests/suffix.test: New test to guarantee that libtool compile recognizes valid source file suffices. 1996-12-17 Gordon Matzigkeit * ltmain.sh.in (link): Don't allow *._o and *.l_o to be valid object type suffixes, in spite of Automake's current ansi2knr implementation. Not all compilers allow non-`.o' suffixes. 1996-12-16 Gordon Matzigkeit * ltmain.sh.in (link): Delete the `libtool' version type. 1996-12-12 Gordon Matzigkeit * ltconfig.in: Use the full autoconf syntax when checking for GNU C. Delete library stripping program, until we have a correct test. 1996-12-11 Gordon Matzigkeit * ltconfig.in: On AIX 3, use /usr/ucb/nm, not /ucb/nm. From Mark Kettenis. 1996-12-09 Gordon Matzigkeit Reported by Charles Kerr: * doc/libtool.texi (Creating Object Files): Doc fix independant -> independent. * ltconfig.in (ld_shlibs): SunOS 4 doesn't support shared library dependencies. 1996-12-08 Gordon Matzigkeit * Release 0.7. * Makefile.am (EXTRA_DIST): Add README-automake to the distribution. * ltmain.sh.in (link): When linking libtool libraries, use standard objects if they are PIC. This prevents spurious warnings about invalid suffixes on AIX. * demo/Makefile.am: Rename libhell to libhello, so that we're not quite as offensive. * ltconfig.in: Remove unnecessary host validity checking. * ltmain.sh.in: Don't force people to use libNAME.la: SOMETHING.la is good enough (for consistency with *.a handling). * tests/demo.test: Break up into demo-conf.test, demo-make.test, demo-exec.test, demo-inst.test, and demo-unst.test, so that passes and failures are reported more quickly. * tests/link-2.test: Test to make sure that .lo files don't get built directly into programs. 1996-12-07 Gordon Matzigkeit * ltmain.sh.in (link): Accept files ending in .a as standard object files. Reported by Ulrich Drepper. Remove support for creating profiled libraries (for now). Transform all library objects into standard objects when linking a program. * ltconfig.in (thisdir): How embarrassing! An error in the regexp for finding the directory component of the script path. * tests/tlibtool: A typically-configured libtool script, that uses ../ltmain.sh.in for its backend. * tests/link.test: Make sure that it is legal to link against .a files. 1996-12-05 Gordon Matzigkeit * ltmain.sh.in (compile): Support `.S' (preprocessed assembler) files. Reported by Anthony Green. * libtoolize.in: Give clearer instrutions for how to update aclocal.m4. * ltconfig.in, ltmain.sh.in (link): Add support for creating reloadable objects. 1996-12-04 Gordon Matzigkeit * ltmain.sh.in (install): Fix passing -n flag to `libtool --finish'. (compile): Compile `.lo' and `.o' objects at the same time so that non-PIC objects (if they are available) can be used for linking into programs and creating static archives. Suggested by Ulrich Drepper. 1996-12-03 Gordon Matzigkeit * ltmain.sh.in (link): Give the full path to the libtool library when sourcing it. * ltconfig.in (old_striplib): Do a configuration test to determine if old-style libraries actually can be stripped or not. 1996-12-02 Gordon Matzigkeit * tests/demo.test: Try compiling the ../demo subdirectory, with no special options. * test-e.test: Check that we haven't used `test -e' anywhere in our portable shell scripts. 1996-12-02 Gordon Matzigkeit * ltconfig.in: Delete reference to ABOUT-LIBS. * tests: Added new subdirectory. * doc/libtool.texi: Doc fixes, and finished up the Configuring chapter. * ltmain.sh.in (link): Allow *._o and *.l_o to be valid object file suffixes, for Automake's ansi2knr implementation. New option -version-info replaces -version-file. [help]: Give a pointer to mode-specific help when appropriate. * ltconfig.in: Changed messages to correspond to AM_PROG_CC_STDC. * demo: Also test Automake's ansi2knr support. 1996-11-19 Gordon Matzigkeit * ltconfig.in: Bug fixes for AIX 4, and for static platforms. * ltmain.sh.in (install): Fix for loops over arguments. Need to quote ${IFS= } -> "${IFS= }". (link): Fix soname_spec bug. Create objdir whether or not we have shared libraries. * ltconfig.in: Check for library stripping program. Use test -f instead of test -e. 1996-11-18 Gordon Matzigkeit * ltconfig.in: Don't run the RANLIB test unless RANLIB wasn't set. Be verbose about the environment variables we were configured with. * ltmain.sh.in (objdir): change to .libs. 1996-11-16 Gordon Matzigkeit * ltmain.sh.in (install): Just plunge ahead with the installation... don't try to enforce dependencies. 1996-11-15 Gordon Matzigkeit * ltmain.sh.in: Fix up $libdir to be $dest in install mode. 1996-11-10 Gordon Matzigkeit * ltmain.sh: Finished rewrite of compile, link, and install modes. * New ChangeLog file for libtool-0.7, since I've totally rewritten libtool. 1996-03-15 Gordon Matzigkeit * For historical reasons: this is when I started writing libtool. -- Copyright (C) 1996-2010 Free Software Foundation, Inc. This file is part of GNU Libtool. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind.