Opened 8 years ago

Closed 8 years ago

#1013 closed task (fixed)

Libtool 2.4.3 version upgrade

Reported by: William Harrington Owned by: clfs-commits@…
Priority: major Milestone: CLFS Standard 3.1.0
Component: BOOK Version: CLFS Standard GIT
Keywords: Cc: berzerkula@…, jonathan@…, chris@…




  • Noteworthy changes in release 2.4.3 (2014-10-27) [stable]

New features:

  • Moved to gnulib release infrastructure.
  • M4 is now used for scanning the M4 macros in your that 'libtoolize' looks at to determine what files you want, and where you would like them installed. This means that you can compose your version number or any other argument that Libtoolize needs to know at M4 time using git-version-gen from gnulib, for example.
  • Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf macro directory in the libltdl tree, but automatically adjusts the installed libltdl configuration files to share whatever macro directory is declared by the parent project. (Note: if you were already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4) or similar, that still works as does any other directory choice).
  • Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary scripts directory in the libltdl tree, but automatically adjusts the installed libltdl configuration files to share whatever auxiliary scripts directory is declared by the parent project. (Note: if you were already sharing an auxiliary directory with subproject libltdl using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as does any other directory choice).
  • The legacy tests have all been migrated to the Autotest harness.
  • The Autotest testsuite can be run without the especially time consuming tests with:

make check-local TESTSUITEFLAGS='-k "!expensive"'

Bug fixes:

  • Fix a long-standing latent bug in autom4te include path for autotests with VPATH builds.
  • Fix a long-standing latent bug in libtoolize that could delete lines from libltdl/ in recursive mode due to underquoting in a sed script.
  • Fix a long-standing bug in libtoolize, by outputting the 'putting auxiliary files in' header with 'libtoolize --ltdl --subproject'.
  • Fix a long-standing bug in libtoolize subproject installation, by not installing a set of autoconf macro files into the parent project if there is no present to use them.
  • The libtoolize subproject mode selector is now named '--subproject' and is equivalent to the implied '--subproject' mode when no other mode is selected; '--standalone' never worked, and is no longer accepted.
  • Libtool and libtoolize no longer choke on paths with a comma in them.
  • In the case where $SHELL does not have the same enhanced features (e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool will now correctly fallback to using only vanilla shell features instead of failing with a parse at startup.
  • Correctly recognize import libraries when Microsoft dumpbin is used as the name lister and extend the dumpbin wrapper to find symbols in import libraries using the -headers option of dumpbin. Also fix a bug in the dumpbin wrapper that could lead to broken symbol listings in some corner cases.
  • Use the improved Microsoft dumpbin support to mend preloading of import libraries for Microsoft Visual C/C++.
  • No longer mangle module-definition (.def) files when feeding them to the Microsoft Visual C/C++ linker via the -export-symbols argument to the libtool script, thus matching how .def files are handled when using GNU tools.
  • Recognize more variants (e.g. those starting with a LIBRARY statement) of module-definitions (.def) files when using them instead of a raw list of symbols to export.
  • Fix a long-standing bug when using libtoolize without automake; we no longer remove install-sh with --force, since it's not a file libtoolize will reinstall without --install..

Important incompatible changes:

  • GNU M4 is required to run libtoolize in a directory with a '' (or '') that needs tracing to determine what modes and directories have been specified.
  • The use of the idiosyncratically named '' in nonrecursive libltdl builds is deprecated, although it will be supported for one more year or until the next release, whichever takes longer. Please upgrade to the more standard naming of '' in keeping with other GNU projects.
  • libtoolize now behaves consistenty in respect of multiple directory arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG- _MACRO_DIRS, where the first directory is always selected. Previous releases took the first ACLOCAL_AMFLAGS argument, but the last invocation of AC_CONFIG_MACRO_DIRS.
  • The libtoolize program now advises use of the new Autoconf AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all your developers will need at least autoconf-2.70 and automake-1.13 to rebootstrap your probject. If you still need to support bootstrap with older Autotools, then you should add the following to your file:




  • Overhead of probing for a non-backslash crippled echo equivalent during initialization of every script has been removed in favor of trusting that "printf %s\n" works out of the box on all non-museum host architectures. Manually setting ECHO appropriately in the build environment will be necessary on some ancient architectures.

Changes in supported systems or compilers:

  • Support for bitrig (*-*-bitrig*).
  • Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build environment, to build and use libtool.

Change History (1)

comment:1 Changed 8 years ago by William Harrington

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.