NEWS - list of user-visible changes between releases of GNU Libtool

* Noteworthy changes in release 2.4.7 (2022-03-16) [stable]

** New features:

  - Libtool script now supports (configure-time and runtime) ARFLAGS
    variable, which obsoletes AR_FLAGS.  This is due to naming conventions
    among other *FLAGS and to be consistent with Automake's ARFLAGS.

  - Gnulib testsuite is enabled and run during 'make check'.

  - Support the Windows version of the Intel C Compiler (icl) in
    libtool script.

  - Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
    to linker.

  - Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.

  - The variable 'FILECMD' with default value of '/usr/bin/file' was used to
    replace existing hard coded references to '/usr/bin/file'.

  - Add MidnightBSD support.

** Important incompatible changes:

  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.

  - Do not pass '-pthread' to Solaris linker.

  - 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
    Previously '#! /bin/sh' was used, which presents challenges for
    containerized environments.

** Bug fixes:

  - Fix significant slowdown of libtoolize for certain projects (regression
    introduced in 2.4.3 release) caused by infinite m4 macro recursion.

  - Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
    increased number of calls to '$SED $sed_quote_subst' (bug#20006).

  - Properly parse and export TLS symbols on AIX.

  - Various bug fixes surrounding use of 'sed'.

  - Darwin systems set proper "allow undefined" flag on OSX 11, and
    PowerPC 10.5.

  - Removed some deprecated tests related to 'Makefile.inc' files.

* Noteworthy changes in release 2.4.6 (2015-02-15) [stable]

** New features:

  - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time
    and persists correctly in the generated libtool script.

** Bug fixes:

  - Fix a race condition in ltdl dryrun test that would cause spurious
    random failures of that test.

  - LT_SYS_DLSEARCH_PATH is munged correctly.


* Noteworthy changes in release 2.4.5 (2015-01-19) [stable]

** New features:

  - Libtoolize searches for the best available M4 on the user PATH at
    runtime, rather than settling for the first one found.

  - Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH
    environment variable.

** Bug fixes:

  - Bail out at configure time if the installed M4 is not sufficient
    for the purposes of libtoolize.

  - freebsd-elf library versioning was upgraded incorrectly in 2.4.4,
    but now works properly again.

  - Fix a 2.4.4 regression so that libltdl subprojects do not warn
    about missing libltdl/libltdl directory as in prior releases.

  - When using Sun C++ on Solaris or GNU/Linux we used to set libtool's
    postdeps permanently, based on the contents of $CXX and $CXXFLAGS at
    configure time, which was brittle and error-prone.  Now, we no
    longer check for a SunCC ABI at configure time, but augment the
    postdeps at libtool time based on the current invocation flags on
    each call.

** Changes in supported systems or compilers:

  - /usr/local prefixed rpaths are now added to the link-line on
    ia64-hp-hpux*, because the default system runtime loader path does
    not contain them.

  - Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun`
    flags were added to $postdeps unless CXX or CXXFLAGS contained
    `-library=stlport4`.  Newer releases have added other compiler flags
    that are also incompatible with `-Cstd -Crun`, so now we don't add
    them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or
    `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler
    is detected.


* Noteworthy changes in release 2.4.4 (2014-11-29) [stable]

** New features:

  - Libltdl maintains its own fork of argz, with macros and files in
    the LT_ and lt__ namespaces (resp.) where they cannot clash with
    client projects' use of gnulib argz.

** Bug fixes:

  - Installation of 'libtoolize' once again obeys '--program-prefix',
    '--program-suffix' and '--program-transform-name' configure options.

  - `libtoolize` doesn't remove any files that it can't reinstall,
    including old versions of the snippet directory, and gnulib's
    version of the argz module and supporting files.

  - LT_FUNC_DLYSM_USCORE now works correctly on systems that don't
    support self dlopen()ing.

** Important incompatible changes:

  - LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing
    duplicate occurrences in libltdl link lines.  If you need to
    add a library for dlopen() or shl_load() in your Makefile, then
    use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively.  If you
    are using libltdl, this all happens automatically, and the only
    difference you'll see is no more duplicated library names in the
    verbose link line.

** Changes in supported systems or compilers:

  - Preliminary support for tcc on linux*.  Although it already worked
    sometimes in previous releases, making sure to set LD correctly now
    avoids mis-matching GNU ld with tcc:

       ./configure CC=tcc LD=tcc

  - Added -os2dllname option to work around 8 character base name
    limit on OS/2.  The option has no effect on other systems.

  - Support for DLL versioning, -export-symbols and -export-symbols-regex
    on OS/2.

  - Support filename-based shared library versioning on AIX. See manual
    for details.


* 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 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 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/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..

** Important incompatible changes:

  - 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.

** 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.

New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team:

* New features:

  - The --with-pic configure option now supports a list of comma-separated
    package names.  This can be used to build some static libraries with PIC
    objects while building others with non-PIC objects.

  - Initial support for Go, using the gccgo compiler.

  - On Mac OS X .dylib is now tried as well as .so with
    lt_dlopenext().

* Bug fixes:

  - The generic approximation of the command line length limit (when getconf is
    not available) works again.  Regression introduced in v2.2.6-39-g9c3d4d8.
  - The bug that leaked developer tool paths into the release tarballs
    from ./bootstrap is fixed.
  - Improved support for the Cuda Compiler Driver (nvcc) on Darwin.
  - For GCC LTO support, the -fuse-linker-plugin switch is now also removed
    when computing compiler postdeps.

* Important incompatible changes:

  - The undocumented hardcode_libdir_flag_spec_ld tag variable has been
    removed in favor of using hardcode_libdir_flag_spec with $wl set to empty.

* Changes in supported systems or compilers:

  - Fixes for gfortran on Darwin, XL Fortran on GNU/Linux.
  - Support for FreeBSD 1.x (outdated since 1994) has been removed.

New in 2.4 2010-09-22: git version 2.2.11a, Libtool team:

* New features:

  - Sysroot support.  This allows you to build cross-compiled packages
    with the same prefix that will be used on the destination machine,
    and still find dependent libraries under the compiler's "sysroot".
    Without sysroot support, paths internal to the build system may leak
    into the product of the build.

    Sysroot support is disabled unless the --with-sysroot configure
    option is passed to configure, because .la files generated with
    sysroot support will _not_ be usable in general with older Libtools.

  - On non-cygwin Windows systems, we now lookup potential library
    file names without regard to file name case.
  - The old testsuite now uses the 'parallel-tests' Automake test driver
    now for more concurrency and better test logging.  For this, tests are
    run in verbose mode by default now.

* Important incompatible changes:

  - Autoconf 2.62 and Automake 1.11.1 or newer are now required for
    bootstrapping Libtool.  For using Libtool in your own projects,
    Autoconf 2.59 and Automake 1.9.6 should still work.
  - The fix_srcfile_path variable has been replaced by a more thorough
    mechanism triggered by the to_tool_file_cmd variable.

* Changes in supported systems or compilers:

  - Initial support for the Microsoft C/C++ Compiler, with help from
    the compile script in unreleased Automake 1.12. Override the manifest
    tool used to embed the manifest resource through the environment
    variable MANIFEST_TOOL. Please note that the import library naming
    has changed (from foo-2.lib to foo.dll.lib) from when the code lived
    in its own git branch.
  - Initial support for the NAG Fortran compiler on GNU/Linux.

* Bug fixes:

  - The 'check-interactive' and 'check-noninteractive' convenience make
    targets now also work for the old testsuite.
  - Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs
    passed to AC_*_IFELSE tests have been fixed.
  - On IRIX, the test for -Wl,-exported_symbol now also works with gfortran.

New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team:

* New features:

  - On non-cygwin Windows systems, we no longer try to lookup the POSIX
    format path recorded in $libdir of a pseudo-library when looking up
    the location of the library with the native tools.

New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team:

* No new features:

  - Bumped version number and promoted 2.2.7b release candidate to a full
    stable release.

New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team:

* New features:

  - Libtool ships and installs man pages for libtool and libtoolize now.
  - New libtool command line flag --help-all.
  - New libtool command line flag --no-silent (with alternate spelling
    --no-quiet). This flag (re)enables the default informational messages,
    but has no effect on so-called "verbose" output messages.
  - New libtool command line flag --no-verbose, which disables only
    the extra "verbose" output messages and has no effect on the
    default informational messages.
  - New convenience make targets 'check-noninteractive' to avoid long testsuite
    runs on Windows with popup windows in the middle, and 'check-interactive'
    for the complement set of tests.
  - New link mode flag -bindir to specify the location for installed PE DLLs.
  - Wrapper scripts and wrapper executables for programs linked against
    uninstalled shared libraries now support command-line options --lt-debug
    and --lt-dump-script.

* Important incompatible changes:

  - The wrapper command line option support described above introduces the
    following incompatibility: the wrapper will remove any command line
    options that begin with '--lt-*' from the argument list before launching
    (uninstalled) programs. Any '--lt-*' option on the command line not
    recognized by the wrapper will result in an error.
  - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has
    been fixed in the manual and in a couple of tests to match the actual
    implementation.

* Changes in supported systems or compilers:

  - Improved support for 64bit Windows (mingw64).
  - Improved support for cegcc (Windows CE/PocketPC).
  - Support for GNU/kOpenSolaris (kopensolaris*-gnu).
  - Initial support for compilers on BlueGene BG/P.
  - Improved support for Atari FreeMiNT.
  - With binutils 2.19.50+, shared libraries can be built on AIX.
  - Initial support for the Cuda Compiler Driver on GNU/Linux.
  - Support for Haiku (i586-pc-haiku).
  - Initial support for GCC link-time optimization (LTO) flags.

* Bug fixes:

  - Fix 2.2.6 regression that prevented using the libltdl macros together
    with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT').
  - Fix 2.2.4 regression that caused arguments with special characters
    to be mangled by the compile wrapper for uninstalled programs on MinGW.
  - libtool command line flag --verbose now also enables explicit
    verbose output, in addition to its previous behavior of (re)enabling
    only the default informational output. See New Features, --no-silent.
  - Link tests are guarded by cache variables so they can be avoided for
    bootstrapping purposes (e.g., when link tests are not possible).
  - Argument mangling of execute mode has been improved (i.e., lessened).
  - Fix 2.1b regression that caused nm to not be the default name lister.
    The regression affected mainly (arguably broken) cross compiles.
  - Fix long standing bug that caused compiler checks for Fortran and
    C++ compilers to run twice.
  - Link mode works around a parallel build failure on Darwin 9.6.0 due
    to the 'ar' 'flock'ing an archive upon extraction, by protecting the
    extraction of convenience archives with a lock.
  - The Libtool macro files do not contain instances of __oline__ any more,
    easing merges for configure scripts that are added to version control.
  - Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,")
    when using the compiler driver to link programs. Now "-Wc," is stripped
    just as it is when linking libraries through the compiler driver.
  - Symbol versioning works with the GNU gold linker now.
  - Fixes for detection of shared library dependencies on MinGW systems.
  - Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names.

* Miscellaneous changes:

  - The manual is distributed under the terms of the GNU FDL 1.3 now.

New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team:

* New features:

  - New lt_dloadvise_preload() call to set a hint that only preloadeded
    modules can be opened.
  - libtoolize no longer removes config.guess and config.sub, even when
    --install is passed.

* Changes in supported systems or compilers:

  - Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9)
    on GNU/Linux.
  - Fixes for cwrapper (cygwin/mingw) under -stdc=c99.
  - Support cross compile of MinGW with Wine.
  - Initial support for cegcc (Windows CE/PocketPC) cross compilation.
  - Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux.

