libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Libtool 2.1b released (alpha release)


From: Gary V. Vaughan
Subject: GNU Libtool 2.1b released (alpha release)
Date: Fri, 1 Feb 2008 01:06:21 +0800

The Libtool Team is pleased to announce alpha release 2.1b of GNU
Libtool.

GNU Libtool hides the complexity of using shared libraries behind a
consistent, portable interface. GNU Libtool ships with GNU libltdl,
which hides the complexity of loading dynamic runtime libraries
(modules) behind a consistent, portable interface.

This is the first test release for Libtool 2.2.  Libtool 2.0 was never
released, as by the time 1.9f was released from the stable branch, the
head of the development branch had already become much more stable than
the supposed stable branch.

The compressed sources will shortly arrive at:

  ftp://alpha.gnu.org/gnu/libtool/libtool-2.1b.tar.gz
  ftp://alpha.gnu.org/gnu/libtool/libtool-2.1b.tar.bz2

There are no xdeltas and diffs, as this is the first release from HEAD
in more than 4 years.

Here are the associated gpg detached signatures:

  ftp://alpha.gnu.org/gnu/libtool/libtool-2.1b.tar.gz.sig
  ftp://alpha.gnu.org/gnu/libtool/libtool-2.1b.tar.bz2.sig

You should download the signature named after any tarball you download,
and then verify its integrity with, for example:

  gpg --verify libtool-2.1b.tar.gz.sig

Here are the MD5 and SHA1 checksums:

  e22f79424d4efcf0247ad834773bffb7 libtool-2.1b.tar.gz
  f814c207f8fe257aa90ca26d49e63c3d libtool-2.1b.tar.bz2
  86d50163a33682ab83ac0005a8bd31088db1bd57 libtool-2.1b.tar.gz
  e5d2d239b6834e6d521d26f655dae751211e79a9 libtool-2.1b.tar.bz2

This release is more or less entirely rewritten in comparison with the
1.5 branch, and has many more features by comparison.

This release was bootstrapped with Autoconf 2.61 and Automake 1.10.1,
but should be useable with any reasonably modern equivalents in your own
projects.

Alternatively, you can fetch the unbootstrapped source code from
anonymous cvs by using the following command:

  $ cvs -z3 -d :pserver:address@hidden:/sources/libtool \
    co -r release-2-1b libtool

You will then need to have recent (possibly as yet unreleased) versions
of Automake and Autoconf installed to bootstrap the checked out
sources yourself.

New in 2.1b: 2008-02-01

* Important incompatible changes and obsoleted features:

  - Removed deprecated APIs from libltdl: lt_dlcaller_register,
lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register,
    lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror,
    lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree.
  - The Libtool and libltdl macros and the testsuite now assume a C89
    environment, consequently do not test for headers such as string.h,
    strings.h, memory.h any more.
  - Fix regression in libltdl symbol exports on Cygwin. Side effect:
    LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as
    declspec(dllexport), bypassing auto-export logic on Cygwin.
    This tracks existing behavior on MinGW.
  - The libtool script has been optimized a bit for more modern shells.
    This breaks use of the stdin file descriptor in libtool, and can
    break if a different shell is used to execute the libtool script
    than the one it was configured for.
- The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and
    AC_DISABLE_STATIC have been un-deprecated after deprecation in
    1.9b.
  - The macro LT_WITH_LTDL has been renamed to LTDL_INIT.
- Fixed a branch-1-5/HEAD regression to only link uninstalled libraries
    statically with `-static'.  In order to compensate for this, there
    is a new link flag `-static-libtool-libs' to provide the previous
    `-static' semantics.

* New features:

  - Fix installation of libltdl so that it does not need Autoconf and
    Automake installed, in order to be usable in another package.  This
    lifts the restrictions introduced in 1.9b.
  - Default convenience or installable libltdl builds can optionally
    be declared using new `convenience' or `installable' options to the
    LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE
    or LTDL_INSTALLABLE invocations).
  - New configure-time options to allow libltdl parent project builder
    to choose between installed and shipped libltdl, when invoking
    LTDL_INIT: --with-included-ltdl, --with-ltdl-include,
    --with-ltdl-lib.
  - New LT_CONFIG_LTDL_DIR macro to specify a different directory name
    for a convenience libltdl.
  - libtoolize has been completely overhauled.
  - `libtoolize --install' now also installs `install-sh'.
  - New libtoolize options: --non-recursive, --recursive, --subproject.
