⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.124
Server IP:
50.28.103.30
Server:
Linux host.jcukjv-lwsites.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
Server Software:
nginx/1.28.0
PHP Version:
8.3.12
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
doc
/
libtool
/
Edit File: ChangeLog
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