* Bug fixes:

  - Several testsuite issues have been fixed, thanks to user feedback.

  - Fix 2.2 regression that caused argz symbols to be exported from
    libltdl unrenamed on systems that do not have working argz.

  - Revert "lt_dlopen(NULL) works on AIX again.". It was not the
    correct fix.

  - Diagnose '-L' arguments correctly.

  - Libtool no longer tries to open devices as files in execute mode.

  - Libtool no longer removes *.gcno profile information from GCC.

New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team:

* New features:

  - New libtoolize option --no-warn, for users that want to continue to
    use old libtool style without being nagged.
  - Options --debug, --no-warn, --quiet and --verbose can be passed to
    libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for
    cleaner interaction between the user and libtoolize when called by
    autoreconf.

* Bug fixes:

  - The documentation for lt_dlopenadvise showed the wrong type for
    the lt_dladvise parameter.
  - The public declarations for lt_dlhandle and lt_dladvise are now
    incomplete struct types rather than void*, which means that nearly
    all casting is eliminated allowing the compiler to provide more
    type checking.
  - libtoolize no longer reports up-to-date files that it would have
    copied, unless --force is passed.
  - No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4
    when it is already there.
  - When 'aclocal' copied the libtool macros directly into 'aclocal.m4'
    (i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer
    reports that all macros need to be added to 'aclocal.m4', and
    diagnoses only the macro files that are missing or not up-to-date.
  - libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching
    libtool macros in-tree where appropriate.
  - libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or
    equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS
    names a different directory to AC_CONFIG_MACRO_DIR.

New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team:

* New features:

  - In compile mode, compiler output occurs in the user locale.  This
    feature has been present in 1.5.26 but not in 2.2.

* Changes in supported systems or compilers:

  - Initial shared library support for AmigaOS4 on powerpc.

* Bug fixes:

  - Fix 2.2 regression in libltdl that causes memory corruption upon
    repeated 'lt_dlinit(); lt_dlexit()'.
  - Fix 2.2 regression in libltdl that skipped the dlopen loader if
    the system also supports other loaders (e.g., Cygwin, HP-UX).
  - Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not
    transform ARGS that do not look like shell or C wrappers of libtool
    programs.
  - Fix 2.2 regression that kept cross-compiling to w32 from working.
  - Several testsuite issues have been fixed, thanks to user feedback.

New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team:

* Bug fixes:

  - argz.c, lt__dirent.c and lt__strl.c are correctly distributed with
    parent projects using nonrecursive libltdl.
  - libtoolize no longer tries to install libtool files when libltdl is
    used in a non-autoconf parent package.
  - Don't add the CXX tag to libtool when there is no C++ compiler, even
    if AC_PROG_CXX sets a default g++ compiler where no such compiler
    actually exists.
  - make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install
    works again.

New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team:

* 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.

