mirror of
git://git.savannah.gnu.org/libtool.git
synced 2025-01-24 14:24:59 +08:00
64d9b880c5
* NEWS: inter-library dependencies are now supported * configure.in: add the depdemo subdirectory * depdemo/*: new demo to demonstrate inter-library dependencies * tests/depdemo*: new tests for depdemo * ltconfig.in: added hardcode_into_libs (whether library paths should be hardcoded into the libraries), it currently defaults to 'no' * ltmain.in: new internal 'relink' mode to relink libraries on platforms with hardcode_into_libs=yes, save command line arguments in libtool_args, accept relative -L directories, ignore -lm on BeOS and Cygwin, always ignore -lc, handle -l, -L and .la arguments later, always make the library installation directory (-rpath) absolute, in relink mode don't delete the not-relinked library and exit immediately after relinking, try to find already-installed libtool libraries that were specified using -l, support hardcoding of library paths into libraries too, export shlibpath before linking libraries, and a lot of other big changes that I don't want to describe here... please read the source. * merged Gary's Win32 code from the ILD branch: * NEWS: Win32 DLLs are now supported * TODO: removed .a library namespace clash for win32. It is now resolved. * ltconfig.in (cygwin, library_names_spec): removed $libname.a. Creating a dll with libtool no longer creates an import library. * ltconfig.in (extract_expsyms_cmds): Create $objdir if it does not exist -- i.e. we need to generate import an import library in a directory which has no libs of its own. * doc/libtool.texi (old_archive_from_expsyms_cmds, extract_expsyms_cmds): documented these new variables. * ltconfig.in (extract_expsyms_cmds): New variable. Commands to extract the exported symbol list from a dll. (old_archive_from_expsyms_cmds): New variable. Commands to build an old archive from the extracted expsyms list. * ltmain.in: run the cmds in extract_expsyms_cmds and old_archive_from_expsyms_cmds as necessary. * ltconfig.in (cygwin, old_archive_from_new_cmds): no longer required. * ltconfig.in (cygwin, shlibpath_overrides_runpath): I'm not even sure whether win32 honours the runpath at all when searching for a dll to load! Anyway, when set to yes this prevents a gratuitous warning. * ltmain.in (deplib): The cygwin environment doesn't actually have -lm, and although the linker fakes having one, specifiying it to libtool will break ILD, so we ignore it when generating dependencies.
260 lines
12 KiB
Plaintext
260 lines
12 KiB
Plaintext
NEWS - list of user-visible changes between releases of GNU Libtool
|
||
|
||
New in 1.3a: CVS version, Libtool team:
|
||
* Complete inter-library dependencies support. It's now possible
|
||
to link libtool libraries against other libtool libraries.
|
||
* Already-installed libtool libraries will be found.
|
||
* Support for linking DLLs on Win32
|
||
* New demos and tests
|
||
* Various bugfixes
|
||
|
||
New in 1.2g: CVS version, Libtool team:
|
||
* Nothing so far
|
||
|
||
New in 1.2e: CVS version; 1.2f: 1999-03-15, 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.2c: CVS version; 1.2d: 1998-12-16, 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*
|