1 NEWS - list of user-visible changes between releases of GNU Libtool
3 * Noteworthy changes in release ?.? (????-??-??) [?]
7 - Support C++17 compilers in the C++ tests.
9 - Add sysroot to library path for cross builds.
13 - Fix for uninitialized variable in libtoolize.
15 - Skip Fortran/C demo tests when using Clang with fsanitize to
16 avoid an incompatible ASan runtime.
18 - Updated documentation for testing.
20 - Fix failing test to account for program-prefix usage.
22 - Replaced a deprecated macro to remove warning messages in the
25 - Fix number of arguments for AC_CHECK_PROG call.
27 - Fix test failures with no-canonical-prefixes flag by checking
28 if the flag is supported first.
30 - Fix test failures with no-undefined flag by checking host OS
31 before appending the flag.
33 - Skip test when passing CXX flags through libtool to avoid test
36 - Remove texinfo warning for period in node name of pxref.
38 - Alter syntax in sed command to fix numerous test failures
39 on 64-bit windows/cygwin/mingw.
42 * Noteworthy changes in release 2.5.0 (2024-05-13) [alpha]
46 - Pass '-fdiagnostics-color', '-frecord-gcc-switches',
47 '-fno-sanitize*', '-Werror', and 'prefix-map' flags.
49 - Pass the '-no-canonical-prefixes' linker flag.
51 - Pass '-fopenmp=*' for Clang to allow choosing between libgomp and
54 - Pass '-shared-libsan', '-static-libsan', 'rtlib=*', and
55 'unwindlib=*' for Clang.
57 - Expanded process.h inclusion on Windows for more than the
58 proprietary MSVC compiler. Other alternative Windows compilers
59 also require process.h.
61 - Pass 'elf32_x86_64' and 'elf64_x86_64' to the linker on hurd-amd64.
63 - Recognize *-*-windows* config triplets.
65 ** Important incompatible changes:
67 - Removed test_compile from command line options.
69 - By default executables are created with the RUNPATH property for
70 the Android linker. RUNPATH works for libraries which are not
71 installed in system locations.
73 - Removed AC_PROG_SED fallback, as the macro has been supported
74 in Autoconf since the 90's.
78 - Check for space after -l, -L, and -R linker flags.
80 - Updated documentation for tests, the demo directory, and
83 - Fixed Solaris 11 builds.
85 - Clean trailing "/" from sysroot path.
87 - Fixed shared library builds for System V.
89 - Added mingw to the list of systems not requiring libm.
91 - Fixed support for nios2 systems.
93 - Fixed linker check for '--whole-archive' support for linkers other
96 - Use -Fe instead of -o with MSVC to avoid deprecation warnings.
98 - Improved reproducibility of libtool scripts.
100 - Avoided MinGW warning by adding CRTIMP.
102 - Improved grep portability.
104 - Fixed cross-building warnings when checking for file.
106 ** Changes in supported systems or compilers:
108 - Removed support for bitrig (*-*-bitrig*).
110 - Added support for flang (Fortran LLVM-based) compilers.
113 * Noteworthy changes in release 2.4.7 (2022-03-16) [stable]
117 - Libtool script now supports (configure-time and runtime) ARFLAGS
118 variable, which obsoletes AR_FLAGS. This is due to naming conventions
119 among other *FLAGS and to be consistent with Automake's ARFLAGS.
121 - Gnulib testsuite is enabled and run during 'make check'.
123 - Support the Windows version of the Intel C Compiler (icl) in
126 - Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
129 - Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.
131 - The variable 'FILECMD' with default value of '/usr/bin/file' was used to
132 replace existing hard coded references to '/usr/bin/file'.
134 - Add MidnightBSD support.
136 ** Important incompatible changes:
138 - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
140 - Do not pass '-pthread' to Solaris linker.
142 - 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
143 Previously '#! /bin/sh' was used, which presents challenges for
144 containerized environments.
148 - Fix significant slowdown of libtoolize for certain projects (regression
149 introduced in 2.4.3 release) caused by infinite m4 macro recursion.
151 - Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
152 increased number of calls to '$SED $sed_quote_subst' (bug#20006).
154 - Properly parse and export TLS symbols on AIX.
156 - Various bug fixes surrounding use of 'sed'.
158 - Darwin systems set proper "allow undefined" flag on OSX 11, and
161 - Removed some deprecated tests related to 'Makefile.inc' files.
163 * Noteworthy changes in release 2.4.6 (2015-02-15) [stable]
167 - LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time
168 and persists correctly in the generated libtool script.
172 - Fix a race condition in ltdl dryrun test that would cause spurious
173 random failures of that test.
175 - LT_SYS_DLSEARCH_PATH is munged correctly.
178 * Noteworthy changes in release 2.4.5 (2015-01-19) [stable]
182 - Libtoolize searches for the best available M4 on the user PATH at
183 runtime, rather than settling for the first one found.
185 - Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH
186 environment variable.
190 - Bail out at configure time if the installed M4 is not sufficient
191 for the purposes of libtoolize.
193 - freebsd-elf library versioning was upgraded incorrectly in 2.4.4,
194 but now works properly again.
196 - Fix a 2.4.4 regression so that libltdl subprojects do not warn
197 about missing libltdl/libltdl directory as in prior releases.
199 - When using Sun C++ on Solaris or GNU/Linux we used to set libtool's
200 postdeps permanently, based on the contents of $CXX and $CXXFLAGS at
201 configure time, which was brittle and error-prone. Now, we no
202 longer check for a SunCC ABI at configure time, but augment the
203 postdeps at libtool time based on the current invocation flags on
206 ** Changes in supported systems or compilers:
208 - /usr/local prefixed rpaths are now added to the link-line on
209 ia64-hp-hpux*, because the default system runtime loader path does
212 - Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun`
213 flags were added to $postdeps unless CXX or CXXFLAGS contained
214 `-library=stlport4`. Newer releases have added other compiler flags
215 that are also incompatible with `-Cstd -Crun`, so now we don't add
216 them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or
217 `-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler
221 * Noteworthy changes in release 2.4.4 (2014-11-29) [stable]
225 - Libltdl maintains its own fork of argz, with macros and files in
226 the LT_ and lt__ namespaces (resp.) where they cannot clash with
227 client projects' use of gnulib argz.
231 - Installation of 'libtoolize' once again obeys '--program-prefix',
232 '--program-suffix' and '--program-transform-name' configure options.
234 - `libtoolize` doesn't remove any files that it can't reinstall,
235 including old versions of the snippet directory, and gnulib's
236 version of the argz module and supporting files.
238 - LT_FUNC_DLYSM_USCORE now works correctly on systems that don't
239 support self dlopen()ing.
241 ** Important incompatible changes:
243 - LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing
244 duplicate occurrences in libltdl link lines. If you need to
245 add a library for dlopen() or shl_load() in your Makefile, then
246 use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively. If you
247 are using libltdl, this all happens automatically, and the only
248 difference you'll see is no more duplicated library names in the
251 ** Changes in supported systems or compilers:
253 - Preliminary support for tcc on linux*. Although it already worked
254 sometimes in previous releases, making sure to set LD correctly now
255 avoids mis-matching GNU ld with tcc:
257 ./configure CC=tcc LD=tcc
259 - Added -os2dllname option to work around 8 character base name
260 limit on OS/2. The option has no effect on other systems.
262 - Support for DLL versioning, -export-symbols and -export-symbols-regex
265 - Support filename-based shared library versioning on AIX. See manual
269 * Noteworthy changes in release 2.4.3 (2014-10-27) [stable]
273 - Moved to gnulib release infrastructure.
275 - M4 is now used for scanning the M4 macros in your configure.ac that
276 'libtoolize' looks at to determine what files you want, and where you
277 would like them installed. This means that you can compose your
278 version number or any other argument that Libtoolize needs to know at
279 M4 time using git-version-gen from gnulib, for example.
281 - Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf
282 macro directory in the libltdl tree, but automatically adjusts the
283 installed libltdl configuration files to share whatever macro
284 directory is declared by the parent project. (Note: if you were
285 already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4)
286 or similar, that still works as does any other directory choice).
288 - Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary
289 scripts directory in the libltdl tree, but automatically adjusts the
290 installed libltdl configuration files to share whatever auxiliary
291 scripts directory is declared by the parent project. (Note: if you
292 were already sharing an auxiliary directory with subproject libltdl
293 using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as
294 does any other directory choice).
296 - The legacy tests have all been migrated to the Autotest harness.
298 - The Autotest testsuite can be run without the especially time consuming
301 make check-local TESTSUITEFLAGS='-k "!expensive"'
305 - Fix a long-standing latent bug in autom4te include path for autotests
307 - Fix a long-standing latent bug in libtoolize that could delete lines
308 from libltdl/Makefile.am in recursive mode due to underquoting in a
310 - Fix a long-standing bug in libtoolize, by outputting the 'putting
311 auxiliary files in' header with 'libtoolize --ltdl --subproject'.
312 - Fix a long-standing bug in libtoolize subproject installation, by not
313 installing a set of autoconf macro files into the parent project if
314 there is no configure.ac present to use them.
315 - The libtoolize subproject mode selector is now named '--subproject'
316 and is equivalent to the implied '--subproject' mode when no other
317 mode is selected; '--standalone' never worked, and is no longer
319 - Libtool and libtoolize no longer choke on paths with a comma in them.
320 - In the case where $SHELL does not have the same enhanced features
321 (e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool
322 will now correctly fallback to using only vanilla shell features
323 instead of failing with a parse at startup.
324 - Correctly recognize import libraries when Microsoft dumpbin is used
325 as the name lister and extend the dumpbin wrapper to find symbols
326 in import libraries using the -headers option of dumpbin. Also fix a
327 bug in the dumpbin wrapper that could lead to broken symbol listings
328 in some corner cases.
329 - Use the improved Microsoft dumpbin support to mend preloading of
330 import libraries for Microsoft Visual C/C++.
331 - No longer mangle module-definition (.def) files when feeding them to
332 the Microsoft Visual C/C++ linker via the -export-symbols argument to
333 the libtool script, thus matching how .def files are handled when
335 - Recognize more variants (e.g. those starting with a LIBRARY statement)
336 of module-definitions (.def) files when using them instead of a raw
337 list of symbols to export.
338 - Fix a long-standing bug when using libtoolize without automake; we
339 no longer remove install-sh with --force, since it's not a file
340 libtoolize will reinstall without --install..
342 ** Important incompatible changes:
344 - GNU M4 is required to run libtoolize in a directory with a
345 'configure.ac' (or 'configure.in') that needs tracing to determine
346 what modes and directories have been specified.
348 - The use of the idiosyncratically named 'Makefile.inc' in nonrecursive
349 libltdl builds is deprecated, although it will be supported for one
350 more year or until the next release, whichever takes longer. Please
351 upgrade to the more standard naming of 'ltdl.mk' in keeping with other
354 - libtoolize now behaves consistenty in respect of multiple directory
355 arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG-
356 _MACRO_DIRS, where the first directory is always selected. Previous
357 releases took the first ACLOCAL_AMFLAGS argument, but the last
358 invocation of AC_CONFIG_MACRO_DIRS.
360 - The libtoolize program now advises use of the new Autoconf
361 AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all
362 your developers will need at least autoconf-2.70 and automake-1.13
363 to rebootstrap your probject. If you still need to support
364 bootstrap with older Autotools, then you should add the following
365 to your configure.ac file:
367 m4_ifndef([AC_CONFIG_MACRO_DIRS],
368 [m4_define([AC_CONFIG_MACRO_DIRS],
369 m4_defn([AC_CONFIG_MACRO_DIR]))])
371 - Overhead of probing for a non-backslash crippled echo equivalent
372 during initialization of every script has been removed in favor of
373 trusting that "printf %s\n" works out of the box on all non-museum
374 host architectures. Manually setting ECHO appropriately in the
375 build environment will be necessary on some ancient architectures.
377 ** Changes in supported systems or compilers:
379 - Support for bitrig (*-*-bitrig*).
381 - Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build
382 environment, to build and use libtool.
384 New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team:
388 - The --with-pic configure option now supports a list of comma-separated
389 package names. This can be used to build some static libraries with PIC
390 objects while building others with non-PIC objects.
392 - Initial support for Go, using the gccgo compiler.
394 - On Mac OS X .dylib is now tried as well as .so with
399 - The generic approximation of the command line length limit (when getconf is
400 not available) works again. Regression introduced in v2.2.6-39-g9c3d4d8.
401 - The bug that leaked developer tool paths into the release tarballs
402 from ./bootstrap is fixed.
403 - Improved support for the Cuda Compiler Driver (nvcc) on Darwin.
404 - For GCC LTO support, the -fuse-linker-plugin switch is now also removed
405 when computing compiler postdeps.
407 * Important incompatible changes:
409 - The undocumented hardcode_libdir_flag_spec_ld tag variable has been
410 removed in favor of using hardcode_libdir_flag_spec with $wl set to empty.
412 * Changes in supported systems or compilers:
414 - Fixes for gfortran on Darwin, XL Fortran on GNU/Linux.
415 - Support for FreeBSD 1.x (outdated since 1994) has been removed.
417 New in 2.4 2010-09-22: git version 2.2.11a, Libtool team:
421 - Sysroot support. This allows you to build cross-compiled packages
422 with the same prefix that will be used on the destination machine,
423 and still find dependent libraries under the compiler's "sysroot".
424 Without sysroot support, paths internal to the build system may leak
425 into the product of the build.
427 Sysroot support is disabled unless the --with-sysroot configure
428 option is passed to configure, because .la files generated with
429 sysroot support will _not_ be usable in general with older Libtools.
431 - On non-cygwin Windows systems, we now lookup potential library
432 file names without regard to file name case.
433 - The old testsuite now uses the 'parallel-tests' Automake test driver
434 now for more concurrency and better test logging. For this, tests are
435 run in verbose mode by default now.
437 * Important incompatible changes:
439 - Autoconf 2.62 and Automake 1.11.1 or newer are now required for
440 bootstrapping Libtool. For using Libtool in your own projects,
441 Autoconf 2.59 and Automake 1.9.6 should still work.
442 - The fix_srcfile_path variable has been replaced by a more thorough
443 mechanism triggered by the to_tool_file_cmd variable.
445 * Changes in supported systems or compilers:
447 - Initial support for the Microsoft C/C++ Compiler, with help from
448 the compile script in unreleased Automake 1.12. Override the manifest
449 tool used to embed the manifest resource through the environment
450 variable MANIFEST_TOOL. Please note that the import library naming
451 has changed (from foo-2.lib to foo.dll.lib) from when the code lived
452 in its own git branch.
453 - Initial support for the NAG Fortran compiler on GNU/Linux.
457 - The 'check-interactive' and 'check-noninteractive' convenience make
458 targets now also work for the old testsuite.
459 - Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs
460 passed to AC_*_IFELSE tests have been fixed.
461 - On IRIX, the test for -Wl,-exported_symbol now also works with gfortran.
463 New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team:
467 - On non-cygwin Windows systems, we no longer try to lookup the POSIX
468 format path recorded in $libdir of a pseudo-library when looking up
469 the location of the library with the native tools.
471 New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team:
475 - Bumped version number and promoted 2.2.7b release candidate to a full
478 New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team:
482 - Libtool ships and installs man pages for libtool and libtoolize now.
483 - New libtool command line flag --help-all.
484 - New libtool command line flag --no-silent (with alternate spelling
485 --no-quiet). This flag (re)enables the default informational messages,
486 but has no effect on so-called "verbose" output messages.
487 - New libtool command line flag --no-verbose, which disables only
488 the extra "verbose" output messages and has no effect on the
489 default informational messages.
490 - New convenience make targets 'check-noninteractive' to avoid long testsuite
491 runs on Windows with popup windows in the middle, and 'check-interactive'
492 for the complement set of tests.
493 - New link mode flag -bindir to specify the location for installed PE DLLs.
494 - Wrapper scripts and wrapper executables for programs linked against
495 uninstalled shared libraries now support command-line options --lt-debug
496 and --lt-dump-script.
498 * Important incompatible changes:
500 - The wrapper command line option support described above introduces the
501 following incompatibility: the wrapper will remove any command line
502 options that begin with '--lt-*' from the argument list before launching
503 (uninstalled) programs. Any '--lt-*' option on the command line not
504 recognized by the wrapper will result in an error.
505 - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has
506 been fixed in the manual and in a couple of tests to match the actual
509 * Changes in supported systems or compilers:
511 - Improved support for 64bit Windows (mingw64).
512 - Improved support for cegcc (Windows CE/PocketPC).
513 - Support for GNU/kOpenSolaris (kopensolaris*-gnu).
514 - Initial support for compilers on BlueGene BG/P.
515 - Improved support for Atari FreeMiNT.
516 - With binutils 2.19.50+, shared libraries can be built on AIX.
517 - Initial support for the Cuda Compiler Driver on GNU/Linux.
518 - Support for Haiku (i586-pc-haiku).
519 - Initial support for GCC link-time optimization (LTO) flags.
523 - Fix 2.2.6 regression that prevented using the libltdl macros together
524 with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT').
525 - Fix 2.2.4 regression that caused arguments with special characters
526 to be mangled by the compile wrapper for uninstalled programs on MinGW.
527 - libtool command line flag --verbose now also enables explicit
528 verbose output, in addition to its previous behavior of (re)enabling
529 only the default informational output. See New Features, --no-silent.
530 - Link tests are guarded by cache variables so they can be avoided for
531 bootstrapping purposes (e.g., when link tests are not possible).
532 - Argument mangling of execute mode has been improved (i.e., lessened).
533 - Fix 2.1b regression that caused nm to not be the default name lister.
534 The regression affected mainly (arguably broken) cross compiles.
535 - Fix long standing bug that caused compiler checks for Fortran and
536 C++ compilers to run twice.
537 - Link mode works around a parallel build failure on Darwin 9.6.0 due
538 to the 'ar' 'flock'ing an archive upon extraction, by protecting the
539 extraction of convenience archives with a lock.
540 - The Libtool macro files do not contain instances of __oline__ any more,
541 easing merges for configure scripts that are added to version control.
542 - Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,")
543 when using the compiler driver to link programs. Now "-Wc," is stripped
544 just as it is when linking libraries through the compiler driver.
545 - Symbol versioning works with the GNU gold linker now.
546 - Fixes for detection of shared library dependencies on MinGW systems.
547 - Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names.
549 * Miscellaneous changes:
551 - The manual is distributed under the terms of the GNU FDL 1.3 now.
553 New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team:
557 - New lt_dloadvise_preload() call to set a hint that only preloadeded
558 modules can be opened.
559 - libtoolize no longer removes config.guess and config.sub, even when
562 * Changes in supported systems or compilers:
564 - Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9)
566 - Fixes for cwrapper (cygwin/mingw) under -stdc=c99.
567 - Support cross compile of MinGW with Wine.
568 - Initial support for cegcc (Windows CE/PocketPC) cross compilation.
569 - Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux.
573 - Several testsuite issues have been fixed, thanks to user feedback.
575 - Fix 2.2 regression that caused argz symbols to be exported from
576 libltdl unrenamed on systems that do not have working argz.
578 - Revert "lt_dlopen(NULL) works on AIX again.". It was not the
581 - Diagnose '-L' arguments correctly.
583 - Libtool no longer tries to open devices as files in execute mode.
585 - Libtool no longer removes *.gcno profile information from GCC.
587 New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team:
591 - New libtoolize option --no-warn, for users that want to continue to
592 use old libtool style without being nagged.
593 - Options --debug, --no-warn, --quiet and --verbose can be passed to
594 libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for
595 cleaner interaction between the user and libtoolize when called by
600 - The documentation for lt_dlopenadvise showed the wrong type for
601 the lt_dladvise parameter.
602 - The public declarations for lt_dlhandle and lt_dladvise are now
603 incomplete struct types rather than void*, which means that nearly
604 all casting is eliminated allowing the compiler to provide more
606 - libtoolize no longer reports up-to-date files that it would have
607 copied, unless --force is passed.
608 - No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4
609 when it is already there.
610 - When 'aclocal' copied the libtool macros directly into 'aclocal.m4'
611 (i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer
612 reports that all macros need to be added to 'aclocal.m4', and
613 diagnoses only the macro files that are missing or not up-to-date.
614 - libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching
615 libtool macros in-tree where appropriate.
616 - libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or
617 equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS
618 names a different directory to AC_CONFIG_MACRO_DIR.
620 New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team:
624 - In compile mode, compiler output occurs in the user locale. This
625 feature has been present in 1.5.26 but not in 2.2.
627 * Changes in supported systems or compilers:
629 - Initial shared library support for AmigaOS4 on powerpc.
633 - Fix 2.2 regression in libltdl that causes memory corruption upon
634 repeated 'lt_dlinit(); lt_dlexit()'.
635 - Fix 2.2 regression in libltdl that skipped the dlopen loader if
636 the system also supports other loaders (e.g., Cygwin, HP-UX).
637 - Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not
638 transform ARGS that do not look like shell or C wrappers of libtool
640 - Fix 2.2 regression that kept cross-compiling to w32 from working.
641 - Several testsuite issues have been fixed, thanks to user feedback.
643 New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team:
647 - argz.c, lt__dirent.c and lt__strl.c are correctly distributed with
648 parent projects using nonrecursive libltdl.
649 - libtoolize no longer tries to install libtool files when libltdl is
650 used in a non-autoconf parent package.
651 - Don't add the CXX tag to libtool when there is no C++ compiler, even
652 if AC_PROG_CXX sets a default g++ compiler where no such compiler
654 - make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install
657 New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team:
659 * Important incompatible changes and obsoleted features:
661 - Removed deprecated APIs from libltdl: lt_dlcaller_register,
662 lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register,
663 lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror,
664 lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree.
665 - The Libtool and libltdl macros and the testsuite now assume a C89
666 environment, consequently do not test for headers such as string.h,
667 strings.h, memory.h any more.
668 - Fix regression in libltdl symbol exports on Cygwin. Side effect:
669 LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as
670 declspec(dllexport), bypassing auto-export logic on Cygwin.
671 This tracks existing behavior on MinGW.
672 - The libtool script has been optimized a bit for more modern shells.
673 This breaks use of the stdin file descriptor in libtool, and can
674 break if a different shell is used to execute the libtool script
675 than the one it was configured for.
676 - The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and
677 AC_DISABLE_STATIC have been un-deprecated after deprecation in
679 - The macro LT_WITH_LTDL has been renamed to LTDL_INIT.
680 - Fixed a branch-1-5/HEAD regression to only link uninstalled libraries
681 statically with '-static'. In order to compensate for this, there
682 is a new link flag '-static-libtool-libs' to provide the previous
687 - Fix installation of libltdl so that it does not need Autoconf and
688 Automake installed, in order to be usable in another package. This
689 lifts the restrictions introduced in 1.9b.
690 - Default convenience or installable libltdl builds can optionally
691 be declared using new 'convenience' or 'installable' options to the
692 LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE
693 or LTDL_INSTALLABLE invocations).
694 - New configure-time options to allow libltdl parent project builder
695 to choose between installed and shipped libltdl, when invoking
696 LTDL_INIT: --with-included-ltdl, --with-ltdl-include,
698 - New LT_CONFIG_LTDL_DIR macro to specify a different directory name
699 for a convenience libltdl.
700 - libtoolize has been completely overhauled.
701 - 'libtoolize --install' now also installs 'install-sh'.
702 - New libtoolize options: --non-recursive, --recursive, --subproject.
703 These options control the way libltdl is installed into a package by
704 libtoolize. The new recursive and non-recursive build modes for
705 libltdl don't require a subconfigure any more.
706 The Libtool package itself builds libltdl nonrecursively.
707 - The 'nonrecursive', 'recursive' and 'subproject' libltdl build
708 modes are given as LTDL_INIT options.
709 - New make variable LTDLDEPS for use in output_DEPENDENCIES.
710 - New multi-module-loader safe libltdl handle iteration APIs:
711 lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map.
712 - New lt_dlinterface_register to maintain separation of concerns
713 between modules loaded by different libraries.
714 - New lt_dlopenadvise takes a new lt_dladvise type argument, which
715 lets the caller request local or global symbol visibility from the
716 module loader with lt_dladvise_local and lt_dladvise_global
717 respectively. If neither is given, or if lt_dlopen (or lt_dlopenext)
718 are called, then the system default module symbol visibility is used.
719 - The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow
720 caller requests for a filename extension search with lt_dladvise_ext,
721 and for marking a module unloadable with lt_dladvise_resident.
722 - Allow shell special characters like '$' in source file names, but
723 not in object names, to enhance GCJ support.
724 - An entire new Autotest-based testsuite in addition to the old one.
725 Both testsuites have been made more useful for testing
726 cross-compilers. The new testsuite exposes many more issues, but
727 may also be a little rocky on exotic systems.
728 - In 1.9b, a new variable inherited_linker_flags has been added to the
729 libtool library files. This variable takes flags that should be
730 used by dependent libraries and programs, but that do not fit into
731 'dependency_libs' for both clarity and backward-compatibility.
733 * Changes in supported systems or compilers:
735 - Removed bitrotted support for xlc on Mac OS X.
736 - Detection of compiler wrappers distcc/ccache and $host_alias prefix.
737 - Basic support for PIE (position-independent executables).
738 - Support for DragonFly BSD, improved support for FreeBSD.
739 - Improved support for GNU/kFreeBSD and GNU/NetBSD.
740 - Support for Interix 3 (Windows SFU) and newer versions.
741 - Support for AIX 6.1.
742 - Improved support for UnixWare.
743 - Initial support for RDOS.
744 - Initial Support for FC (modern Fortran).
745 - Support for Portland Group compiler, the Sun compiler suite on GNU/Linux,
746 and initial support for the IBM compiler suite on GNU/Linux/ppc.
747 - Support for linux-dietlibc ('diet' as well as 'diet-dyn', separately).
748 - Building libltdl with a C++ compiler has been undusted.
749 - On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer
750 rpath over absolute dependent library names. This fixes DESTDIR
751 installs, among others, on the non-HP-UX/PA systems.
752 - Use of C++ templates together with shared libraries has been
753 improved on some systems and with some compilers, but is still
754 ongoing work. Feedback is desirable here.
758 - Fix libltdl on static platforms.
759 - Search paths with GCC on multilib systems like x86_64 have been fixed.
760 - Fixed a regression that prevented use of libltdl without autotools.
761 - Fix error with -version-info on systems with version_type=none, such
763 - Fix symbol exporting for cases where command line length limits are
765 - Improve linking with C++ libraries on Solaris with Sun compiler.
766 - Fix installation of libraries that are required by installation
767 commands such as 'ln' or 'rm'.
768 - More robust parsing of mangled '.la' files inside libltdl, fixing a
769 possible overrun and a crash due to memory exhaustion.
770 - Fix compile command line for gcj on MinGW.
771 - Some configure variables have been renamed to fix caching:
772 lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works
773 lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works.
774 - Fix 1.9b regression: lt_dlopen(NULL) works on AIX again.
775 - Loads of smaller bug fixes.
778 New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
779 * Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
780 backslash quoting tests were never run.
781 * Fix a regression in 1.9d, where progpath was used for --no-reexec before it
783 * Fix a regression in 1.9d, which required an installed automake to build the
784 bootstrapped tarball.
785 * Fix hanging bug on MinGW.
787 New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team:
788 * If non-pic objects were not compiled, and libtool is called in link mode,
789 libtool no longer silently creates an empty archive, but rather falls
791 * When compiling C glue code with $LTCC, libtool now saves the setting of
792 $compiler_flags from the C tag, and passes those flags to $LTCC.
793 * libtool no longer dies when concurrently creating directories with
794 'make -j' on multi-processor hosts.
795 * Return type, and name parameter of lt_dlloader_remove are no longer
797 * Name parameter of lt_dlloader_find is no longer 'const'.
798 * The API for the slist ADT has been updated: slist_new has been replaced
799 by slist_box; slist_unbox and slist_sort are new; the footprint of
800 slist_remove and slist_fnid have changed; SListCallback and SListCompare
801 types have been exchanged. See libltdl/slist.c for documentation.
802 * libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist
803 structure changed to avoid using C99 flexible arrays.
804 * Support self dlopening for executables on cygwin and mingw.
805 * Improved support for linux-gnu/ia64.
806 * Initial support for s390x-ibm-tpf.
807 * Fixed some memory leaks in libltdl.
808 * Improved support for OpenBSD (use rpath instead of hardcoding absolute
811 New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
812 * The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros.
813 If you have any shell variables in this namespace they will need to be
814 renamed. If you have any macros in this namespace please rename them to
815 prevent any possible future clash with libtool supplied macros.
816 * New LT_PREREQ macro for specifying minimum libtool requirement.
817 * New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED,
818 AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC,
819 AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN,
820 AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise
821 your configure.ac files after installing this release.
822 * New LT_LANG interface to enable libtool support for a specific language.
823 * Language support is now only included if your configure.ac enables it,
824 either through a call to AC_PROG_CXX etc. or LT_LANG.
825 * The libtool script will complain if it was built from mismatched ltmain.sh
826 and libtool m4 macro versions.
827 * Like automake, libtoolize no longer installs config.guess and config.sub by
828 default. Use new --install option to get the old behaviour.
829 * libtoolize no longer supports the --ltdl-tar option.
830 * libtool script is now created by config.status. Instead of interrogating
831 './libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the
832 variable names directly.
833 * libltdl is no longer a self-contained package, and shares configury with
834 the top level directory now.
835 * Shared objects (.lo) are no longer created when '-static' is passed in
837 * New compile mode option '-shared' prevents creation of static objects (.o).
838 * New link mode option '-shared' creates only shared libraries at link time.
839 * If you configure libtool with --disable-shared (or if libtool does not
840 support shared libraries on your platform) trying to build a library using
841 '-shared' is a fatal error.
842 * New link mode option '-weak' tells libtool when not to propagate dependency
843 libraries from dlpreopened modules.
844 * libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting
845 m4 definitions to AC_CONFIG_MACRO_DIR.
846 * Mode inference removed, shorthand for choosing modes added.
847 * Specifying -allow-undefined is now an error.
848 * Speed up max_cmd_len check.
849 * libltdl can now preopen modules from within a library, and libtool will
850 accept -dlpreopen options when linking either a shared library or a
852 * New function in libltdl: lt_dlhandle_find provides access to module handles
854 * New function in libltdl: lt_dlpreload_open opens all preloaded modules.
855 * libltdl no longer loads shared libraries with global symbol resolution,
856 this caused problems when the symbols were intended to be overridden further
857 up the stack; it is also not recommended practice.
858 * New function in libltdl: lt_dlhandle_first, primes handle iterations (using
859 lt_dlhandle_next) to filter by module interface.
860 * libltdl no longer tries to support multi-threaded programming with
861 lt_dlmutex_register(), which was unusable with POSIX threads anyway.
862 The symbols are deprecated but exported for backwards compatibility.
863 * libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols
864 are still exported for backwards compatibility.
865 * The lt_dlinfo struct has a new module field that can be used by dlloaders.
866 * libltdl no longer supports pre-c89 compilers. Some of the pre89 portability
867 functions had compile time bugs in them anyway, so you guys can't have been
869 * make install now deletes preexisting $prefix/share/libtool before installing
871 * Extracting symbols from an import library on cygwin and win32 now works.
872 * Initial support for amigaos-ppc.
873 * Improved support for OpenBSD.
874 * Support for Intel C++ version 8.0.
875 * New support for IBM's xlc and xlc++ on Mac OS X.
876 * Finished support for QNX RTOS.
879 New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team:
880 * Support for Intel C++ version 8.0.
881 * Improved support for OpenBSD.
882 * Support for xlc on Mac OS X.
883 * Better support for zsh as /bin/sh.
884 * Much faster check for command line length on all BSD systems.
885 * Better Mac OS X/darwin support.
888 New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team:
889 * Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4
890 did not install them at all.
891 * libltdl correctly guesses the extension for loadable modules again.
893 New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team:
896 New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team:
897 * lt_dlrealloc is an official part of the libltdl API.
898 * --tag, --silent and --debug options are preserved and reused when libtool
899 calls itself for relinking etc.
900 * '-pthread' and similar options are honoured when linking shared libraries.
901 * -no-suppress in compile mode shows compiler output for both PIC and non-PIC
903 * New link mode option '-precious-files-regex' to prevent accidental removal
904 of files you want to keep, such as test coverage data, from the temporary
906 * Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux.
907 * Recognises the 'R' symbol type on Solaris so read-only symbols can be
911 New in 1.5.1: 2003-??-??; CVS version 1.5.0a, Libtool team:
912 * lt_dlrealloc is an official part of the libltdl API.
915 New in 1.5: 2003-04-14; CVS version 1.4e, Libtool team:
916 * First stable release of multi-language architecture.
917 * libtool and libltdl support for Mac OS/X.
918 * libltdl will now use cygwins dlopen API instead of always forcing
920 * Support auto-import patch to binutils on cygwin for much improved dll
924 New in 1.4.3: 2002-10-13; CVS version 1.4.2a, Robert Boehne:
925 * The libltdl subdirectory now bootstraps correctly with Automake 1.5.
926 * srcdir != builddir builds with Automake 1.5 work correctly.
927 * Support for mips-compaq-nonstopux.
928 * New command line argument, --preserve-dup-deps prevents removal of
929 duplicate dependent libraries.
931 New in 1.4d: 2002-01-07; CVS version 1.4c, Libtool team:
932 * Help strings display correctly again.
933 * Better error messages when library linking fails.
934 * Better error messages from libltdl when loading fails.
935 * Better search path management in libltdl with 'lt_dlinsertsearchdir' call.
936 * Support /lib/w32api in recent cygwin releases.
937 * Support cross compilation to mingw.
938 * Support for .rc files (Windows resource compiler).
939 * Improved handling of mingw gcc.
940 * Improved handling of $PATH with entries containing spaces.
941 * Improved support for linking with gcc on aix4* and aix5*.
942 * Improved support for GCC 3.0.
943 * Initial support for QNX RTOS, UnixWare 7 and OpenUNIX 8.
944 * Bug fixes to the OpenBSD port.
947 New in 1.4.2: 2001-09-11; CVS version 1.4.1a, Gary V. Vaughan:
948 * libltdl now builds on solaris again
949 * diagnose and warn about not-quite-working combinations of gcc and
951 * Improved OpenBSD support.
952 * Improved cygwin support.
955 New in 1.4.1: 2001-09-03; CVS version 1.4.0a, Libtool team:
956 * Better error messages from libltdl when loading fails.
957 * Don't leave here-doc files behind.
958 * Improved support for OpenBSD.
959 * Libtool will build with autoconf-2.50 and higher.
960 * Plug memory management bugs in libltdl.
961 * Prefer shl_load to dlopen for better operation on HP-UX.
963 New in 1.4b: 2001-07-09; CVS version 1.4a, Libtool team:
964 * Now bootstraps with autoconf-2.50 and automake-1.4-p4.
965 * Always try to build at least a static lib, even if both static and
966 shared libs were disabled.
967 * Full support for C++ compiler.
968 * Support for GNU gcj compiler.
969 * libltdl can now load all modules in a given path according to user
970 supplied criteria with 'lt_dlforeachfile' call.
971 * Improved support for AIX ia64, djgpp, HPUX, hurd, OpenBSD, sco3.2*.
972 * Internal mutex handling no longer has namespace clashes on NCR MP-RAS.
973 * New pdemo and tagdemo tests.
976 New in 1.4: 2001-04-25; CVS version 1.3e, Libtool team:
980 New in 1.3d: 2001-04-02; CVS version 1.3c, Libtool team:
981 * ltconfig is no more. Generation of libtool happens directly from
983 * Multithread safe with lt_dlmutex_register callback registration.
984 * New -no-install flag to avoid the use of executable wrapper scripts.
985 * New --with-pic, -prefer-pic and -prefer-non-pic flags to control
986 the generation of PIC/non-PIC code.
987 * Support for hardcoding run-time paths (-R) into libraries.
988 * Support -dlopen and -dlpreopen for libraries.
989 * Libtool now allows you to link shared libraries against static code.
990 * New functions in libltdl:
991 lt_dlgetinfo, lt_dlhandle_next and lt_dlforeach provide access to module
992 specific data in handles.
993 lt_dlcaller_register, lt_dlcaller_set_data and lt_dlcaller_get_data provide
994 management for user storage of per module data.
995 lt_dlloader_next, lt_dlloader_name, lt_dlloader_find, lt_dlloader_add and
996 lt_dlloader_remove can be used for adding new types of module loaders.
997 lt_dladderror, lt_dlseterror integrate user module loaders with lt_dlerror.
998 * "-Xcompiler" and "-Wc," does now work in compile mode, too.
999 * Support recent dlltool formats.
1000 * Start of support code for cross-compiling to win32.
1001 * libltdl can now be built as a dll with win32.
1002 * m4 macros needed to configure libltdl split out into libltdl/ltdl.m4.
1003 * New port to NEWS-OS Release 6.
1004 * Improved support for darwin (rhapsody), mingw32, NetBSD, Compaq Tru64 V5.0
1005 and Digital Unix V4.*.
1006 * Initial support for ia64 linux.
1007 * Initial support for a.out freebsd shared libs.
1008 * Initial support for Paul Sokolovsky's pw32 POSIX over win32 layer.
1009 * Many bugfixes (especially in libltdl)
1011 New in 1.3b: 1999-07-02; CVS version 1.3a, Libtool team:
1012 * Complete inter-library dependencies support. It's now possible
1013 to link libtool libraries against other libtool libraries.
1014 * Libtool is able to find already-installed libtool libraries,
1015 even if they were moved out of their installation directory.
1016 * New "-Wc,flag" and "-Xcompiler flag" flags to pass flags
1017 directly to the compiler
1018 * New "-Wl,flag" and "-Xlinker flag" flags to pass flags
1019 directly to the linker
1020 * New "-no-fast-install" flag to selectively disable fast-install mode.
1021 * Support for installing stripped libraries using GNU strip (install -s).
1022 Automake >= 1.5 will install stripped libraries with "make install-strip".
1023 * Allow linking shared libraries against static ones
1024 on FreeBSD, GNU/Linux, GNU Hurd and Solaris
1025 * Support for linking DLLs on Win32
1026 * New 'clean' mode to delete uninstalled files.
1027 * New demos and tests
1030 New in 1.3.5: 2000-05-27, CVS version 1.3.4a, Libtool team:
1031 * Support for mac OS X (rhapsody).
1032 * Support for *-sequent-sysv4.
1033 * Support for Cygwin-1.1.0.
1034 * Support recent dlltool formats.
1037 New in 1.3.4: 1999-12-08, CVS version 1.3.3a, Libtool team:
1038 * Support for Compaq Tru64 V5.0.
1039 * Improved support for Digital Unix V4.*.
1040 * Improved support for NetBSD, FreeBSD and Unixware.
1041 * Many fine bugfixes.
1043 New in 1.3.3: 1999-07-02, CVS version 1.3.2a, Libtool team:
1044 * New '-dlpreopen force' flag to ensure that
1045 lt_preloaded_symbols is always defined.
1046 * Work around self-dlclose bug in FreeBSD 3.1.
1047 * Expand convenience libraries when creating reloadable objects.
1048 * Do not forget to import -L flags of convenience libraries.
1049 * Do not pass -whole-archive or equivalent to symbol extractor.
1050 * Create directory to expand convenience libraries only when needed.
1051 * Improved support for Cygwin, DJGPP and NetBSD
1054 New in 1.3.2: 1999-05-26, CVS version 1.3.1a, Libtool team:
1055 * Avoid circular links of objects and libraries.
1056 * Look for dlerror when dlopen was found in -ldl (typo).
1057 * Disable shared libraries with broken GNU ld on Solaris.
1059 New in 1.3.1: 1999-05-21, CVS version 1.3.0a, Libtool team:
1060 * Documentation improvements; recommend automake users to insert libtool.m4
1062 * AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE now set INCLTDL.
1063 * New port to NEC UX/4800.
1064 * cygwin-b20.1 passes all tests.
1065 * Slightly improved BeOS support.
1066 * Many AIX 4.3.2 test failures have gone.
1067 * Pass unknown -L arguments through to the linker (for -LANG:* support).
1068 * Close a security hole with mode 777 directory during libltdl installation.
1069 * Fixed the infamous 'ifelse' bug in libtool.m4
1071 New in 1.3: 1999-04-29, Libtool team:
1072 * This is just a summary of the changes since 1.2.
1073 See the news of intermediate alpha releases below for details.
1074 * Support for convenience archives.
1075 * New maintainers. Anonymous CVS and home page at gnu.org.
1076 * Portable dlopening interface with libltdl, new -module flag.
1077 * Correctly link installed libtool libraries into programs and other
1078 libtool libraries. Linking of uninstalled libtool libraries into
1079 libraries is under development for 1.4.
1080 * Do not drop library dependencies on platforms that allow them.
1081 * Linking with uninstalled libraries no longer picks installed ones by
1083 * Use libraries from the build tree when running uninstalled
1084 executables (may require double linking).
1085 * Allow developers to optimize for build-tree executions.
1086 * Support -export-symbols-regex for controlled symbol exporting.
1087 * Support -R to hardcode directories in library search paths.
1088 * New ports, demos and tests. Lots of improvements and bug fixes.
1090 New in CVS version 1.2g, Libtool team:
1091 * AM_PROG_LIBTOOL is smaller and faster
1092 * AC_LIBTL_L_WIN32_DLL is required in configure.in for libtool to
1093 attempt to build dlls on win32 hosts
1094 * Shared libraries on AmigaOS up to version 4 are now disabled
1095 since they don't meet libtool's requirements for shared libraries
1096 * -L supports now relative directories
1097 * Libltdl has a new license: LGPL with a special exception
1098 * Libltdl can be used as stand-alone package
1099 * dlopen support for BeOS
1100 * Partial support for Motorola System V 4
1101 * Improved support for AIX, BeOS, Cygwin, DJGPP, DU, IRIX and HP/UX
1102 * Documentation updates
1106 New in 1.2f: 1999-03-15; CVS version 1.2e, Libtool team:
1107 * libtool will correctly link uninstalled libraries into programs
1108 and prefer uninstalled libraries to installed ones
1109 * Library paths that are in the system default run-time search path
1110 are no longer hardcoded into executables.
1111 * New fast installation mode, which links the final executable
1112 in order to avoid relinking during installation.
1113 Programs in the build-tree are relinked when executed.
1114 * New AC_DISABLE_FAST_INSTALL macro to set the default for
1115 the fast-install mode to disabled
1116 * New -export-symbols-regex flag, to export symbols selectively by
1117 a regular expression
1118 * Support -R for specifying run-time path of programs and library dependencies
1119 * New -avoid-version option to avoid versioning for libraries
1120 * libtool module names no longer need to have a "lib" prefix
1121 (requires automake 1.4).
1122 * New -thread-safe flag, to build thread-safe libraries
1123 * Major improvements in libltdl: API documentation, installable version,
1124 support for module search paths, support for lt_dlopen(0),
1125 can be embedded into packages as a tar file (libltdl.tar.gz),
1126 dynamic buffer allocation and buffer overflow checks,
1127 new macro LTDL_SET_PRELOADED_SYMBOLS() which must be used in the
1128 main program, dynamic memory allocation functions are user-defineable
1129 * New AC_LIBLTDL_CONVENIENCE and AC_LIBLTDL_INSTALLABLE macros, to select
1130 convenience and/or installable versions of libltdl.
1131 * libltdl is now built and installed unless --disable-ltdl-install
1132 * New "-dlopen self" flag for dlopening the executable itself
1133 * New AC_LIBTOOL_DLOPEN macro to check for dlopen support,
1134 required if you use -dlopen or -dlpreopen
1135 * If libtool could not satisfy all dependencies of a module
1136 it will only build a static version of it
1137 * dld_preloaded_symbols was renamed to lt_preloaded_symbols
1139 * Improved support for FreeBSD, AIX, IRIX, OSF, SysV 4.3, HP/UX, DJGPP
1140 BSD/OS 4.x and NetBSD
1141 * In order for libtool to attempt to link a shared library (dll) on win32
1142 platforms, you must pass the -no-undefined flag to libtool in link mode.
1143 * The path to GNU ld now works on cygwin-b18 to cygwin-b20.2 at least.
1144 * Support for IRIX library versioning.
1145 * New demos and tests
1148 New in 1.2d: 1998-12-16; CVS version 1.2c, Libtool team:
1149 * libtool will correctly link already-installed libraries into programs.
1150 * New -module flag, to create loadable modules.
1151 * New libltdl, a small library for portable dlopening of modules.
1152 It is still undocumented, but you can already find some examples in:
1153 * New mdemo directory, with tests of -module and dlopening examples.
1154 Be aware that libltdl is only known to work on a few platforms such as
1155 GNU/Linux and Solaris2. Some mdemo tests are known to FAIL on several
1156 other platforms; please ignore these failures by now (or work to fix
1158 * Inter-library dependencies patch finally integrated, but there's
1159 still much porting to do. See PORTING for details (some plans for the
1160 future in mail/deplibs in the CVS tree).
1161 * New option -export-symbols to control symbol exporting when possible.
1162 * Fixed -export-dynamic problem with C++ programs in egcs 1.1.
1163 * New dlpreopen structure.
1164 * libtool now supports '-c -o' and subdirectories in sources and
1165 target object names even in platforms whose compilers do not support
1166 this. In this case, file locking occurs to avoid problems with
1168 * New 'echo' variant that should fix most problems with long command
1169 lines and broken printf programs.
1170 * Support for DG/UX, UnixWare 7.x and FreeBSD 3.0, and improved
1171 support for Microsoft Windows
1173 * We now have anonymous CVS access to GNU libtool. CVSROOT is
1174 :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot. The password
1175 is empty. The directory is libtool. Check our home-page at
1176 https://www.gnu.org/software/libtool/libtool.html for details.
1177 * Alexandre Oliva, Thomas Tanner and Gary V. Vaughan have taken over
1178 the maintenance of libtool.
1179 * Arguments to ltconfig have been changed to allow creation of a
1180 libtool C program, totally unusable as of this release.
1182 New in 1.2b - 1998-07-01, Gordon Matzigkeit:
1183 * Libtool needs a new maintainer, since Gordon Matzigkeit has quit.
1184 If you think you can do the job, send mail to bug-libtool@gnu.org.
1186 * Support for libtool convenience archives.
1188 New in 1.2a - 1998-04-19, Gordon Matzigkeit:
1190 * ltconfig accepts an '--output' option to specify the name of the
1192 * New '--debug' flag to turn on shell script tracing for libtool,
1193 libtoolize, and ltconfig.
1194 * Added 'libtool --config' to print out all configuration variables.
1195 * Support for *-*-hpux11*.
1197 New in 1.2 - 1998-03-20, Gordon Matzigkeit:
1198 * Minor bug fixes to provide a stable public release.
1199 * Libtool no longer cseses Solaris printf to barf due to silly
1200 2110-byte static buffers.
1202 New in 1.1 - 1998-03-08, Gordon Matzigkeit:
1204 * http://www.profitpress.com/libtool/ is libtool's homepage.
1205 * 'AM_PROG_LIBTOOL' supports turning shared or static libraries off
1206 with the '--enable-shared=PKGS' and '--enable-static=PKGS' configure
1207 flags. See (libtool)AM_PROG_LIBTOOL.
1208 * Use the 'AM_DISABLE_SHARED' or 'AM_DISABLE_STATIC' macros if you
1209 wish to modify the default behaviour of 'AM_PROG_LIBTOOL' for your
1211 * New rules for 'AM_PROG_LD' to use gcc's '-print-prog-name' flag in
1212 order to find ld, if possible.
1213 * Suppress duplicate compiler output during 'compile' mode.
1214 * Deleted 'dlname' mode. Dlopen applications should only use the
1215 runtime search method described in (libtool)Finding the dlname.
1216 * Experimental support for dynamically loaded modules, even on
1217 static-only platforms, via new '-dlopen' and '-dlpreopen' link
1219 * 'compile' mode honours the '-static' flag to prevent libtool
1220 from building PIC objects.
1221 * New 'execute' mode to support debugging uninstalled libtool
1222 libraries and executables.
1223 * '-allow-undefined' is now the default. You can use '-no-undefined'
1224 to declare that a shared library is completely self-contained.
1225 * Inter-library dependencies are automatically handled when linking
1226 against an uninstalled '.la' file.
1227 * New '-all-static' flag to prevent any dynamic linking. The regular
1228 '-static' flag now just prevents dynamic linking of libtool libraries.
1229 * New '-release' flag to encode release numbers into libtool
1230 libraries. This breaks binary compatibility, but is useful for
1231 libraries whose interfaces change very frequently. See
1232 (libtool)Versioning.
1233 * The '-rpath' flag can be used to hardcode absolute directories when
1234 linking executables using libtool.
1235 * New robust quoting code to handle any metacharacters passed in
1236 arguments to libtool commands.
1237 * Full support for broken collect2 on AIX 3. Shared libraries
1238 can now be built with all working versions of GCC on AIX.
1239 * Shell script speed optimizations for old and buggy /bin/sh systems,
1240 such as HP-UX 9 and SunOS 4.1.4.
1241 * Maybe use '_libs' as a temporary libtool directory instead of '.libs'
1242 in order to cope with MS-DOS filenames.
1243 * Portability fixes for Windows NT.
1244 * Refuse to create libtool libraries that don't begin with 'lib'.
1245 This allows us to correctly handle OSes that don't have the 'lib'
1246 prefix by default, such as OS/2.
1247 * Support for *-*-amigaos*, *-*-os2*, *-*-sysv4.2uw2*, and *-*-uts4*.
1249 New in 1.0 - 1997-07-08, Gordon Matzigkeit:
1251 * Better configuration test to find the system linker. The old test
1252 was failing because people frequently install GNU ld, but don't
1253 necessarily configure GCC to use it.
1254 * Automake support for Libtool now uses the LTLIBRARIES primary. See
1255 the Automake documentation for more information.
1256 * Added new '--disable-static' flag to disable building static
1257 libraries on platforms that have shared libs.
1258 * New '-allow-undefined' link flag to build shared libs that contain
1259 references to unresolved symbols.
1260 * Removed all support for creating static-only libraries.
1261 * Basic support for dynamically loaded modules: new '-export-dynamic'
1262 linking flag and corresponding 'dlname' mode.
1263 * New '--features' flag to display configured libtool attributes.
1264 * Added support for installing libtool objects, both in absolute and
1265 relative directories.
1266 * Support *-*-linux-gnu* as an alias for *-*-linux*.
1267 * Support for *-*-openbsd* and *-*-freebsd3*.
1269 New in 0.9 - 1997-02-03, Gordon Matzigkeit:
1271 * The libtool demo now uses the libm cos(3) function, to demonstrate
1272 inter-library dependencies.
1273 * The PLATFORMS file has been moved to doc/platforms.texi.
1275 New in 0.8 - 1997-01-26, Gordon Matzigkeit:
1276 * Bug fixes, and more documentation.
1277 * Basic support for other language compilers (C++, Fortran, and
1278 preprocessed assembler).
1279 * Libtool is now more persistent when linking with the '-static'
1281 * New test for hardcoding system linkers, to verify that libtool
1282 neither creates incorrect binaries, nor takes unnecessary
1283 precautions while linking against uninstalled shared libraries.
1284 * For clarity, the demo subdirectory no longer uses ansi2knr, and has
1285 been rewritten to avoid ANSI-only constructs.
1286 * Support for *-*-irix5, *-*-irix6*, and *-*-sco3.2v5*.
1288 New in 0.7 - 1996-12-08, Gordon Matzigkeit:
1289 * Total rewrite of libtool, along with a new model for library building.
1290 * Completely rewritten documentation for the new paradigm.
1291 * Sane handling of broken system linkers, such as the ones on AIX
1293 * configure mode is now a separate program, 'ltconfig'
1294 * The libinfo helper script has been incorporated into the main
1296 * Automatic mode guessing, based on the command line.
1297 * Full support for Automake 1.2 (including ansi2knr features).
1298 * Support to create reloadable objects using link mode.
1299 * Support for new '-static' linking flag.
1300 * Support for stripping libraries during installation.
1301 * Library version information is now passed on the command line, not
1302 through a version file.
1304 Version 0.6 was never released.
1307 * Disabled install-progs until next version, when it will be correctly
1309 * Clearer library versioning documentation. See (libtool)Versioning.
1310 * Renamed gm_PROG_LIBTOOL to AM_PROG_LIBTOOL
1311 * Libtool now creates pseudo-objects named foo.lo and pseudo-archives named
1312 libfoo.la instead of foo.o and libfoo.a. See the documentation.
1313 * libtool compile doesn't interfere with user CFLAGS if they don't
1314 conflict with the current objtype. From Karl Berry.
1315 * Created new libinfo helper script.
1316 * libversion.in files are obsolete -- libtool uses libinfo to read the
1318 * Libtool is better at finding its config file and helper scripts.
1319 * Support for *-*-gnu*
1322 * Bug fixes and new regression tests
1323 * On unsupported configurations, 'libtool configure' demotes OBJTYPES to
1324 'standard' instead of aborting
1325 * Added new object type, 't', for tcov(1) support
1326 * Support for *-*-aix3*, *-*-aix4*, *-*-hpux10*, *-*-osf3*, and *-*-solaris2*
1329 * Bug fixes and new regression tests
1330 * Added new uninstall-libs mode
1331 * Added a host argument to configure mode
1332 * Fixed debugging/hyper-optimizing flags conflict (from Karl Berry)
1333 * Support for --no-whole-archive when needed by GNU ld (from Ulrich Drepper)
1334 * Implementation of --enable-linktype, --enable-profile, --enable-shared,
1335 --enable-static in gm_PROG_LIBTOOL macro
1336 * New 'libtoolize' program (modeled after GNU gettext's 'gettextize') to help
1337 conversion to libtool
1338 * New ABOUT-LIBS document for inclusion with libtool-supported packages
1341 * Support for *-*-linux
1342 * Better checking for GNU ld
1343 * Reimplemented the config file so that it corresponds more closely to the
1344 variables listed in (libtool)Porting Libtool.
1345 * Reimplemented the shared library version scheme. See (libtool)Versioning.
1346 * Replaced '--config-file' and '--version-file' options with '--confdir'
1347 * Added new install-libs and install-progs modes
1350 * First release of libtool
1351 * Support for: *-*-freebsd*, *-*-netbsd*, *-*-sunos4*, *-*-ultrix4*
1354 Copyright (C) 1996, 1998-2019, 2021-2024 Free Software Foundation, Inc.
1356 This file is part of GNU Libtool.
1358 Copying and distribution of this file, with or without modification,
1359 are permitted in any medium without royalty provided the copyright
1360 notice and this notice are preserved. This file is offered as-is,
1361 without warranty of any kind.