Fix Changelog
[libtool.git] / NEWS
blob8792f6360774931227b220f1b9b7139d87155577
1 NEWS - list of user-visible changes between releases of GNU Libtool
3 New in 2.1a: 2007-??-??; CVS version 2.1a, Libtool team:
5 * Regressions over 1.5.x that may be fixed later:
7   - On systems which need a library prefix like `lib', such as BeOS,
8     libltdl currently does not build.  The new structure of libltdl with
9     preopened modules exposes some long-lived bugs here.
11 * Important incompatible changes and obsoleted features:
13   - Removed deprecated APIs from libltdl: lt_dlcaller_register,
14     lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register,
15     lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror,
16     lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree.
17   - The Libtool and libltdl macros and the testsuite now assume a C89
18     environment, consequently do not test for headers such as string.h,
19     strings.h, memory.h any more.
20   - Fix regression in libltdl symbol exports on Cygwin. Side effect:
21     LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as
22     declspec(dllexport), bypassing auto-export logic on Cygwin.
23     This tracks existing behavior on MinGW.
24   - The libtool script has been optimized a bit for more modern shells.
25     This breaks use of the stdin file descriptor in libtool, and can
26     break if a different shell is used to execute the libtool script
27     than the one it was configured for.
28   - The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and
29     AC_DISABLE_STATIC have been un-deprecated after deprecation in 1.9b.
30   - Fixed a branch-1-5/HEAD regression to only link uninstalled libraries
31     statically with `-static'.  In order to compensate for this, there
32     is a new link flag `-static-libtool-libs' to provide the previous
33     `-static' semantics.
35 * New features:
37   - Fix installation of libltdl so that it does not need Autoconf and
38     Automake installed, in order to be usable in another package.  This
39     lifts the restrictions introduced in 1.9b.
40   - New LT_CONFIG_LTDL_DIR macro to specify a different directory name
41     for a convenience libltdl.
42   - libtoolize has been completely overhauled.
43   - `libtoolize --install' now also installs `install-sh'.
44   - New libtoolize options: --non-recursive, --recursive, --subproject.
45     These options control the way libltdl is installed into a package by
46     libtoolize.  The new recursive and non-recursive build modes for
47     libltdl don't require a subconfigure any more.
48     The Libtool package itself builds libltdl nonrecursively.
49   - New multi-module-loader safe libltdl handle iteration APIs:
50     lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map.
51   - New lt_dlinterface_register to maintain separation of concerns
52     between modules loaded by different libraries.
53   - New lt_dlopenadvise takes a new lt_dladvise type argument, which
54     lets the caller request local or global symbol visibility from the
55     module loader with lt_dladvise_local and lt_dladvise_global
56     respectively.  If neither is given, or if lt_dlopen (or lt_dlopenext)
57     are called, then the system default module symbol visibility is used.
58   - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow
59     caller requests for a filename extension search with lt_dladvise_ext,
60     and for marking a module unloadable with lt_dladvise_resident.
61   - Allow shell special characters like `$' in source file names, but
62     not in object names, to enhance GCJ support.
63   - An entire new Autotest-based testsuite in addition to the old one.
64     Both testsuites have been made more useful for testing
65     cross-compilers.  The new testsuite exposes many more issues, but
66     may also be a little rocky on exotic systems.
67   - In 1.9b, a new variable inherited_linker_flags has been added to the
68     libtool library files.  This variable takes flags that should be
69     used by dependent libraries and programs, but that do not fit into
70     `dependency_libs' for both clarity and backward-compatibility.
72 * Changes in supported systems or compilers:
74   - Detection of compiler wrappers distcc/ccache and $host_alias prefix.
75   - Basic support for PIE (position-independent executables).
76   - Support for DragonFly BSD, improved support for FreeBSD.
77   - Improved support for GNU/kFreeBSD and GNU/NetBSD.
78   - Support for Interix 3 (Windows SFU) and newer versions.
79   - Improved support for UnixWare.
80   - Initial support for RDOS.
81   - Initial Support for FC (modern Fortran).
82   - Support for Portland Group compiler and the Sun compiler suite on
83     GNU/Linux.
84   - Support for linux-dietlibc (`diet' as well as `diet-dyn', separately).
85   - Building libltdl with a C++ compiler has been undusted.
86   - On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer
87     rpath over absolute dependent library names.  This fixes DESTDIR
88     installs, among others, on the non-HP-UX/PA systems.
89   - Use of C++ templates together with shared libraries has been
90     improved on some systems and with some compilers, but is still
91     ongoing work.  Feedback is desirable here.
93 * Bug fixes:
95   - Fix libltdl on static platforms.
96   - Search paths with GCC on multilib systems like x86_64 have been fixed.
97   - Fixed a regression that prevented use of libltdl without autotools.
98   - Fix error with -version-info on systems with version_type=none, such
99     as BeOS.
100   - Fix symbol exporting for cases where command line length limits are
101     exceeded.
102   - Improve linking with C++ libraries on Solaris with Sun compiler.
103   - Fix installation of libraries that are required by installation
104     commands such as `ln' or `rm'.
105   - Loads of smaller bug fixes.
108 New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
109 * Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
110   backslash quoting tests were never run.
111 * Fix a regression in 1.9d, where progpath was used for --no-reexec before it
112   was set.
113 * Fix a regression in 1.9d, which required an installed automake to build the
114   bootstrapped tarball.
115 * Fix hanging bug on MinGW.
117 New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team:
118 * If non-pic objects were not compiled, and libtool is called in link mode,
119   libtool no longer silently creates an empty archive, but rather falls
120   back to pic objects.
121 * When compiling C glue code with $LTCC, libtool now saves the setting of
122   $compiler_flags from the C tag, and passes those flags to $LTCC.
123 * libtool no longer dies when concurrently creating directories with
124   `make -j' on multi-processor hosts.
125 * Return type, and name parameter of lt_dlloader_remove are no longer
126   `const'.
127 * Name parameter of lt_dlloader_find is no longer 'const'.
128 * The API for the slist ADT has been updated: slist_new has been replaced
129   by slist_box; slist_unbox and slist_sort are new; the footprint of
130   slist_remove and slist_fnid have changed; SListCallback and SListCompare
131   types have been exchanged.  See libltdl/slist.c for documentation.
132 * libltdl is C89 compatible again.  lt_dlsymbol type removed, and lt_dlsymlist
133   structure changed to avoid using C99 flexible arrays.
134 * Support self dlopening for executables on cygwin and mingw.
135 * Improved support for linux-gnu/ia64.
136 * Initial support for s390x-ibm-tpf.
137 * Fixed some memory leaks in libltdl.
138 * Improved support for OpenBSD (use rpath instead of hardcoding absolute
139   file names).
141 New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
142 * The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros.
143   If you have any shell variables in this namespace they will need to be
144   renamed.  If you have any macros in this namespace please rename them to
145   prevent any possible future clash with libtool supplied macros.
146 * New LT_PREREQ macro for specifying minimum libtool requirement.
147 * New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED,
148   AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC,
149   AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN,
150   AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE.  Use autoupdate to modernise
151   your configure.ac files after installing this release.
152 * New LT_LANG interface to enable libtool support for a specific language.
153 * Language support is now only included if your configure.ac enables it,
154   either through a call to AC_PROG_CXX etc. or LT_LANG.
155 * The libtool script will complain if it was built from mismatched ltmain.sh
156   and libtool m4 macro versions.
157 * Like automake, libtoolize no longer installs config.guess and config.sub by
158   default.  Use new --install option to get the old behaviour.
159 * libtoolize no longer supports the --ltdl-tar option.
160 * libtool script is now created by config.status.  Instead of interrogating
161   `./libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the
162   variable names directly.
163 * libltdl is no longer a self-contained package, and shares configury with
164   the top level directory now.
165 * Shared objects (.lo) are no longer created when `-static' is passed in
166   compile mode.
167 * New compile mode option `-shared' prevents creation of static objects (.o).
168 * New link mode option `-shared' creates only shared libraries at link time.
169 * If you configure libtool with --disable-shared (or if libtool does not
170   support shared libraries on your platform) trying to build a library using
171   `-shared' is a fatal error.
172 * New link mode option `-weak' tells libtool when not to propogate dependency
173   libraries from dlpreopened modules.
174 * libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting
175   m4 definitions to AC_CONFIG_MACRO_DIR.
176 * Mode inferrence removed, shorthand for choosing modes added.
177 * Specifying -allow-undefined is now an error.
178 * Speed up max_cmd_len check.
179 * libltdl can now preopen modules from within a library, and libtool will
180   accept -dlpreopen options when linking either a shared library or a
181   convenience library.
182 * New function in libltdl: lt_dlhandle_find provides access to module handles
183   by module name.
184 * New function in libltdl: lt_dlpreload_open opens all preloaded modules.
185 * libltdl no longer loads shared libraries with global symbol resolution,
186   this caused problems when the symbols were intended to be overriden further
187   up the stack; it is also not recommended practice.
188 * New function in libltdl: lt_dlhandle_first, primes handle iterations (using
189   lt_dlhandle_next) to filter by module interface.
190 * libltdl no longer tries to support multi-threaded programming with
191   lt_dlmutex_register(), which was unusable with POSIX threads anyway.
192   The symbols are deprecated but exported for backwards compatibility.
193 * libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree.  The symbols
194   are still exported for backwards compatibility.
195 * The lt_dlinfo struct has a new module field that can be used by dlloaders.
196 * libltdl no longer supports pre-c89 compilers.  Some of the pre89 portability
197   functions had compile time bugs in them anyway, so you guys can't have been
198   using it :-)
199 * make install now deletes preexisting $prefix/share/libtool before installing
200   latest files.
201 * Extracting symbols from an import library on cygwin and win32 now works.
202 * Initial support for amigaos-ppc.
203 * Improved support for OpenBSD.
204 * Support for Intel C++ version 8.0.
205 * New support for IBM's xlc and xlc++ on Mac OS X.
206 * Finished support for QNX RTOS.
207 * Bug fixes.
209 New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team:
210 * Support for Intel C++ version 8.0.
211 * Improved support for OpenBSD.
212 * Support for xlc on Mac OS X.
213 * Better support for zsh as /bin/sh.
214 * Much faster check for command line length on all BSD systems.
215 * Better Mac OS X/darwin support.
216 * Bug Fixes.
218 New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team:
219 * Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4
220   did not install them at all.
221 * libltdl correctly guesses the extension for loadable modules again.
223 New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team:
224 * Bug fixes.
226 New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team:
227 * lt_dlrealloc is an official part of the libltdl API.
228 * --tag, --silent and --debug options are preserved and reused when libtool
229   calls itself for relinking etc.
230 * `-pthread' and similar options are honoured when linking shared libraries.
231 * -no-suppress in compile mode shows compiler output for both PIC and non-PIC
232   object compilation.
233 * New link mode option `-precious-files-regex' to prevent accidental removal
234   of files you want to keep, such as test coverage data, from the temporary
235   output directory.
236 * Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux.
237 * Recognises the 'R' symbol type on Solaris so read-only symbols can be
238   exported.
239 * Bug fixes.
241 New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team:
242 * lt_dlrealloc is an official part of the libltdl API.
243 * Bug fixes.
245 New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team:
246 * First stable release of multi-language architecture.
247 * libtool and libltdl support for Mac OS/X.
248 * libltdl will now use cygwins dlopen API instead of always forcing
249   LoadLibrary.
250 * Support auto-import patch to binutils on cygwin for much improved dll
251   support.
252 * Bug fixes.
254 New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne:
255 * The libltdl subdirectory now bootstraps correctly with Automake 1.5.
256 * srcdir != builddir builds with Automake 1.5 work correctly.
257 * Support for mips-compaq-nonstopux.
258 * New command line argument, --preserve-dup-deps prevents removal of
259   duplicate dependent libraries.
261 New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team:
262 * Help strings display correctly again.
263 * Better error messages when library linking fails.
264 * Better error messages from libltdl when loading fails.
265 * Better search path management in libltdl with `lt_dlinsertsearchdir' call.
266 * Support /lib/w32api in recent cygwin releases.
267 * Support cross compilation to mingw.
268 * Support for .rc files (Windows resource compiler).
269 * Improved handling of mingw gcc.
270 * Improved handling of $PATH with entries containing spaces.
271 * Improved support for linking with gcc on aix4* and aix5*.
272 * Improved support for GCC 3.0.
273 * Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8.
274 * Bug fixes to the OpenBSD port.
275 * Bug fixes.
277 New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan:
278 * libltdl now builds on solaris again
279 * diagnose and warn about not-quite-working combinations of gcc and
280   ld on solaris.
281 * Improved OpenBSD support.
282 * Improved cygwin support.
283 * Bugfixes.
285 New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team:
286 * Better error messages from libltdl when loading fails.
287 * Don't leave here-doc files behind.
288 * Improved support for OpenBSD.
289 * Libtool will build with autoconf-2.50 and higher.
290 * Plug memory management bugs in libltdl.
291 * Prefer shl_load to dlopen for better operation on HP-UX.
293 New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team:
294 * Now bootstraps with autoconf-2.50 and automake-1.4-p4.
295 * Always try to build at least a static lib, even if both static and
296   shared libs were disabled.
297 * Full support for C++ compiler.
298 * Support for GNU gcj compiler.
299 * libltdl can now load all modules in a given path according to user
300   supplied criteria with `lt_dlforeachfile' call.
301 * Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*.
302 * Internal mutex handling no longer has namespace clashes on NCR MP-RAS.
303 * New pdemo and tagdemo tests.
304 * Bug fixes.
306 New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team:
307 * Support for aix5*.
308 * Bugfixes.
310 New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team:
311 * ltconfig is no more.  Generation of libtool happens directly from
312   the configure file.
313 * Multithread safe with lt_dlmutex_register callback registration.
314 * New -no-install flag to avoid the use of executable wrapper scripts.
315 * New --with-pic, -prefer-pic and -prefer-non-pic flags to control
316   the generation of PIC/non-PIC code.
317 * Support for hardcoding run-time paths (-R) into libraries.
318 * Support -dlopen and -dlpreopen for libraries.
319 * Libtool now allows you to link shared libraries against static code.
320 * New functions in libltdl:
321   lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module
322   specific data in handles.
323   lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide
324   management for user storage of per module data.
325   lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and
326   lt_dlloader_remove can be used for adding new types of module loaders.
327   lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror.
328 * "-Xcompiler" and "-Wc," does now work in compile mode, too.
329 * Support recent dlltool formats.
330 * Start of support code for cross-compiling to win32.
331 * libltdl can now be built as a dll with win32.
332 * m4 macros needed to configure libltdl split out into libltdl/ltdl.m4.
333 * New port to NEWS-OS Release 6.
334 * Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0
335   and Digital Unix V4.*.
336 * Initial support for ia64 linux.
337 * Initial support for a.out freebsd shared libs.
338 * Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer.
339 * Many bugfixes (especially in libltdl)
341 New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team:
342 * Complete inter-library dependencies support. It's now possible
343   to link libtool libraries against other libtool libraries.
344 * Libtool is able to find already-installed libtool libraries,
345   even if they were moved out of their installation directory.
346 * New "-Wc,flag" and "-Xcompiler flag" flags to pass flags
347   directly to the compiler
348 * New "-Wl,flag" and "-Xlinker flag" flags to pass flags
349   directly to the linker
350 * New "-no-fast-install" flag to selectively disable fast-install mode.
351 * Support for installing stripped libraries using GNU strip (install -s).
352   Automake >= 1.5 will install stripped libraries with "make install-strip".
353 * Allow linking shared libraries against static ones
354   on FreeBSD, GNU/Linux, GNU Hurd and Solaris
355 * Support for linking DLLs on Win32
356 * New `clean' mode to delete uninstalled files.
357 * New demos and tests
358 * Various bugfixes
360 New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team:
361 * Support for mac OS X (rhapsody).
362 * Support for *-sequent-sysv4.
363 * Support for Cygwin-1.1.0.
364 * Support recent dlltool formats.
365 * Bugfixes.
367 New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team:
368 * Support for Compaq Tru64 V5.0.
369 * Improved support for Digital Unix V4.*.
370 * Improved support for NetBSD, FreeBSD and Unixware.
371 * Many fine bugfixes.
373 New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team:
374 * New `-dlpreopen force' flag to ensure that
375   lt_preloaded_symbols is always defined.
376 * Work around self-dlclose bug in FreeBSD 3.1.
377 * Expand convenience libraries when creating reloadable objects.
378 * Do not forget to import -L flags of convenience libraries.
379 * Do not pass -whole-archive or equivalent to symbol extractor.
380 * Create directory to expand convenience libraries only when needed.
381 * Improved support for Cygwin, DJGPP and NetBSD
382 * Various bugfixes
384 New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team:
385 * Avoid circular links of objects and libraries.
386 * Look for dlerror when dlopen was found in -ldl (typo).
387 * Disable shared libraries with broken GNU ld on Solaris.
389 New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team:
390 * Documentation improvements; recommend automake users to insert libtool.m4
391   in acinclude.m4
392 * AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL.
393 * New port to NEC UX/4800.
394 * cygwin-b20.1 passes all tests.
395 * Slightly improved BeOS support.
396 * Many AIX 4.3.2 test failures have gone.
397 * Pass unknown -L arguments through to the linker (for -LANG:* support).
398 * Close a security hole with mode 777 directory during libltdl installation.
399 * Fixed the infamous ``ifelse'' bug in libtool.m4
401 New in 1.3: 1999-04-29, Libtool team:
402 * This is just a summary of the changes since 1.2.
403   See the news of intermediate alpha releases below for details.
404 * Support for convenience archives.
405 * New maintainers.  Anonymous CVS and home page at gnu.org.
406 * Portable dlopening interface with libltdl, new -module flag.
407 * Correctly link installed libtool libraries into programs and other
408   libtool libraries.  Linking of uninstalled libtool libraries into
409   libraries is under development for 1.4.
410 * Do not drop library dependencies on platforms that allow them.
411 * Linking with uninstalled libraries no longer picks installed ones by
412   mistake.
413 * Use libraries from the build tree when running uninstalled
414   executables (may require double linking).
415 * Allow developers to optimize for build-tree executions.
416 * Support -export-symbols-regex for controlled symbol exporting.
417 * Support -R to hardcode directories in library search paths.
418 * New ports, demos and tests.  Lots of improvements and bug fixes.
420 New in CVS version 1.2g, Libtool team:
421 * AM_PROG_LIBTOOL is smaller and faster
422 * AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to
423   attempt to build dlls on win32 hosts
424 * Shared libraries on AmigaOS up to version 4 are now disabled
425   since they don't meet libtool's requirements for shared libraries
426 * -L supports now relative directories
427 * Libltdl has a new license: LGPL with a special exception
428 * Libltdl can be used as stand-alone package
429 * dlopen support for BeOS
430 * Partial support for Motorola System V 4
431 * Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX
432 * Documentation updates
433 * New tests
434 * Bugfixes
436 New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team:
437 * libtool will correctly link uninstalled libraries into programs
438   and prefer uninstalled libraries to installed ones
439 * Library paths that are in the system default run-time search path
440   are no longer hardcoded into executables.
441 * New fast installation mode, which links the final executable
442   in order to avoid relinking during installation.
443   Programs in the build-tree are relinked when executed.
444 * New AC_DISABLE_FAST_INSTALL macro to set the default for
445   the fast-install mode to disabled
446 * New -export-symbols-regex flag, to export symbols selectively by
447   a regular expression
448 * Support -R for specifying run-time path of programs and library dependencies
449 * New -avoid-version option to avoid versioning for libraries
450 * libtool module names no longer need to have a "lib" prefix
451   (requires automake 1.4).
452 * New -thread-safe flag, to build thread-safe libraries
453 * Major improvements in libltdl: API documentation, installable version,
454   support for module search paths, support for lt_dlopen(0),
455   can be embedded into packages as a tar file (libltdl.tar.gz),
456   dynamic buffer allocation and buffer overflow checks,
457   new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the
458   main program, dynamic memory allocation functions are user-defineable
459 * New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select
460   convenience and/or installable versions of libltdl.
461 * libltdl is now built and installed unless --disable-ltdl-install
462 * New "-dlopen self" flag for dlopening the executable itself
463 * New AC_LIBTOOL_DLOPEN macro to check for dlopen support,
464   required if you use -dlopen or -dlpreopen
465 * If libtool could not satisfy all dependencies of a module
466   it will only build a static version of it
467 * dld_preloaded_symbols was renamed to lt_preloaded_symbols
468 * Support for BeOS
469 * Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP
470   BSD/OS 4.x and NetBSD
471 * In order for libtool to attempt to link a shared library (dll) on win32
472   platforms, you must pass the -no-undefined flag to libtool in link mode.
473 * The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least.
474 * Support for IRIX library versioning.
475 * New demos and tests
476 * Various bugfixes
478 New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
479 * libtool will correctly link already-installed libraries into programs.
480 * New -module flag, to create loadable modules.
481 * New libltdl, a small library for portable dlopening of modules.
482   It is still undocumented, but you can already find some examples in:
483 * New mdemo directory, with tests of -module and dlopening examples.
484   Be aware that libltdl is only known to work on a few platforms such as
485   GNU/Linux and Solaris2.  Some mdemo tests are known to FAIL on several
486   other platforms; please ignore these failures by now (or work to fix
487   them :-).
488 * Inter-library dependencies patch finally integrated, but there's
489   still much porting to do.  See PORTING for details (some plans for the
490   future in mail/deplibs in the CVS tree).
491 * New option -export-symbols to control symbol exporting when possible.
492 * Fixed -export-dynamic problem with C++ programs in egcs 1.1.
493 * New dlpreopen structure.
494 * libtool now supports `-c -o' and subdirectories in sources and
495   target object names even in platforms whose compilers do not support
496   this.  In this case, file locking occurs to avoid problems with
497   parallel builds.
498 * New `echo' variant that should fix most problems with long command
499   lines and broken printf programs.
500 * Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved
501   support for Microsoft Windows
502 * Various bugfixes
503 * We now have anonymous CVS access to GNU libtool.  CVSROOT is
504   :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot.  The password
505   is empty.  The directory is libtool.  Check our home-page at
506   http://www.gnu.org/software/libtool/libtool.html for details.
507 * Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
508   the maintenance of libtool.
509 * Arguments to ltconfig have been changed to allow creation of a
510   libtool C program, totally unusable as of this release.
512 New in 1.2b - 1998-07-01, Gordon Matzigkeit:
513 * Libtool needs a new maintainer, since Gordon Matzigkeit has quit.
514   If you think you can do the job, send mail to bug-libtool@gnu.org.
515 * Bug fixes.
516 * Support for libtool convenience archives.
518 New in 1.2a - 1998-04-19, Gordon Matzigkeit:
519 * Bug fixes.
520 * ltconfig accepts an `--output' option to specify the name of the
521   generated libtool.
522 * New `--debug' flag to turn on shell script tracing for libtool,
523   libtoolize, and ltconfig.
524 * Added `libtool --config' to print out all configuration variables.
525 * Support for *-*-hpux11*.
527 New in 1.2 - 1998-03-20, Gordon Matzigkeit:
528 * Minor bug fixes to provide a stable public release.
529 * Libtool no longer cseses Solaris printf to barf due to silly
530   2110-byte static buffers.
532 New in 1.1 - 1998-03-08, Gordon Matzigkeit:
533 * Bug fixes.
534 * http://www.profitpress.com/libtool/ is libtool's homepage.
535 * `AM_PROG_LIBTOOL' supports turning shared or static libraries off
536   with the `--enable-shared=PKGS' and `--enable-static=PKGS' configure
537   flags.  See (libtool)AM_PROG_LIBTOOL.
538 * Use the `AM_DISABLE_SHARED' or `AM_DISABLE_STATIC' macros if you
539   wish to modify the default behaviour of `AM_PROG_LIBTOOL' for your
540   package.
541 * New rules for `AM_PROG_LD' to use gcc's `-print-prog-name' flag in
542   order to find ld, if possible.
543 * Suppress duplicate compiler output during `compile' mode.
544 * Deleted `dlname' mode.  Dlopen applications should only use the
545   runtime search method described in (libtool)Finding the dlname.
546 * Experimental support for dynamically loaded modules, even on
547   static-only platforms, via new `-dlopen' and `-dlpreopen' link
548   flags.
549 * `compile' mode honours the `-static' flag to prevent libtool
550   from building PIC objects.
551 * New `execute' mode to support debugging uninstalled libtool
552   libraries and executables.
553 * `-allow-undefined' is now the default.  You can use `-no-undefined'
554   to declare that a shared library is completely self-contained.
555 * Inter-library dependencies are automatically handled when linking
556   against an uninstalled `.la' file.
557 * New `-all-static' flag to prevent any dynamic linking.  The regular
558   `-static' flag now just prevents dynamic linking of libtool libraries.
559 * New `-release' flag to encode release numbers into libtool
560   libraries.  This breaks binary compatibility, but is useful for
561   libraries whose interfaces change very frequently.  See
562   (libtool)Versioning.
563 * The `-rpath' flag can be used to hardcode absolute directories when
564   linking executables using libtool.
565 * New robust quoting code to handle any metacharacters passed in
566   arguments to libtool commands.
567 * Full support for broken collect2 on AIX 3.  Shared libraries
568   can now be built with all working versions of GCC on AIX.
569 * Shell script speed optimizations for old and buggy /bin/sh systems,
570   such as HP-UX 9 and SunOS 4.1.4.
571 * Maybe use `_libs' as a temporary libtool directory instead of `.libs'
572   in order to cope with MS-DOS filenames.
573 * Portability fixes for Windows NT.
574 * Refuse to create libtool libraries that don't begin with `lib'.
575   This allows us to correctly handle OSes that don't have the `lib'
576   prefix by default, such as OS/2.
577 * Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*.
579 New in 1.0 - 1997-07-08, Gordon Matzigkeit:
580 * Bug fixes.
581 * Better configuration test to find the system linker.  The old test
582   was failing because people frequently install GNU ld, but don't
583   necessarily configure GCC to use it.
584 * Automake support for Libtool now uses the LTLIBRARIES primary.  See
585   the Automake documentation for more information.
586 * Added new `--disable-static' flag to disable building static
587   libraries on platforms that have shared libs.
588 * New `-allow-undefined' link flag to build shared libs that contain
589   references to unresolved symbols.
590 * Removed all support for creating static-only libraries.
591 * Basic support for dynamically loaded modules: new `-export-dynamic'
592   linking flag and corresponding `dlname' mode.
593 * New `--features' flag to display configured libtool attributes.
594 * Added support for installing libtool objects, both in absolute and
595   relative directories.
596 * Support *-*-linux-gnu* as an alias for *-*-linux*.
597 * Support for *-*-openbsd* and *-*-freebsd3*.
599 New in 0.9 - 1997-02-03, Gordon Matzigkeit:
600 * Bug fixes.
601 * The libtool demo now uses the libm cos(3) function, to demonstrate
602   inter-library dependencies.
603 * The PLATFORMS file has been moved to doc/platforms.texi.
605 New in 0.8 - 1997-01-26, Gordon Matzigkeit:
606 * Bug fixes, and more documentation.
607 * Basic support for other language compilers (C++, Fortran, and
608   preprocessed assembler).
609 * Libtool is now more persistent when linking with the `-static'
610   flag fails.
611 * New test for hardcoding system linkers, to verify that libtool
612   neither creates incorrect binaries, nor takes unnecessary
613   precautions while linking against uninstalled shared libraries.
614 * For clarity, the demo subdirectory no longer uses ansi2knr, and has
615   been rewritten to avoid ANSI-only constructs.
616 * Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*.
618 New in 0.7 - 1996-12-08, Gordon Matzigkeit:
619 * Total rewrite of libtool, along with a new model for library building.
620 * Completely rewritten documentation for the new paradigm.
621 * Sane handling of broken system linkers, such as the ones on AIX
622   and HP-UX.
623 * configure mode is now a separate program, `ltconfig'
624 * The libinfo helper script has been incorporated into the main
625   libtool program.
626 * Automatic mode guessing, based on the command line.
627 * Full support for Automake 1.2 (including ansi2knr features).
628 * Support to create reloadable objects using link mode.
629 * Support for new `-static' linking flag.
630 * Support for stripping libraries during installation.
631 * Library version information is now passed on the command line, not
632   through a version file.
634 Version 0.6 was never released.
636 New in 0.5:
637 * Disabled install-progs until next version, when it will be correctly
638   implemented.
639 * Clearer library versioning documentation.  See (libtool)Versioning.
640 * Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL
641 * Libtool now creates pseudo-objects named foo.lo and pseudo-archives named
642   libfoo.la instead of foo.o and libfoo.a.  See the documentation.
643 * libtool compile doesn't interfere with user CFLAGS if they don't
644   conflict with the current objtype.  From Karl Berry.
645 * Created new libinfo helper script.
646 * libversion.in files are obsolete -- libtool uses libinfo to read the
647   new LIBINFO files.
648 * Libtool is better at finding its config file and helper scripts.
649 * Support for *-*-gnu*
651 New in 0.4:
652 * Bug fixes and new regression tests
653 * On unsupported configurations, ``libtool configure'' demotes OBJTYPES to
654   `standard' instead of aborting
655 * Added new object type, `t', for tcov(1) support
656 * Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2*
658 New in 0.3:
659 * Bug fixes and new regression tests
660 * Added new uninstall-libs mode
661 * Added a host argument to configure mode
662 * Fixed debugging/hyper-optimizing flags conflict (from Karl Berry)
663 * Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper)
664 * Implementation of --enable-linktype, --enable-profile, --enable-shared,
665   --enable-static in gm_PROG_LIBTOOL macro
666 * New `libtoolize' program (modeled after GNU gettext's `gettextize') to help
667   conversion to libtool
668 * New ABOUT-LIBS document for inclusion with libtool-supported packages
670 New in 0.2:
671 * Support for *-*-linux
672 * Better checking for GNU ld
673 * Reimplemented the config file so that it corresponds more closely to the
674   variables listed in (libtool)Porting Libtool.
675 * Reimplemented the shared library version scheme.  See (libtool)Versioning.
676 * Replaced `--config-file' and `--version-file' options with `--confdir'
677 * Added new install-libs and install-progs modes
679 New in 0.1:
680 * First release of libtool
681 * Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*