红联Linux门户
Linux帮助

GNU libtool 2.4.3发布,通用库支持脚本

发布时间:2014-10-28 09:46:07来源:红联作者:empast
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为后缀的文件。

软件详情:http://www.gnu.org/software/libtool/

下载地址:ftp://ftp.gnu.org/gnu/libtool/

来自:开源中国社区
文章评论

共有 0 条评论