* tests/demo-hardcode.test: Call ./libtool not libtool.
[libtool.git] / NEWS
blob67dc329ecd1a5a7536963874125f00d30f376b1f
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
10   object compilation.
11 * `-pthread' and similar options are honoured when linking shared libraries.
12 * Shared objects (.lo) are no longer created when `-static' is passed in
13   compile mode.
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
26   by module name.
27 * make install now deletes preexisting $prefix/share/libtool before installing
28   latest files.
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
31   exported.
32 * Initial support for amigaos-ppc.
33 * Bug fixes.
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.
37 * Bug fixes.
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
43   LoadLibrary.
44 * Support auto-import patch to binutils on cygwin for much improved dll
45   support.
46 * Bug fixes.
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.
69 * Bug fixes.
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
74   ld on solaris.
75 * Improved OpenBSD support.
76 * Improved cygwin support.
77 * Bugfixes.
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.
98 * Bug fixes.
100 New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team:
101 * Support for aix5*.
102 * Bugfixes.
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
106   the configure file.
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
152 * Various bugfixes
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.
159 * Bugfixes.
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
176 * Various bugfixes
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
185   in acinclude.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
206   mistake.
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
227 * New tests
228 * Bugfixes
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
241   a regular expression
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
262 * Support for BeOS
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
270 * Various bugfixes
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
281   them :-).
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
291   parallel builds.
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
296 * Various bugfixes
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.
309 * Bug fixes.
310 * Support for libtool convenience archives.
312 New in 1.2a - 1998-04-19, Gordon Matzigkeit:
313 * Bug fixes.
314 * ltconfig accepts an `--output' option to specify the name of the
315   generated libtool.
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:
327 * Bug fixes.
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
334   package.
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
342   flags.
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
356   (libtool)Versioning.
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:
374 * Bug fixes.
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:
394 * Bug fixes.
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'
404   flag fails.
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
416   and HP-UX.
417 * configure mode is now a separate program, `ltconfig'
418 * The libinfo helper script has been incorporated into the main
419   libtool program.
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.
430 New in 0.5:
431 * Disabled install-progs until next version, when it will be correctly
432   implemented.
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
441   new LIBINFO files.
442 * Libtool is better at finding its config file and helper scripts.
443 * Support for *-*-gnu*
445 New in 0.4:
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*
452 New in 0.3:
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
464 New in 0.2:
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
473 New in 0.1:
474 * First release of libtool
475 * Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*