GNU libtool 2.4.3 发布,上一个版本是 2.4.2(2011-10-17),此版本现已提供下载(libtool-2.4.3.tar.gz),更新内容如下: ** 新特性 - Moved to gnulib release infrastructure. - M4 is now used for scanning the M4 macros in your configure.ac 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 修复 - 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/Makefile.am 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 configure.ac 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.. ** 重要的非兼容性改进 - GNU M4 is required to run libtoolize in a directory with a 'configure.ac' (or 'configure.in') that needs tracing to determine what modes and directories have been specified. - The use of the idiosyncratically named 'Makefile.inc' 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 'ltdl.mk' 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 configure.ac file: m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) - 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. ** 支持的系统和编译器改进 - Support for bitrig (*-*-bitrig*). - Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build environment, to build and use libtool. 更多更新内容请下载查看 changelog。 libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中,也就是说,你可以通过如下所示的标准方法,在不同平台上创建并调用动态库,我们 可以认为libtool是gcc的一个抽象,也就是说,它包装了gcc或者其他的任何编译器,用户无需知道细节,只要告诉libtool说我需要要编译哪 些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。 GNU libtool 2.4.3 发布,通用库支持脚本下载地址