1 NEWS - list of user-visible changes between releases of GNU Libtool
3 New in 1.5b: 2003-??-??; CVS version 1.5a, Libtool team:
4 * libtool script is now created by config.status. Instead of interrogating
5 `./libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the
6 variable names directly.
7 * --tag, --silent and --debug options are preserved and reused when libtool
8 calls itself for relinking etc.
9 * -no-suppress in compile mode shows compiler output for both PIC and non-PIC
11 * `-pthread' and similar options are honoured when linking shared libraries.
12 * Shared objects (.lo) are no longer created when `-static' is passed in
14 * New compile mode option `-shared' prevents creation of static objects (.o).
15 * New link mode option `-shared' creates only shared libraries at link time.
16 * If you configure libtool with --disable-shared (or if libtool does not
17 support shared libraries on your platform) trying to build a library using
18 `-shared' is a fatal error.
19 * New AC_LIBTOOL_TAGS macro to limit configure checks to only the listed tags.
20 * Directories specified in /etc/ld.so.conf are no longer hardcoded on Linux.
21 * libtoolize installs libtool.m4 (and ltdl.m4 if used) to AC_CONFIG_MACRO_DIR.
22 * Mode inferrence removed, shorthand for choosing modes added.
23 * Specifying -allow-undefined is now an error.
24 * Speed up max_cmd_len check.
25 * New function in libltdl: lt_dlhandle_find provides access to module handles
27 * make install now deletes preexisting $prefix/share/libtool before installing
29 * Extracting symbols from an import library on cygwin and win32 now works.
30 * Recognises the 'R' symbol type on Solaris so read-only symbols can be
32 * Initial support for amigaos-ppc.
35 New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team:
36 * lt_dlrealloc is an official part of the libltdl API.
39 New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team:
40 * First stable release of multi-language architecture.
41 * libtool and libltdl support for Mac OS/X.
42 * libltdl will now use cygwins dlopen API instead of always forcing
44 * Support auto-import patch to binutils on cygwin for much improved dll
48 New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne:
49 * The libltdl subdirectory now bootstraps correctly with Automake 1.5.
50 * srcdir != builddir builds with Automake 1.5 work correctly.
51 * Support for mips-compaq-nonstopux.
52 * New command line argument, --preserve-dup-deps prevents removal of
53 duplicate dependent libraries.
55 New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team:
56 * Help strings display correctly again.
57 * Better error messages when library linking fails.
58 * Better error messages from libltdl when loading fails.
59 * Better search path management in libltdl with `lt_dlinsertsearchdir' call.
60 * Support /lib/w32api in recent cygwin releases.
61 * Support cross compilation to mingw.
62 * Support for .rc files (Windows resource compiler).
63 * Improved handling of mingw gcc.
64 * Improved handling of $PATH with entries containing spaces.
65 * Improved support for linking with gcc on aix4* and aix5*.
66 * Improved support for GCC 3.0.
67 * Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8.
68 * Bug fixes to the OpenBSD port.
71 New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan:
72 * libltdl now builds on solaris again
73 * diagnose and warn about not-quite-working combinations of gcc and
75 * Improved OpenBSD support.
76 * Improved cygwin support.
79 New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team:
80 * Better error messages from libltdl when loading fails.
81 * Don't leave here-doc files behind.
82 * Improved support for OpenBSD.
83 * Libtool will build with autoconf-2.50 and higher.
84 * Plug memory management bugs in libltdl.
85 * Prefer shl_load to dlopen for better operation on HP-UX.
87 New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team:
88 * Now bootstraps with autoconf-2.50 and automake-1.4-p4.
89 * Always try to build at least a static lib, even if both static and
90 shared libs were disabled.
91 * Full support for C++ compiler.
92 * Support for GNU gcj compiler.
93 * libltdl can now load all modules in a given path according to user
94 supplied criteria with `lt_dlforeachfile' call.
95 * Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*.
96 * Internal mutex handling no longer has namespace clashes on NCR MP-RAS.
97 * New pdemo and tagdemo tests.
100 New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team:
104 New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team:
105 * ltconfig is no more. Generation of libtool happens directly from
107 * Multithread safe with lt_dlmutex_register callback registration.
108 * New -no-install flag to avoid the use of executable wrapper scripts.
109 * New --with-pic, -prefer-pic and -prefer-non-pic flags to control
110 the generation of PIC/non-PIC code.
111 * Support for hardcoding run-time paths (-R) into libraries.
112 * Support -dlopen and -dlpreopen for libraries.
113 * Libtool now allows you to link shared libraries against static code.
114 * New functions in libltdl:
115 lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module
116 specific data in handles.
117 lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide
118 management for user storage of per module data.
119 lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and
120 lt_dlloader_remove can be used for adding new types of module loaders.
121 lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror.
122 * "-Xcompiler" and "-Wc," does now work in compile mode, too.
123 * Support recent dlltool formats.
124 * Start of support code for cross-compiling to win32.
125 * libltdl can now be built as a dll with win32.
126 * m4 macros needed to configure libltdl split out into libltdl/ltdl.m4.
127 * New port to NEWS-OS Release 6.
128 * Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0
129 and Digital Unix V4.*.
130 * Initial support for ia64 linux.
131 * Initial support for a.out freebsd shared libs.
132 * Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer.
133 * Many bugfixes (especially in libltdl)
135 New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team:
136 * Complete inter-library dependencies support. It's now possible
137 to link libtool libraries against other libtool libraries.
138 * Libtool is able to find already-installed libtool libraries,
139 even if they were moved out of their installation directory.
140 * New "-Wc,flag" and "-Xcompiler flag" flags to pass flags
141 directly to the compiler
142 * New "-Wl,flag" and "-Xlinker flag" flags to pass flags
143 directly to the linker
144 * New "-no-fast-install" flag to selectively disable fast-install mode.
145 * Support for installing stripped libraries using GNU strip (install -s).
146 Automake >= 1.5 will install stripped libraries with "make install-strip".
147 * Allow linking shared libraries against static ones
148 on FreeBSD, GNU/Linux, GNU Hurd and Solaris
149 * Support for linking DLLs on Win32
150 * New `clean' mode to delete uninstalled files.
151 * New demos and tests
154 New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team:
155 * Support for mac OS X (rhapsody).
156 * Support for *-sequent-sysv4.
157 * Support for Cygwin-1.1.0.
158 * Support recent dlltool formats.
161 New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team:
162 * Support for Compaq Tru64 V5.0.
163 * Improved support for Digital Unix V4.*.
164 * Improved support for NetBSD, FreeBSD and Unixware.
165 * Many fine bugfixes.
167 New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team:
168 * New `-dlpreopen force' flag to ensure that
169 lt_preloaded_symbols is always defined.
170 * Work around self-dlclose bug in FreeBSD 3.1.
171 * Expand convenience libraries when creating reloadable objects.
172 * Do not forget to import -L flags of convenience libraries.
173 * Do not pass -whole-archive or equivalent to symbol extractor.
174 * Create directory to expand convenience libraries only when needed.
175 * Improved support for Cygwin, DJGPP and NetBSD
178 New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team:
179 * Avoid circular links of objects and libraries.
180 * Look for dlerror when dlopen was found in -ldl (typo).
181 * Disable shared libraries with broken GNU ld on Solaris.
183 New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team:
184 * Documentation improvements; recommend automake users to insert libtool.m4
186 * AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL.
187 * New port to NEC UX/4800.
188 * cygwin-b20.1 passes all tests.
189 * Slightly improved BeOS support.
190 * Many AIX 4.3.2 test failures have gone.
191 * Pass unknown -L arguments through to the linker (for -LANG:* support).
192 * Close a security hole with mode 777 directory during libltdl installation.
193 * Fixed the infamous ``ifelse'' bug in libtool.m4
195 New in 1.3: 1999-04-29, Libtool team:
196 * This is just a summary of the changes since 1.2.
197 See the news of intermediate alpha releases below for details.
198 * Support for convenience archives.
199 * New maintainers. Anonymous CVS and home page at gnu.org.
200 * Portable dlopening interface with libltdl, new -module flag.
201 * Correctly link installed libtool libraries into programs and other
202 libtool libraries. Linking of uninstalled libtool libraries into
203 libraries is under development for 1.4.
204 * Do not drop library dependencies on platforms that allow them.
205 * Linking with uninstalled libraries no longer picks installed ones by
207 * Use libraries from the build tree when running uninstalled
208 executables (may require double linking).
209 * Allow developers to optimize for build-tree executions.
210 * Support -export-symbols-regex for controlled symbol exporting.
211 * Support -R to hardcode directories in library search paths.
212 * New ports, demos and tests. Lots of improvements and bug fixes.
214 New in CVS version 1.2g, Libtool team:
215 * AM_PROG_LIBTOOL is smaller and faster
216 * AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to
217 attempt to build dlls on win32 hosts
218 * Shared libraries on AmigaOS up to version 4 are now disabled
219 since they don't meet libtool's requirements for shared libraries
220 * -L supports now relative directories
221 * Libltdl has a new license: LGPL with a special exception
222 * Libltdl can be used as stand-alone package
223 * dlopen support for BeOS
224 * Partial support for Motorola System V 4
225 * Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX
226 * Documentation updates
230 New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team:
231 * libtool will correctly link uninstalled libraries into programs
232 and prefer uninstalled libraries to installed ones
233 * Library paths that are in the system default run-time search path
234 are no longer hardcoded into executables.
235 * New fast installation mode, which links the final executable
236 in order to avoid relinking during installation.
237 Programs in the build-tree are relinked when executed.
238 * New AC_DISABLE_FAST_INSTALL macro to set the default for
239 the fast-install mode to disabled
240 * New -export-symbols-regex flag, to export symbols selectively by
242 * Support -R for specifying run-time path of programs and library dependencies
243 * New -avoid-version option to avoid versioning for libraries
244 * libtool module names no longer need to have a "lib" prefix
245 (requires automake 1.4).
246 * New -thread-safe flag, to build thread-safe libraries
247 * Major improvements in libltdl: API documentation, installable version,
248 support for module search paths, support for lt_dlopen(0),
249 can be embedded into packages as a tar file (libltdl.tar.gz),
250 dynamic buffer allocation and buffer overflow checks,
251 new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the
252 main program, dynamic memory allocation functions are user-defineable
253 * New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select
254 convenience and/or installable versions of libltdl.
255 * libltdl is now built and installed unless --disable-ltdl-install
256 * New "-dlopen self" flag for dlopening the executable itself
257 * New AC_LIBTOOL_DLOPEN macro to check for dlopen support,
258 required if you use -dlopen or -dlpreopen
259 * If libtool could not satisfy all dependencies of a module
260 it will only build a static version of it
261 * dld_preloaded_symbols was renamed to lt_preloaded_symbols
263 * Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP
264 BSD/OS 4.x and NetBSD
265 * In order for libtool to attempt to link a shared library (dll) on win32
266 platforms, you must pass the -no-undefined flag to libtool in link mode.
267 * The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least.
268 * Support for IRIX library versioning.
269 * New demos and tests
272 New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
273 * libtool will correctly link already-installed libraries into programs.
274 * New -module flag, to create loadable modules.
275 * New libltdl, a small library for portable dlopening of modules.
276 It is still undocumented, but you can already find some examples in:
277 * New mdemo directory, with tests of -module and dlopening examples.
278 Be aware that libltdl is only known to work on a few platforms such as
279 GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several
280 other platforms; please ignore these failures by now (or work to fix
282 * Inter-library dependencies patch finally integrated, but there's
283 still much porting to do. See PORTING for details (some plans for the
284 future in mail/deplibs in the CVS tree).
285 * New option -export-symbols to control symbol exporting when possible.
286 * Fixed -export-dynamic problem with C++ programs in egcs 1.1.
287 * New dlpreopen structure.
288 * libtool now supports `-c -o' and subdirectories in sources and
289 target object names even in platforms whose compilers do not support
290 this. In this case, file locking occurs to avoid problems with
292 * New `echo' variant that should fix most problems with long command
293 lines and broken printf programs.
294 * Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved
295 support for Microsoft Windows
297 * We now have anonymous CVS access to GNU libtool. CVSROOT is
298 :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password
299 is empty. The directory is libtool. Check our home-page at
300 http://www.gnu.org/software/libtool/libtool.html for details.
301 * Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
302 the maintenance of libtool.
303 * Arguments to ltconfig have been changed to allow creation of a
304 libtool C program, totally unusable as of this release.
306 New in 1.2b - 1998-07-01, Gordon Matzigkeit:
307 * Libtool needs a new maintainer, since Gordon Matzigkeit has quit.
308 If you think you can do the job, send mail to bug-libtool@gnu.org.
310 * Support for libtool convenience archives.
312 New in 1.2a - 1998-04-19, Gordon Matzigkeit:
314 * ltconfig accepts an `--output' option to specify the name of the
316 * New `--debug' flag to turn on shell script tracing for libtool,
317 libtoolize, and ltconfig.
318 * Added `libtool --config' to print out all configuration variables.
319 * Support for *-*-hpux11*.
321 New in 1.2 - 1998-03-20, Gordon Matzigkeit:
322 * Minor bug fixes to provide a stable public release.
323 * Libtool no longer cseses Solaris printf to barf due to silly
324 2110-byte static buffers.
326 New in 1.1 - 1998-03-08, Gordon Matzigkeit:
328 * http://www.profitpress.com/libtool/ is libtool's homepage.
329 * `AM_PROG_LIBTOOL' supports turning shared or static libraries off
330 with the `--enable-shared=PKGS' and `--enable-static=PKGS' configure
331 flags. See (libtool)AM_PROG_LIBTOOL.
332 * Use the `AM_DISABLE_SHARED' or `AM_DISABLE_STATIC' macros if you
333 wish to modify the default behaviour of `AM_PROG_LIBTOOL' for your
335 * New rules for `AM_PROG_LD' to use gcc's `-print-prog-name' flag in
336 order to find ld, if possible.
337 * Suppress duplicate compiler output during `compile' mode.
338 * Deleted `dlname' mode. Dlopen applications should only use the
339 runtime search method described in (libtool)Finding the dlname.
340 * Experimental support for dynamically loaded modules, even on
341 static-only platforms, via new `-dlopen' and `-dlpreopen' link
343 * `compile' mode honours the `-static' flag to prevent libtool
344 from building PIC objects.
345 * New `execute' mode to support debugging uninstalled libtool
346 libraries and executables.
347 * `-allow-undefined' is now the default. You can use `-no-undefined'
348 to declare that a shared library is completely self-contained.
349 * Inter-library dependencies are automatically handled when linking
350 against an uninstalled `.la' file.
351 * New `-all-static' flag to prevent any dynamic linking. The regular
352 `-static' flag now just prevents dynamic linking of libtool libraries.
353 * New `-release' flag to encode release numbers into libtool
354 libraries. This breaks binary compatibility, but is useful for
355 libraries whose interfaces change very frequently. See
357 * The `-rpath' flag can be used to hardcode absolute directories when
358 linking executables using libtool.
359 * New robust quoting code to handle any metacharacters passed in
360 arguments to libtool commands.
361 * Full support for broken collect2 on AIX 3. Shared libraries
362 can now be built with all working versions of GCC on AIX.
363 * Shell script speed optimizations for old and buggy /bin/sh systems,
364 such as HP-UX 9 and SunOS 4.1.4.
365 * Maybe use `_libs' as a temporary libtool directory instead of `.libs'
366 in order to cope with MS-DOS filenames.
367 * Portability fixes for Windows NT.
368 * Refuse to create libtool libraries that don't begin with `lib'.
369 This allows us to correctly handle OSes that don't have the `lib'
370 prefix by default, such as OS/2.
371 * Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*.
373 New in 1.0 - 1997-07-08, Gordon Matzigkeit:
375 * Better configuration test to find the system linker. The old test
376 was failing because people frequently install GNU ld, but don't
377 necessarily configure GCC to use it.
378 * Automake support for Libtool now uses the LTLIBRARIES primary. See
379 the Automake documentation for more information.
380 * Added new `--disable-static' flag to disable building static
381 libraries on platforms that have shared libs.
382 * New `-allow-undefined' link flag to build shared libs that contain
383 references to unresolved symbols.
384 * Removed all support for creating static-only libraries.
385 * Basic support for dynamically loaded modules: new `-export-dynamic'
386 linking flag and corresponding `dlname' mode.
387 * New `--features' flag to display configured libtool attributes.
388 * Added support for installing libtool objects, both in absolute and
389 relative directories.
390 * Support *-*-linux-gnu* as an alias for *-*-linux*.
391 * Support for *-*-openbsd* and *-*-freebsd3*.
393 New in 0.9 - 1997-02-03, Gordon Matzigkeit:
395 * The libtool demo now uses the libm cos(3) function, to demonstrate
396 inter-library dependencies.
397 * The PLATFORMS file has been moved to doc/platforms.texi.
399 New in 0.8 - 1997-01-26, Gordon Matzigkeit:
400 * Bug fixes, and more documentation.
401 * Basic support for other language compilers (C++, Fortran, and
402 preprocessed assembler).
403 * Libtool is now more persistent when linking with the `-static'
405 * New test for hardcoding system linkers, to verify that libtool
406 neither creates incorrect binaries, nor takes unnecessary
407 precautions while linking against uninstalled shared libraries.
408 * For clarity, the demo subdirectory no longer uses ansi2knr, and has
409 been rewritten to avoid ANSI-only constructs.
410 * Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*.
412 New in 0.7 - 1996-12-08, Gordon Matzigkeit:
413 * Total rewrite of libtool, along with a new model for library building.
414 * Completely rewritten documentation for the new paradigm.
415 * Sane handling of broken system linkers, such as the ones on AIX
417 * configure mode is now a separate program, `ltconfig'
418 * The libinfo helper script has been incorporated into the main
420 * Automatic mode guessing, based on the command line.
421 * Full support for Automake 1.2 (including ansi2knr features).
422 * Support to create reloadable objects using link mode.
423 * Support for new `-static' linking flag.
424 * Support for stripping libraries during installation.
425 * Library version information is now passed on the command line, not
426 through a version file.
428 Version 0.6 was never released.
431 * Disabled install-progs until next version, when it will be correctly
433 * Clearer library versioning documentation. See (libtool)Versioning.
434 * Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL
435 * Libtool now creates pseudo-objects named foo.lo and pseudo-archives named
436 libfoo.la instead of foo.o and libfoo.a. See the documentation.
437 * libtool compile doesn't interfere with user CFLAGS if they don't
438 conflict with the current objtype. From Karl Berry.
439 * Created new libinfo helper script.
440 * libversion.in files are obsolete -- libtool uses libinfo to read the
442 * Libtool is better at finding its config file and helper scripts.
443 * Support for *-*-gnu*
446 * Bug fixes and new regression tests
447 * On unsupported configurations, ``libtool configure'' demotes OBJTYPES to
448 `standard' instead of aborting
449 * Added new object type, `t', for tcov(1) support
450 * Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2*
453 * Bug fixes and new regression tests
454 * Added new uninstall-libs mode
455 * Added a host argument to configure mode
456 * Fixed debugging/hyper-optimizing flags conflict (from Karl Berry)
457 * Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper)
458 * Implementation of --enable-linktype, --enable-profile, --enable-shared,
459 --enable-static in gm_PROG_LIBTOOL macro
460 * New `libtoolize' program (modeled after GNU gettext's `gettextize') to help
461 conversion to libtool
462 * New ABOUT-LIBS document for inclusion with libtool-supported packages
465 * Support for *-*-linux
466 * Better checking for GNU ld
467 * Reimplemented the config file so that it corresponds more closely to the
468 variables listed in (libtool)Porting Libtool.
469 * Reimplemented the shared library version scheme. See (libtool)Versioning.
470 * Replaced `--config-file' and `--version-file' options with `--confdir'
471 * Added new install-libs and install-progs modes
474 * First release of libtool
475 * Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*