These options control the way libltdl is installed into a package by
    libtoolize.  The new recursive and non-recursive build modes for
    libltdl don't require a subconfigure any more.
    The Libtool package itself builds libltdl nonrecursively.
  - The 'nonrecursive', 'recursive' and 'subproject' libltdl build
    modes are given as LTDL_INIT options.
  - New make variable LTDLDEPS for use in output_DEPENDENCIES.
  - New multi-module-loader safe libltdl handle iteration APIs:
    lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map.
  - New lt_dlinterface_register to maintain separation of concerns
    between modules loaded by different libraries.
  - New lt_dlopenadvise takes a new lt_dladvise type argument, which
    lets the caller request local or global symbol visibility from the
    module loader with lt_dladvise_local and lt_dladvise_global
respectively. If neither is given, or if lt_dlopen (or lt_dlopenext) are called, then the system default module symbol visibility is used.
  - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow
caller requests for a filename extension search with lt_dladvise_ext,
    and for marking a module unloadable with lt_dladvise_resident.
  - Allow shell special characters like `$' in source file names, but
    not in object names, to enhance GCJ support.
  - An entire new Autotest-based testsuite in addition to the old one.
    Both testsuites have been made more useful for testing
    cross-compilers.  The new testsuite exposes many more issues, but
    may also be a little rocky on exotic systems.
- In 1.9b, a new variable inherited_linker_flags has been added to the
    libtool library files.  This variable takes flags that should be
    used by dependent libraries and programs, but that do not fit into
    `dependency_libs' for both clarity and backward-compatibility.

* Changes in supported systems or compilers:

  - Removed bitrotted support for xlc on Mac OS X.
- Detection of compiler wrappers distcc/ccache and $host_alias prefix.
  - Basic support for PIE (position-independent executables).
  - Support for DragonFly BSD, improved support for FreeBSD.
  - Improved support for GNU/kFreeBSD and GNU/NetBSD.
  - Support for Interix 3 (Windows SFU) and newer versions.
  - Support for AIX 6.1.
  - Improved support for UnixWare.
  - Initial support for RDOS.
  - Initial Support for FC (modern Fortran).
- Support for Portland Group compiler, the Sun compiler suite on GNU/Linux,
    and initial support for the IBM compiler suite on GNU/Linux/ppc.
- Support for linux-dietlibc (`diet' as well as `diet-dyn', separately).
  - Building libltdl with a C++ compiler has been undusted.
- On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer
    rpath over absolute dependent library names.  This fixes DESTDIR
    installs, among others, on the non-HP-UX/PA systems.
  - Use of C++ templates together with shared libraries has been
    improved on some systems and with some compilers, but is still
    ongoing work.  Feedback is desirable here.

* Bug fixes:

  - Fix libltdl on static platforms.
- Search paths with GCC on multilib systems like x86_64 have been fixed.
  - Fixed a regression that prevented use of libltdl without autotools.
- Fix error with -version-info on systems with version_type=none, such
    as BeOS.
  - Fix symbol exporting for cases where command line length limits are
    exceeded.
  - Improve linking with C++ libraries on Solaris with Sun compiler.
  - Fix installation of libraries that are required by installation
    commands such as `ln' or `rm'.
  - More robust parsing of mangled `.la' files inside libltdl, fixing a
    possible overrun and a crash due to memory exhaustion.
  - Fix compile command line for gcj on MinGW.
  - Some configure variables have been renamed to fix caching:
    lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works
    lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works.
  - Fix 1.9b regression: lt_dlopen(NULL) works on AIX again.
  - Loads of smaller bug fixes.

Please report bugs to <address@hidden>, along with the verbose
output of any failed test groups, and the output from `./libtool -- config.'
The README file explains how to capture the verbose test output.

Cheers,
        Gary
--
  ())_.              Email me: address@hidden
  ( '/           Read my blog: http://blog.azazil.net
  / )=         ...and my book: http://sources.redhat.com/autobook
`(_~)_




Attachment: PGP.sig
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]