mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-12-15 06:49:57 +08:00
f802484346
* doc/libtool.texi (Libltdl interface): Moved user defined module loader documentation from here... (Module loaders for libltdl) ...to here, and updated the text and added examples. * ltdl.m4 (AC_CHECK_FUNCS): check strcmp for lt_find_dlloader. * libltdl/ltdl.h: Reformatted and commented for readability. (struct lt_user_dlloader): New data type for passing initialisation pointers to lt_add_dlloader. (LTDL_ERROR_INVALID_LOADER): New error message when non loader handles are passed to the user loader API. (LTDL_ERROR_INIT_LOADER): New error when loader initialisation fails. (LTDL_ERROR_REMOVE_LOADER): New error when loader removal fails. (lt_module_open_t): renamed from lt_lib_open_t. (lt_module_close_t): renamed from lt_lib_close_t. (lt_dlloader_exit_t): renamed from lt_dlloader_exit_t. * libltdl/ltdl.c: Reordered builtin loaders so that the "dld" loader no longer occurs before "dlopen" on some platforms and after it on others. (lt_dlloader_t): Moved here from ltdl.h, added a field, "loader_name", for identifying the loader, and renamed from lt_dltype_t. Renamed type variables to loader IFF of type lt_dlloader_t. (lt_module_t): Renamed from lt_syshandle. Renamed handle variables to module IFF of type lt_module_t. (LTDL_TYPE_TOP): Deleted. No longer required. (sys_dl): Initialised as a struct lt_user_dlloader. (sys_dl_init): Deleted. No longer required. (sys_dl_exit): Ditto. (sys_shl): Initialised as a struct lt_user_dlloader. (sys_shl_init): Deleted. No longer required. (sys_shl_exit): Ditto. (sys_wll): Initialised as a struct lt_user_dlloader. (sys_wll_init): Deleted. No longer required. (sys_wll_exit): Ditto. (sys_bedl): Initialised as a struct lt_user_dlloader. (sys_bedl_init): Deleted. No longer required. (sys_bedl_exit): Ditto. (sys_dld): Initialised as a struct lt_user_dlloader. (sys_dld_init): Deleted. No longer required. (sys_dld_exit): Ditto. (sys_presym): Initialised as a struct lt_user_dlloader. (lt_mod_init_t): Moved to here from ltdl.h. (lt_dlinit): Add builtin loaders using the user loader API. (lt_dlexit): Unregister and free all loaders. (lt_add_dlloader): New function to add a new module loader after the loader specified in the argument. (lt_remove_dlloader): New function to remove a module loader. (lt_next_dlloader): New function for iterating over module loaders. (lt_dlloader_name): Accessor function for name of dlloader. (lt_find_dlloader): New function to get a reference to a registered module loader. (strcmp): static implementation incase the host has none. (lt_dlgettypes, lt_dlsettypes): Removed.
359 lines
17 KiB
Plaintext
359 lines
17 KiB
Plaintext
NEWS - list of user-visible changes between releases of GNU Libtool
|
||
|
||
New in 1.3d: 2000-??-??; CVS version 1.3c, Libtool team:
|
||
* New "-no-install" flag to avoid the use of executable wrapper scripts.
|
||
* New --with-pic flag to control the generation of PIC/non-PIC code.
|
||
* New --build flag to ltconfig to help with build cross compilation
|
||
environments is inherited from --build flag passed to configure.
|
||
* Support for hardcoding run-time paths (-R) into libraries.
|
||
* Support -dlopen and -dlpreopen for libraries.
|
||
* Libtool now allows you to link shared libraries against static code.
|
||
* New functions lt_dlgetdata, lt_dlsetdata, lt_dlgetinfo, lt_dlforeach
|
||
in libltdl can be used to store application specific data in handles.
|
||
* New functions lt_next_dlloader, lt_dlloader_name, lt_find_dlloader,
|
||
lt_add_dlloader in libltdl can be used for adding new types of module
|
||
loader to libltdl..
|
||
* New functions lt_dladderror, lt_dlseterror in libltdl can be used to
|
||
integrate user module loaders with lt_dlerror.
|
||
* "-Xcompiler" and "-Wc," does now work in compile mode, too.
|
||
* Start of support code for cross-compiling to win32.
|
||
* libltdl can now be built as a dll with win32.
|
||
* m4 macros needed to configure libltdl split out into libltdl/ltdl.m4.
|
||
* Improved support for mingw32, Compaq Tru64 V5.0 and Digital Unix V4.*.
|
||
* Many bugfixes (especially in libltdl)
|
||
|
||
New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team:
|
||
* Support for Compaq Tru64 V5.0.
|
||
* Improved support for Digital Unix V4.*.
|
||
* Improved support for NetBSD, FreeBSD and Unixware.
|
||
* Many fine bugfixes.
|
||
|
||
New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team:
|
||
* Complete inter-library dependencies support. It's now possible
|
||
to link libtool libraries against other libtool libraries.
|
||
* Libtool is able to find already-installed libtool libraries,
|
||
even if they were moved out of their installation directory.
|
||
* New "-Wc,flag" and "-Xcompiler flag" flags to pass flags
|
||
directly to the compiler
|
||
* New "-Wl,flag" and "-Xlinker flag" flags to pass flags
|
||
directly to the linker
|
||
* New "-no-fast-install" flag to selectively disable fast-install mode.
|
||
* Support for installing stripped libraries using GNU strip (install -s).
|
||
Automake >= 1.5 will install stripped libraries with "make install-strip".
|
||
* Allow linking shared libraries against static ones
|
||
on FreeBSD, GNU/Linux, GNU Hurd and Solaris
|
||
* Support for linking DLLs on Win32
|
||
* New `clean' mode to delete uninstalled files.
|
||
* New demos and tests
|
||
* Various bugfixes
|
||
|
||
New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team:
|
||
* New `-dlpreopen force' flag to ensure that
|
||
lt_preloaded_symbols is always defined.
|
||
* Work around self-dlclose bug in FreeBSD 3.1.
|
||
* Expand convenience libraries when creating reloadable objects.
|
||
* Do not forget to import -L flags of convenience libraries.
|
||
* Do not pass -whole-archive or equivalent to symbol extractor.
|
||
* Create directory to expand convenience libraries only when needed.
|
||
* Improved support for Cygwin, DJGPP and NetBSD
|
||
* Various bugfixes
|
||
|
||
New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team:
|
||
* Avoid circular links of objects and libraries.
|
||
* Look for dlerror when dlopen was found in -ldl (typo).
|
||
* Disable shared libraries with broken GNU ld on Solaris.
|
||
|
||
New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team:
|
||
* Documentation improvements; recommend automake users to insert libtool.m4
|
||
in acinclude.m4
|
||
* AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL.
|
||
* New port to NEC UX/4800.
|
||
* cygwin-b20.1 passes all tests.
|
||
* Slightly improved BeOS support.
|
||
* Many AIX 4.3.2 test failures have gone.
|
||
* Pass unknown -L arguments through to the linker (for -LANG:* support).
|
||
* Close a security hole with mode 777 directory during libltdl installation.
|
||
* Fixed the infamous ``ifelse'' bug in libtool.m4
|
||
|
||
New in 1.3: 1999-04-29, Libtool team:
|
||
* This is just a summary of the changes since 1.2.
|
||
See the news of intermediate alpha releases below for details.
|
||
* Support for convenience archives.
|
||
* New maintainers. Anonymous CVS and home page at gnu.org.
|
||
* Portable dlopening interface with libltdl, new -module flag.
|
||
* Correctly link installed libtool libraries into programs and other
|
||
libtool libraries. Linking of uninstalled libtool libraries into
|
||
libraries is under development for 1.4.
|
||
* Do not drop library dependencies on platforms that allow them.
|
||
* Linking with uninstalled libraries no longer picks installed ones by
|
||
mistake.
|
||
* Use libraries from the build tree when running uninstalled
|
||
executables (may require double linking).
|
||
* Allow developers to optimize for build-tree executions.
|
||
* Support -export-symbols-regex for controlled symbol exporting.
|
||
* Support -R to hardcode directories in library search paths.
|
||
* New ports, demos and tests. Lots of improvements and bug fixes.
|
||
|
||
New in CVS version 1.2g, Libtool team:
|
||
* AM_PROG_LIBTOOL is smaller and faster
|
||
* AC_LIBTOOL_WIN32_DLL is required in configure.in for libtool to
|
||
attempt to build dlls on win32 hosts
|
||
* Shared libraries on AmigaOS up to version 4 are now disabled
|
||
since they don't meet libtool's requirements for shared libraries
|
||
* -L supports now relative directories
|
||
* Libltdl has a new license: LGPL with a special exception
|
||
* Libltdl can be used as stand-alone package
|
||
* dlopen support for BeOS
|
||
* Partial support for Motorola System V 4
|
||
* Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX
|
||
* Documentation updates
|
||
* New tests
|
||
* Bugfixes
|
||
|
||
New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team:
|
||
* libtool will correctly link uninstalled libraries into programs
|
||
and prefer uninstalled libraries to installed ones
|
||
* Library paths that are in the system default run-time search path
|
||
are no longer hardcoded into executables.
|
||
* New fast installation mode, which links the final executable
|
||
in order to avoid relinking during installation.
|
||
Programs in the build-tree are relinked when executed.
|
||
* New AC_DISABLE_FAST_INSTALL macro to set the default for
|
||
the fast-install mode to disabled
|
||
* New -export-symbols-regex flag, to export symbols selectively by
|
||
a regular expression
|
||
* Support -R for specifying run-time path of programs and library dependencies
|
||
* New -avoid-version option to avoid versioning for libraries
|
||
* libtool module names no longer need to have a "lib" prefix
|
||
(requires automake 1.4).
|
||
* New -thread-safe flag, to build thread-safe libraries
|
||
* Major improvements in libltdl: API documentation, installable version,
|
||
support for module search paths, support for lt_dlopen(0),
|
||
can be embedded into packages as a tar file (libltdl.tar.gz),
|
||
dynamic buffer allocation and buffer overflow checks,
|
||
new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the
|
||
main program, dynamic memory allocation functions are user-defineable
|
||
* New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select
|
||
convenience and/or installable versions of libltdl.
|
||
* libltdl is now built and installed unless --disable-ltdl-install
|
||
* New "-dlopen self" flag for dlopening the executable itself
|
||
* New AC_LIBTOOL_DLOPEN macro to check for dlopen support,
|
||
required if you use -dlopen or -dlpreopen
|
||
* If libtool could not satisfy all dependencies of a module
|
||
it will only build a static version of it
|
||
* dld_preloaded_symbols was renamed to lt_preloaded_symbols
|
||
* Support for BeOS
|
||
* Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP
|
||
BSD/OS 4.x and NetBSD
|
||
* In order for libtool to attempt to link a shared library (dll) on win32
|
||
platforms, you must pass the -no-undefined flag to libtool in link mode.
|
||
* The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least.
|
||
* Support for IRIX library versioning.
|
||
* New demos and tests
|
||
* Various bugfixes
|
||
|
||
New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
|
||
* libtool will correctly link already-installed libraries into programs.
|
||
* New -module flag, to create loadable modules.
|
||
* New libltdl, a small library for portable dlopening of modules.
|
||
It is still undocumented, but you can already find some examples in:
|
||
* New mdemo directory, with tests of -module and dlopening examples.
|
||
Be aware that libltdl is only known to work on a few platforms such as
|
||
GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several
|
||
other platforms; please ignore these failures by now (or work to fix
|
||
them :-).
|
||
* Inter-library dependencies patch finally integrated, but there's
|
||
still much porting to do. See PORTING for details (some plans for the
|
||
future in mail/deplibs in the CVS tree).
|
||
* New option -export-symbols to control symbol exporting when possible.
|
||
* Fixed -export-dynamic problem with C++ programs in egcs 1.1.
|
||
* New dlpreopen structure.
|
||
* libtool now supports `-c -o' and subdirectories in sources and
|
||
target object names even in platforms whose compilers do not support
|
||
this. In this case, file locking occurs to avoid problems with
|
||
parallel builds.
|
||
* New `echo' variant that should fix most problems with long command
|
||
lines and broken printf programs.
|
||
* Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved
|
||
support for Microsoft Windows
|
||
* Various bugfixes
|
||
* We now have anonymous CVS access to GNU libtool. CVSROOT is
|
||
:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password
|
||
is empty. The directory is libtool. Check our home-page at
|
||
http://www.gnu.org/software/libtool/libtool.html for details.
|
||
* Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
|
||
the maintenance of libtool.
|
||
* Arguments to ltconfig have been changed to allow creation of a
|
||
libtool C program, totally unusable as of this release.
|
||
|
||
New in 1.2b - 1998-07-01, Gordon Matzigkeit:
|
||
* Libtool needs a new maintainer, since Gordon Matzigkeit has quit.
|
||
If you think you can do the job, send mail to bug-libtool@gnu.org.
|
||
* Bug fixes.
|
||
* Support for libtool convenience archives.
|
||
|
||
New in 1.2a - 1998-04-19, Gordon Matzigkeit:
|
||
* Bug fixes.
|
||
* ltconfig accepts an `--output' option to specify the name of the
|
||
generated libtool.
|
||
* New `--debug' flag to turn on shell script tracing for libtool,
|
||
libtoolize, and ltconfig.
|
||
* Added `libtool --config' to print out all configuration variables.
|
||
* Support for *-*-hpux11*.
|
||
|
||
New in 1.2 - 1998-03-20, Gordon Matzigkeit:
|
||
* Minor bug fixes to provide a stable public release.
|
||
* Libtool no longer causes Solaris printf to barf due to silly
|
||
2110-byte static buffers.
|
||
|
||
New in 1.1 - 1998-03-08, Gordon Matzigkeit:
|
||
* Bug fixes.
|
||
* http://www.profitpress.com/libtool/ is libtool's homepage.
|
||
* `AM_PROG_LIBTOOL' supports turning shared or static libraries off
|
||
with the `--enable-shared=PKGS' and `--enable-static=PKGS' configure
|
||
flags. See (libtool)AM_PROG_LIBTOOL.
|
||
* Use the `AM_DISABLE_SHARED' or `AM_DISABLE_STATIC' macros if you
|
||
wish to modify the default behaviour of `AM_PROG_LIBTOOL' for your
|
||
package.
|
||
* New rules for `AM_PROG_LD' to use gcc's `-print-prog-name' flag in
|
||
order to find ld, if possible.
|
||
* Suppress duplicate compiler output during `compile' mode.
|
||
* Deleted `dlname' mode. Dlopen applications should only use the
|
||
runtime search method described in (libtool)Finding the dlname.
|
||
* Experimental support for dynamically loaded modules, even on
|
||
static-only platforms, via new `-dlopen' and `-dlpreopen' link
|
||
flags.
|
||
* `compile' mode honours the `-static' flag to prevent libtool
|
||
from building PIC objects.
|
||
* New `execute' mode to support debugging uninstalled libtool
|
||
libraries and executables.
|
||
* `-allow-undefined' is now the default. You can use `-no-undefined'
|
||
to declare that a shared library is completely self-contained.
|
||
* Inter-library dependencies are automatically handled when linking
|
||
against an uninstalled `.la' file.
|
||
* New `-all-static' flag to prevent any dynamic linking. The regular
|
||
`-static' flag now just prevents dynamic linking of libtool libraries.
|
||
* New `-release' flag to encode release numbers into libtool
|
||
libraries. This breaks binary compatibility, but is useful for
|
||
libraries whose interfaces change very frequently. See
|
||
(libtool)Versioning.
|
||
* The `-rpath' flag can be used to hardcode absolute directories when
|
||
linking executables using libtool.
|
||
* New robust quoting code to handle any metacharacters passed in
|
||
arguments to libtool commands.
|
||
* Full support for broken collect2 on AIX 3. Shared libraries
|
||
can now be built with all working versions of GCC on AIX.
|
||
* Shell script speed optimizations for old and buggy /bin/sh systems,
|
||
such as HP-UX 9 and SunOS 4.1.4.
|
||
* Maybe use `_libs' as a temporary libtool directory instead of `.libs'
|
||
in order to cope with MS-DOS filenames.
|
||
* Portability fixes for Windows NT.
|
||
* Refuse to create libtool libraries that don't begin with `lib'.
|
||
This allows us to correctly handle OSes that don't have the `lib'
|
||
prefix by default, such as OS/2.
|
||
* Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*.
|
||
|
||
New in 1.0 - 1997-07-08, Gordon Matzigkeit:
|
||
* Bug fixes.
|
||
* Better configuration test to find the system linker. The old test
|
||
was failing because people frequently install GNU ld, but don't
|
||
necessarily configure GCC to use it.
|
||
* Automake support for Libtool now uses the LTLIBRARIES primary. See
|
||
the Automake documentation for more information.
|
||
* Added new `--disable-static' flag to disable building static
|
||
libraries on platforms that have shared libs.
|
||
* New `-allow-undefined' link flag to build shared libs that contain
|
||
references to unresolved symbols.
|
||
* Removed all support for creating static-only libraries.
|
||
* Basic support for dynamically loaded modules: new `-export-dynamic'
|
||
linking flag and corresponding `dlname' mode.
|
||
* New `--features' flag to display configured libtool attributes.
|
||
* Added support for installing libtool objects, both in absolute and
|
||
relative directories.
|
||
* Support *-*-linux-gnu* as an alias for *-*-linux*.
|
||
* Support for *-*-openbsd* and *-*-freebsd3*.
|
||
|
||
New in 0.9 - 1997-02-03, Gordon Matzigkeit:
|
||
* Bug fixes.
|
||
* The libtool demo now uses the libm cos(3) function, to demonstrate
|
||
inter-library dependencies.
|
||
* The PLATFORMS file has been moved to doc/platforms.texi.
|
||
|
||
New in 0.8 - 1997-01-26, Gordon Matzigkeit:
|
||
* Bug fixes, and more documentation.
|
||
* Basic support for other language compilers (C++, Fortran, and
|
||
preprocessed assembler).
|
||
* Libtool is now more persistent when linking with the `-static'
|
||
flag fails.
|
||
* New test for hardcoding system linkers, to verify that libtool
|
||
neither creates incorrect binaries, nor takes unnecessary
|
||
precautions while linking against uninstalled shared libraries.
|
||
* For clarity, the demo subdirectory no longer uses ansi2knr, and has
|
||
been rewritten to avoid ANSI-only constructs.
|
||
* Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*.
|
||
|
||
New in 0.7 - 1996-12-08, Gordon Matzigkeit:
|
||
* Total rewrite of libtool, along with a new model for library building.
|
||
* Completely rewritten documentation for the new paradigm.
|
||
* Sane handling of broken system linkers, such as the ones on AIX
|
||
and HP-UX.
|
||
* configure mode is now a separate program, `ltconfig'
|
||
* The libinfo helper script has been incorporated into the main
|
||
libtool program.
|
||
* Automatic mode guessing, based on the command line.
|
||
* Full support for Automake 1.2 (including ansi2knr features).
|
||
* Support to create reloadable objects using link mode.
|
||
* Support for new `-static' linking flag.
|
||
* Support for stripping libraries during installation.
|
||
* Library version information is now passed on the command line, not
|
||
through a version file.
|
||
|
||
Version 0.6 was never released.
|
||
|
||
New in 0.5:
|
||
* Disabled install-progs until next version, when it will be correctly
|
||
implemented.
|
||
* Clearer library versioning documentation. See (libtool)Versioning.
|
||
* Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL
|
||
* Libtool now creates pseudo-objects named foo.lo and pseudo-archives named
|
||
libfoo.la instead of foo.o and libfoo.a. See the documentation.
|
||
* libtool compile doesn't interfere with user CFLAGS if they don't
|
||
conflict with the current objtype. From Karl Berry.
|
||
* Created new libinfo helper script.
|
||
* libversion.in files are obsolete -- libtool uses libinfo to read the
|
||
new LIBINFO files.
|
||
* Libtool is better at finding its config file and helper scripts.
|
||
* Support for *-*-gnu*
|
||
|
||
New in 0.4:
|
||
* Bug fixes and new regression tests
|
||
* On unsupported configurations, ``libtool configure'' demotes OBJTYPES to
|
||
`standard' instead of aborting
|
||
* Added new object type, `t', for tcov(1) support
|
||
* Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2*
|
||
|
||
New in 0.3:
|
||
* Bug fixes and new regression tests
|
||
* Added new uninstall-libs mode
|
||
* Added a host argument to configure mode
|
||
* Fixed debugging/hyper-optimizing flags conflict (from Karl Berry)
|
||
* Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper)
|
||
* Implementation of --enable-linktype, --enable-profile, --enable-shared,
|
||
--enable-static in gm_PROG_LIBTOOL macro
|
||
* New `libtoolize' program (modeled after GNU gettext's `gettextize') to help
|
||
conversion to libtool
|
||
* New ABOUT-LIBS document for inclusion with libtool-supported packages
|
||
|
||
New in 0.2:
|
||
* Support for *-*-linux
|
||
* Better checking for GNU ld
|
||
* Reimplemented the config file so that it corresponds more closely to the
|
||
variables listed in (libtool)Porting Libtool.
|
||
* Reimplemented the shared library version scheme. See (libtool)Versioning.
|
||
* Replaced `--config-file' and `--version-file' options with `--confdir'
|
||
* Added new install-libs and install-progs modes
|
||
|
||
New in 0.1:
|
||
* First release of libtool
|
||
* Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*
|