-
Notifications
You must be signed in to change notification settings - Fork 23
/
NEWS
1452 lines (1168 loc) · 62.1 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
NEWS - list of user-visible changes between releases of GNU Libtool
* Noteworthy changes in release ?.? (????-??-??) [?]
** Bug fixes:
- Fix incorrect use of workarounds designed for Darwin versions that
don't have -single_module support.
- Fix errors when executing 'make distclean' and 'make maintainer-clean'.
- Fix bug where the constructed rpath omit directories, instead of
appending them to the end.
- Fix configure error for when variable 'multlib' is unset.
- Fix searching for -L in link paths being over-greedy and incorrectly
handling paths with -L in them.
- Avoid using AC_TRY_EVAL macro, "dangerous and undocumented".
- Fix linking libraries at runtime with tcc by adding run path.
** Changes in supported systems or compilers:
- Support additional flang-based compilers, 'f18' and 'f95'.
- Support for 'netbsdelf*-gnu'.
* Noteworthy changes in release 2.5.3 (2024-09-25) [stable]
** New features:
- Add 'aarch64' support to the file magic test, which allows for
shared libraries to be built with Mingw for aarch64.
** Bug fixes:
- The configure options --with-pic and --without-pic have been renamed
to --enable-pic and --disable-pic, respectively. The old names
--with-pic and --without-pic are still supported, though, for
backward compatibility.
- The configure option --with-aix-soname has been renamed to
--enable-aix-soname. The old name --with-aix-soname is still
supported, though, for backward compatibility.
- Fix conflicting warnings about AC_PROG_RANLIB.
- Document situations where -export-symbols does not work.
- Update FSF office address with URL in each file's license block.
- Add checks for aclocal in standalone.at and subproject.at test files
that report failures in Linux From Scratch and Darwin builds.
* Noteworthy changes in release 2.5.2 (2024-08-29) [beta]
** Bug fixes:
- Use shared objects built in source tree instead of the installed
versions for more reliable testing.
- Fix test in bug_62343.at for confirmed Cygwin/Mingw32 where the
incorrect architecture version of a compiler was generating
object files that could not be linked with a library file.
- Fix typos found with codespell.
** Changes in supported systems or compilers:
- Add support for 32-bit mode on FreeBSD/powerpc64.
* Noteworthy changes in release 2.5.1 (2024-07-25) [beta]
** New features:
- Support C++17 compilers in the C++ tests.
- Add sysroot to library path for cross builds.
** Important incompatible changes:
- Autoconf 2.64 is required for libtool.m4 to use AS_VAR_APPEND.
** Bug fixes:
- Fix for uninitialized variable in libtoolize.
- Skip Fortran/C demo tests when using Clang with fsanitize to
avoid an incompatible ASan runtime.
- Updated documentation for testing.
- Fix failing test to account for program-prefix usage.
- Replaced a deprecated macro to remove warning messages in the
testsuite logs.
- Fix number of arguments for AC_CHECK_PROG call.
- Fix test failures with no-canonical-prefixes flag by checking
if the flag is supported first.
- Fix test failures with no-undefined flag by checking host OS
before appending the flag.
- Skip test when passing CXX flags through libtool to avoid test
failure on NetBSD.
- Remove texinfo warning for period in node name of pxref.
- Alter syntax in sed command to fix numerous test failures
on 64-bit windows/cygwin/mingw.
- Fix 'Wstrict-prototypes' warnings.
- Correct DLL Installation Path for mingw multilib builds.
- Fix '--preserve-dup-deps' stripping duplicates.
- Disable chained fixups for macOS, since it is not compatible with
'-undefined dynamic_lookup'.
** Changes in supported systems or compilers:
- Support additional flang-based compilers, 'flang-new' and 'ftn'.
* Noteworthy changes in release 2.5.0 (2024-05-13) [alpha]
** New features:
- Pass '-fdiagnostics-color', '-frecord-gcc-switches',
'-fno-sanitize*', '-Werror', and 'prefix-map' flags.
- Pass the '-no-canonical-prefixes' linker flag.
- Pass '-fopenmp=*' for Clang to allow choosing between libgomp and
libomp.
- Pass '-shared-libsan', '-static-libsan', 'rtlib=*', and
'unwindlib=*' for Clang.
- Expanded process.h inclusion on Windows for more than the
proprietary MSVC compiler. Other alternative Windows compilers
also require process.h.
- Pass 'elf32_x86_64' and 'elf64_x86_64' to the linker on hurd-amd64.
- Recognize *-*-windows* config triplets.
** Important incompatible changes:
- Removed test_compile from command line options.
- By default executables are created with the RUNPATH property for
the Android linker. RUNPATH works for libraries which are not
installed in system locations.
- Removed AC_PROG_SED fallback, as the macro has been supported
in Autoconf since the 90's.
** Bug fixes:
- Check for space after -l, -L, and -R linker flags.
- Updated documentation for tests, the demo directory, and
elsewhere.
- Fixed Solaris 11 builds.
- Clean trailing "/" from sysroot path.
- Fixed shared library builds for System V.
- Added mingw to the list of systems not requiring libm.
- Fixed support for nios2 systems.
- Fixed linker check for '--whole-archive' support for linkers other
than ld.
- Use -Fe instead of -o with MSVC to avoid deprecation warnings.
- Improved reproducibility of libtool scripts.
- Avoided MinGW warning by adding CRTIMP.
- Improved grep portability.
- Fixed cross-building warnings when checking for file.
** Changes in supported systems or compilers:
- Removed support for bitrig (*-*-bitrig*).
- Added support for flang (Fortran LLVM-based) compilers.
* Noteworthy changes in release 2.4.7 (2022-03-16) [stable]
** New features:
- Libtool script now supports (configure-time and runtime) ARFLAGS
variable, which obsoletes AR_FLAGS. This is due to naming conventions
among other *FLAGS and to be consistent with Automake's ARFLAGS.
- Gnulib testsuite is enabled and run during 'make check'.
- Support the Windows version of the Intel C Compiler (icl) in
libtool script.
- Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
to linker.
- Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.
- The variable 'FILECMD' with default value of '/usr/bin/file' was used to
replace existing hard coded references to '/usr/bin/file'.
- Add MidnightBSD support.
** Important incompatible changes:
- Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
- Do not pass '-pthread' to Solaris linker.
- 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
Previously '#! /bin/sh' was used, which presents challenges for
containerized environments.
** Bug fixes:
- Fix significant slowdown of libtoolize for certain projects (regression
introduced in 2.4.3 release) caused by infinite m4 macro recursion.
- Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
increased number of calls to '$SED $sed_quote_subst' (bug#20006).
- Properly parse and export TLS symbols on AIX.
- Various bug fixes surrounding use of 'sed'.
- Darwin systems set proper "allow undefined" flag on OSX 11, and
PowerPC 10.5.
- Removed some deprecated tests related to 'Makefile.inc' files.
* Noteworthy changes in release 2.4.6 (2015-02-15) [stable]
** New features:
- LT_SYS_LIBRARY_PATH can be set in config.site, or at configure time
and persists correctly in the generated libtool script.
** Bug fixes:
- Fix a race condition in ltdl dryrun test that would cause spurious
random failures of that test.
- LT_SYS_DLSEARCH_PATH is munged correctly.
* Noteworthy changes in release 2.4.5 (2015-01-19) [stable]
** New features:
- Libtoolize searches for the best available M4 on the user PATH at
runtime, rather than settling for the first one found.
- Support munging sys_lib_dlsearch_path_spec with LT_SYS_LIBRARY_PATH
environment variable.
** Bug fixes:
- Bail out at configure time if the installed M4 is not sufficient
for the purposes of libtoolize.
- freebsd-elf library versioning was upgraded incorrectly in 2.4.4,
but now works properly again.
- Fix a 2.4.4 regression so that libltdl subprojects do not warn
about missing libltdl/libltdl directory as in prior releases.
- When using Sun C++ on Solaris or GNU/Linux we used to set libtool's
postdeps permanently, based on the contents of $CXX and $CXXFLAGS at
configure time, which was brittle and error-prone. Now, we no
longer check for a SunCC ABI at configure time, but augment the
postdeps at libtool time based on the current invocation flags on
each call.
** Changes in supported systems or compilers:
- /usr/local prefixed rpaths are now added to the link-line on
ia64-hp-hpux*, because the default system runtime loader path does
not contain them.
- Previously, when using Sun C++ on Solaris or GNU/Linux, `-Cstd -Crun`
flags were added to $postdeps unless CXX or CXXFLAGS contained
`-library=stlport4`. Newer releases have added other compiler flags
that are also incompatible with `-Cstd -Crun`, so now we don't add
them if any of `-std=c++[0-9][0-9]`, `-library=stdcxx4` or
`-compat=g` were found in CXX or CXXFLAGS when the Sun C++ compiler
is detected.
* Noteworthy changes in release 2.4.4 (2014-11-29) [stable]
** New features:
- Libltdl maintains its own fork of argz, with macros and files in
the LT_ and lt__ namespaces (resp.) where they cannot clash with
client projects' use of gnulib argz.
** Bug fixes:
- Installation of 'libtoolize' once again obeys '--program-prefix',
'--program-suffix' and '--program-transform-name' configure options.
- `libtoolize` doesn't remove any files that it can't reinstall,
including old versions of the snippet directory, and gnulib's
version of the argz module and supporting files.
- LT_FUNC_DLYSM_USCORE now works correctly on systems that don't
support self dlopen()ing.
** Important incompatible changes:
- LT_LIB_DLLOAD no longer prepends -ldl or -ldld to LIBS, causing
duplicate occurrences in libltdl link lines. If you need to
add a library for dlopen() or shl_load() in your Makefile, then
use $(LIBADD_DLOPEN) or $(LIBADD_SHL_LOAD) respectively. If you
are using libltdl, this all happens automatically, and the only
difference you'll see is no more duplicated library names in the
verbose link line.
** Changes in supported systems or compilers:
- Preliminary support for tcc on linux*. Although it already worked
sometimes in previous releases, making sure to set LD correctly now
avoids mis-matching GNU ld with tcc:
./configure CC=tcc LD=tcc
- Added -os2dllname option to work around 8 character base name
limit on OS/2. The option has no effect on other systems.
- Support for DLL versioning, -export-symbols and -export-symbols-regex
on OS/2.
- Support filename-based shared library versioning on AIX. See manual
for details.
* Noteworthy changes in release 2.4.3 (2014-10-27) [stable]
** New features:
- Moved to gnulib release infrastructure.
- M4 is now used for scanning the M4 macros in your configure.ac that
'libtoolize' looks at to determine what files you want, and where you
would like them installed. This means that you can compose your
version number or any other argument that Libtoolize needs to know at
M4 time using git-version-gen from gnulib, for example.
- Invoking 'libtoolize --ltdl' no longer maintains a separate autoconf
macro directory in the libltdl tree, but automatically adjusts the
installed libltdl configuration files to share whatever macro
directory is declared by the parent project. (Note: if you were
already sharing a macro directory with AC_CONFIG_MACRO_DIR(ltdl/m4)
or similar, that still works as does any other directory choice).
- Invoking 'libtoolize --ltdl' no longer maintains a separate auxiliary
scripts directory in the libltdl tree, but automatically adjusts the
installed libltdl configuration files to share whatever auxiliary
scripts directory is declared by the parent project. (Note: if you
were already sharing an auxiliary directory with subproject libltdl
using AC_CONFIG_AUX_DIR(ltdl/config) or similar, that still works as
does any other directory choice).
- The legacy tests have all been migrated to the Autotest harness.
- The Autotest testsuite can be run without the especially time consuming
tests with:
make check-local TESTSUITEFLAGS='-k "!expensive"'
** Bug fixes:
- Fix a long-standing latent bug in autom4te include path for autotests
with VPATH builds.
- Fix a long-standing latent bug in libtoolize that could delete lines
from libltdl/Makefile.am in recursive mode due to underquoting in a
sed script.
- Fix a long-standing bug in libtoolize, by outputting the 'putting
auxiliary files in' header with 'libtoolize --ltdl --subproject'.
- Fix a long-standing bug in libtoolize subproject installation, by not
installing a set of autoconf macro files into the parent project if
there is no configure.ac present to use them.
- The libtoolize subproject mode selector is now named '--subproject'
and is equivalent to the implied '--subproject' mode when no other
mode is selected; '--standalone' never worked, and is no longer
accepted.
- Libtool and libtoolize no longer choke on paths with a comma in them.
- In the case where $SHELL does not have the same enhanced features
(e.g. the ability to parse 'var+=append') as $CONFIG_SHELL, libtool
will now correctly fallback to using only vanilla shell features
instead of failing with a parse at startup.
- Correctly recognize import libraries when Microsoft dumpbin is used
as the name lister and extend the dumpbin wrapper to find symbols
in import libraries using the -headers option of dumpbin. Also fix a
bug in the dumpbin wrapper that could lead to broken symbol listings
in some corner cases.
- Use the improved Microsoft dumpbin support to mend preloading of
import libraries for Microsoft Visual C/C++.
- No longer mangle module-definition (.def) files when feeding them to
the Microsoft Visual C/C++ linker via the -export-symbols argument to
the libtool script, thus matching how .def files are handled when
using GNU tools.
- Recognize more variants (e.g. those starting with a LIBRARY statement)
of module-definitions (.def) files when using them instead of a raw
list of symbols to export.
- Fix a long-standing bug when using libtoolize without automake; we
no longer remove install-sh with --force, since it's not a file
libtoolize will reinstall without --install..
** Important incompatible changes:
- GNU M4 is required to run libtoolize in a directory with a
'configure.ac' (or 'configure.in') that needs tracing to determine
what modes and directories have been specified.
- The use of the idiosyncratically named 'Makefile.inc' in nonrecursive
libltdl builds is deprecated, although it will be supported for one
more year or until the next release, whichever takes longer. Please
upgrade to the more standard naming of 'ltdl.mk' in keeping with other
GNU projects.
- libtoolize now behaves consistenty in respect of multiple directory
arguments to ACLOCAL_AMFLAGS and multiple invocations of AC_CONFIG-
_MACRO_DIRS, where the first directory is always selected. Previous
releases took the first ACLOCAL_AMFLAGS argument, but the last
invocation of AC_CONFIG_MACRO_DIRS.
- The libtoolize program now advises use of the new Autoconf
AC_CONFIG_MACRO_DIRS declaration. If you follow that advice, all
your developers will need at least autoconf-2.70 and automake-1.13
to rebootstrap your probject. If you still need to support
bootstrap with older Autotools, then you should add the following
to your configure.ac file:
m4_ifndef([AC_CONFIG_MACRO_DIRS],
[m4_define([AC_CONFIG_MACRO_DIRS],
m4_defn([AC_CONFIG_MACRO_DIR]))])
- Overhead of probing for a non-backslash crippled echo equivalent
during initialization of every script has been removed in favor of
trusting that "printf %s\n" works out of the box on all non-museum
host architectures. Manually setting ECHO appropriately in the
build environment will be necessary on some ancient architectures.
** Changes in supported systems or compilers:
- Support for bitrig (*-*-bitrig*).
- Solaris 7 and earlier requires ECHO=/usr/ucb/echo in the build
environment, to build and use libtool.
New in 2.4.2 2011-10-17: git version 2.4.1a, Libtool team:
* New features:
- The --with-pic configure option now supports a list of comma-separated
package names. This can be used to build some static libraries with PIC
objects while building others with non-PIC objects.
- Initial support for Go, using the gccgo compiler.
- On Mac OS X .dylib is now tried as well as .so with
lt_dlopenext().
* Bug fixes:
- The generic approximation of the command line length limit (when getconf is
not available) works again. Regression introduced in v2.2.6-39-g9c3d4d8.
- The bug that leaked developer tool paths into the release tarballs
from ./bootstrap is fixed.
- Improved support for the Cuda Compiler Driver (nvcc) on Darwin.
- For GCC LTO support, the -fuse-linker-plugin switch is now also removed
when computing compiler postdeps.
* Important incompatible changes:
- The undocumented hardcode_libdir_flag_spec_ld tag variable has been
removed in favor of using hardcode_libdir_flag_spec with $wl set to empty.
* Changes in supported systems or compilers:
- Fixes for gfortran on Darwin, XL Fortran on GNU/Linux.
- Support for FreeBSD 1.x (outdated since 1994) has been removed.
New in 2.4 2010-09-22: git version 2.2.11a, Libtool team:
* New features:
- Sysroot support. This allows you to build cross-compiled packages
with the same prefix that will be used on the destination machine,
and still find dependent libraries under the compiler's "sysroot".
Without sysroot support, paths internal to the build system may leak
into the product of the build.
Sysroot support is disabled unless the --with-sysroot configure
option is passed to configure, because .la files generated with
sysroot support will _not_ be usable in general with older Libtools.
- On non-cygwin Windows systems, we now lookup potential library
file names without regard to file name case.
- The old testsuite now uses the 'parallel-tests' Automake test driver
now for more concurrency and better test logging. For this, tests are
run in verbose mode by default now.
* Important incompatible changes:
- Autoconf 2.62 and Automake 1.11.1 or newer are now required for
bootstrapping Libtool. For using Libtool in your own projects,
Autoconf 2.59 and Automake 1.9.6 should still work.
- The fix_srcfile_path variable has been replaced by a more thorough
mechanism triggered by the to_tool_file_cmd variable.
* Changes in supported systems or compilers:
- Initial support for the Microsoft C/C++ Compiler, with help from
the compile script in unreleased Automake 1.12. Override the manifest
tool used to embed the manifest resource through the environment
variable MANIFEST_TOOL. Please note that the import library naming
has changed (from foo-2.lib to foo.dll.lib) from when the code lived
in its own git branch.
- Initial support for the NAG Fortran compiler on GNU/Linux.
* Bug fixes:
- The 'check-interactive' and 'check-noninteractive' convenience make
targets now also work for the old testsuite.
- Warnings from Autoconf v2.67-36-g1e604ec about incomplete programs
passed to AC_*_IFELSE tests have been fixed.
- On IRIX, the test for -Wl,-exported_symbol now also works with gfortran.
New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team:
* New features:
- On non-cygwin Windows systems, we no longer try to lookup the POSIX
format path recorded in $libdir of a pseudo-library when looking up
the location of the library with the native tools.
New in 2.2.8 2010-06-05: git version 2.2.7c, Libtool team:
* No new features:
- Bumped version number and promoted 2.2.7b release candidate to a full
stable release.
New in 2.2.7b 2010-05-20: git version 2.2.7a, Libtool team:
* New features:
- Libtool ships and installs man pages for libtool and libtoolize now.
- New libtool command line flag --help-all.
- New libtool command line flag --no-silent (with alternate spelling
--no-quiet). This flag (re)enables the default informational messages,
but has no effect on so-called "verbose" output messages.
- New libtool command line flag --no-verbose, which disables only
the extra "verbose" output messages and has no effect on the
default informational messages.
- New convenience make targets 'check-noninteractive' to avoid long testsuite
runs on Windows with popup windows in the middle, and 'check-interactive'
for the complement set of tests.
- New link mode flag -bindir to specify the location for installed PE DLLs.
- Wrapper scripts and wrapper executables for programs linked against
uninstalled shared libraries now support command-line options --lt-debug
and --lt-dump-script.
* Important incompatible changes:
- The wrapper command line option support described above introduces the
following incompatibility: the wrapper will remove any command line
options that begin with '--lt-*' from the argument list before launching
(uninstalled) programs. Any '--lt-*' option on the command line not
recognized by the wrapper will result in an error.
- The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has
been fixed in the manual and in a couple of tests to match the actual
implementation.
* Changes in supported systems or compilers:
- Improved support for 64bit Windows (mingw64).
- Improved support for cegcc (Windows CE/PocketPC).
- Support for GNU/kOpenSolaris (kopensolaris*-gnu).
- Initial support for compilers on BlueGene BG/P.
- Improved support for Atari FreeMiNT.
- With binutils 2.19.50+, shared libraries can be built on AIX.
- Initial support for the Cuda Compiler Driver on GNU/Linux.
- Support for Haiku (i586-pc-haiku).
- Initial support for GCC link-time optimization (LTO) flags.
* Bug fixes:
- Fix 2.2.6 regression that prevented using the libltdl macros together
with Autoconf 2.59 ('possibly undefined macro: LT_LIBEXT').
- Fix 2.2.4 regression that caused arguments with special characters
to be mangled by the compile wrapper for uninstalled programs on MinGW.
- libtool command line flag --verbose now also enables explicit
verbose output, in addition to its previous behavior of (re)enabling
only the default informational output. See New Features, --no-silent.
- Link tests are guarded by cache variables so they can be avoided for
bootstrapping purposes (e.g., when link tests are not possible).
- Argument mangling of execute mode has been improved (i.e., lessened).
- Fix 2.1b regression that caused nm to not be the default name lister.
The regression affected mainly (arguably broken) cross compiles.
- Fix long standing bug that caused compiler checks for Fortran and
C++ compilers to run twice.
- Link mode works around a parallel build failure on Darwin 9.6.0 due
to the 'ar' 'flock'ing an archive upon extraction, by protecting the
extraction of convenience archives with a lock.
- The Libtool macro files do not contain instances of __oline__ any more,
easing merges for configure scripts that are added to version control.
- Fix ancient bug where "-Wc," was turned into "$wl" (typically "-Wl,")
when using the compiler driver to link programs. Now "-Wc," is stripped
just as it is when linking libraries through the compiler driver.
- Symbol versioning works with the GNU gold linker now.
- Fixes for detection of shared library dependencies on MinGW systems.
- Fixed Sun compiler detection on Solaris with sunCC, sunf77 etc. names.
* Miscellaneous changes:
- The manual is distributed under the terms of the GNU FDL 1.3 now.
New in 2.2.6 2008-09-05: git version 2.2.5a, Libtool team:
* New features:
- New lt_dloadvise_preload() call to set a hint that only preloadeded
modules can be opened.
- libtoolize no longer removes config.guess and config.sub, even when
--install is passed.
* Changes in supported systems or compilers:
- Fixes for ifort on Darwin, and newer Intel compilers (icc 10, ifort 9)
on GNU/Linux.
- Fixes for cwrapper (cygwin/mingw) under -stdc=c99.
- Support cross compile of MinGW with Wine.
- Initial support for cegcc (Windows CE/PocketPC) cross compilation.
- Initial support for lf95 (Lahey Fortran 8.1) on GNU/Linux.
* Bug fixes:
- Several testsuite issues have been fixed, thanks to user feedback.
- Fix 2.2 regression that caused argz symbols to be exported from
libltdl unrenamed on systems that do not have working argz.
- Revert "lt_dlopen(NULL) works on AIX again.". It was not the
correct fix.
- Diagnose '-L' arguments correctly.
- Libtool no longer tries to open devices as files in execute mode.
- Libtool no longer removes *.gcno profile information from GCC.
New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team:
* New features:
- New libtoolize option --no-warn, for users that want to continue to
use old libtool style without being nagged.
- Options --debug, --no-warn, --quiet and --verbose can be passed to
libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for
cleaner interaction between the user and libtoolize when called by
autoreconf.
* Bug fixes:
- The documentation for lt_dlopenadvise showed the wrong type for
the lt_dladvise parameter.
- The public declarations for lt_dlhandle and lt_dladvise are now
incomplete struct types rather than void*, which means that nearly
all casting is eliminated allowing the compiler to provide more
type checking.
- libtoolize no longer reports up-to-date files that it would have
copied, unless --force is passed.
- No longer reports that lt~obsolete.m4 needs to be added to aclocal.m4
when it is already there.
- When 'aclocal' copied the libtool macros directly into 'aclocal.m4'
(i.e. AC_CONFIG_MACRO_DIR is not being used), libtoolize no longer
reports that all macros need to be added to 'aclocal.m4', and
diagnoses only the macro files that are missing or not up-to-date.
- libtoolize now advises use of AC_CONFIG_MACRO_DIR to keep matching
libtool macros in-tree where appropriate.
- libtoolize now advises use of 'ACLOCAL_AMFLAGS = -I m4' (or
equivalent) where appropriate, and errors out when ACLOCAL_AMFLAGS
names a different directory to AC_CONFIG_MACRO_DIR.
New in 2.2.2: 2008-04-01: CVS version 2.2.1a, Libtool team:
* New features:
- In compile mode, compiler output occurs in the user locale. This
feature has been present in 1.5.26 but not in 2.2.
* Changes in supported systems or compilers:
- Initial shared library support for AmigaOS4 on powerpc.
* Bug fixes:
- Fix 2.2 regression in libltdl that causes memory corruption upon
repeated 'lt_dlinit(); lt_dlexit()'.
- Fix 2.2 regression in libltdl that skipped the dlopen loader if
the system also supports other loaders (e.g., Cygwin, HP-UX).
- Fix 2.2 regression in that 'libtool --mode=execute CMD ARGS' does not
transform ARGS that do not look like shell or C wrappers of libtool
programs.
- Fix 2.2 regression that kept cross-compiling to w32 from working.
- Several testsuite issues have been fixed, thanks to user feedback.
New in 2.2: 2008-03-01; CVS version 2.1c, Libtool team:
* Bug fixes:
- argz.c, lt__dirent.c and lt__strl.c are correctly distributed with
parent projects using nonrecursive libltdl.
- libtoolize no longer tries to install libtool files when libltdl is
used in a non-autoconf parent package.
- Don't add the CXX tag to libtool when there is no C++ compiler, even
if AC_PROG_CXX sets a default g++ compiler where no such compiler
actually exists.
- make distcheck DISTCHECK_CONFIGURE_FLAGS=--disable-ltdl-install
works again.
New in 2.1b: 2008-02-01; CVS version 2.1a, Libtool team:
* Important incompatible changes and obsoleted features:
- Removed deprecated APIs from libltdl: lt_dlcaller_register,
lt_dlhandle_next, lt_dlhandle_find, lt_dlforeach, lt_dlmutex_register,
lt_dlmutex_lock, lt_dlmutex_unlock, lt_dlmutex_seterror,
lt_dlmutex_geterror, lt_dlmalloc, lt_dlrealloc, lt_dlfree.
- The Libtool and libltdl macros and the testsuite now assume a C89
environment, consequently do not test for headers such as string.h,
strings.h, memory.h any more.
- Fix regression in libltdl symbol exports on Cygwin. Side effect:
LT_GLOBAL_DATA and LT_SCOPE are now explicitly defined as
declspec(dllexport), bypassing auto-export logic on Cygwin.
This tracks existing behavior on MinGW.
- The libtool script has been optimized a bit for more modern shells.
This breaks use of the stdin file descriptor in libtool, and can
break if a different shell is used to execute the libtool script
than the one it was configured for.
- The macros AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC, and
AC_DISABLE_STATIC have been un-deprecated after deprecation in
1.9b.
- The macro LT_WITH_LTDL has been renamed to LTDL_INIT.
- Fixed a branch-1-5/HEAD regression to only link uninstalled libraries
statically with '-static'. In order to compensate for this, there
is a new link flag '-static-libtool-libs' to provide the previous
'-static' semantics.
* New features:
- Fix installation of libltdl so that it does not need Autoconf and
Automake installed, in order to be usable in another package. This
lifts the restrictions introduced in 1.9b.
- Default convenience or installable libltdl builds can optionally
be declared using new 'convenience' or 'installable' options to the
LTDL_INIT macro (as an alternative to individual LTDL_CONVENIENCE
or LTDL_INSTALLABLE invocations).
- New configure-time options to allow libltdl parent project builder
to choose between installed and shipped libltdl, when invoking
LTDL_INIT: --with-included-ltdl, --with-ltdl-include,
--with-ltdl-lib.
- New LT_CONFIG_LTDL_DIR macro to specify a different directory name
for a convenience libltdl.
- libtoolize has been completely overhauled.
- 'libtoolize --install' now also installs 'install-sh'.
- New libtoolize options: --non-recursive, --recursive, --subproject.
These options control the way libltdl is installed into a package by
libtoolize. The new recursive and non-recursive build modes for
libltdl don't require a subconfigure any more.
The Libtool package itself builds libltdl nonrecursively.
- The 'nonrecursive', 'recursive' and 'subproject' libltdl build
modes are given as LTDL_INIT options.
- New make variable LTDLDEPS for use in output_DEPENDENCIES.
- New multi-module-loader safe libltdl handle iteration APIs:
lt_dlhandle_iterate, lt_dlhandle_fetch, lt_dlhandle_map.
- New lt_dlinterface_register to maintain separation of concerns
between modules loaded by different libraries.
- New lt_dlopenadvise takes a new lt_dladvise type argument, which
lets the caller request local or global symbol visibility from the
module loader with lt_dladvise_local and lt_dladvise_global
respectively. If neither is given, or if lt_dlopen (or lt_dlopenext)
are called, then the system default module symbol visibility is used.
- The new lt_dladvise_init/lt_dladvise_destroy based APIs also allow
caller requests for a filename extension search with lt_dladvise_ext,
and for marking a module unloadable with lt_dladvise_resident.
- Allow shell special characters like '$' in source file names, but
not in object names, to enhance GCJ support.
- An entire new Autotest-based testsuite in addition to the old one.
Both testsuites have been made more useful for testing
cross-compilers. The new testsuite exposes many more issues, but
may also be a little rocky on exotic systems.
- In 1.9b, a new variable inherited_linker_flags has been added to the
libtool library files. This variable takes flags that should be
used by dependent libraries and programs, but that do not fit into
'dependency_libs' for both clarity and backward-compatibility.
* Changes in supported systems or compilers:
- Removed bitrotted support for xlc on Mac OS X.
- Detection of compiler wrappers distcc/ccache and $host_alias prefix.
- Basic support for PIE (position-independent executables).
- Support for DragonFly BSD, improved support for FreeBSD.
- Improved support for GNU/kFreeBSD and GNU/NetBSD.
- Support for Interix 3 (Windows SFU) and newer versions.
- Support for AIX 6.1.
- Improved support for UnixWare.
- Initial support for RDOS.
- Initial Support for FC (modern Fortran).
- Support for Portland Group compiler, the Sun compiler suite on GNU/Linux,
and initial support for the IBM compiler suite on GNU/Linux/ppc.
- Support for linux-dietlibc ('diet' as well as 'diet-dyn', separately).
- Building libltdl with a C++ compiler has been undusted.
- On (AIX?,) HP-UX, and OpenBSD, hardcoding has been changed to prefer
rpath over absolute dependent library names. This fixes DESTDIR
installs, among others, on the non-HP-UX/PA systems.
- Use of C++ templates together with shared libraries has been
improved on some systems and with some compilers, but is still
ongoing work. Feedback is desirable here.
* Bug fixes:
- Fix libltdl on static platforms.
- Search paths with GCC on multilib systems like x86_64 have been fixed.
- Fixed a regression that prevented use of libltdl without autotools.
- Fix error with -version-info on systems with version_type=none, such
as BeOS.
- Fix symbol exporting for cases where command line length limits are
exceeded.
- Improve linking with C++ libraries on Solaris with Sun compiler.
- Fix installation of libraries that are required by installation
commands such as 'ln' or 'rm'.
- More robust parsing of mangled '.la' files inside libltdl, fixing a
possible overrun and a crash due to memory exhaustion.
- Fix compile command line for gcj on MinGW.
- Some configure variables have been renamed to fix caching:
lt_prog_compiler_pic_works to lt_cv_prog_compiler_pic_works
lt_prog_compiler_static_works to lt_cv_prog_compiler_static_works.
- Fix 1.9b regression: lt_dlopen(NULL) works on AIX again.
- Loads of smaller bug fixes.
New in 1.9f: 2004-10-23; CVS version 1.9e, Libtool team:
* Fix a regression in 1.9d, where ECHO was always set to 'echo' and the
backslash quoting tests were never run.
* Fix a regression in 1.9d, where progpath was used for --no-reexec before it
was set.
* Fix a regression in 1.9d, which required an installed automake to build the
bootstrapped tarball.
* Fix hanging bug on MinGW.
New in 1.9d: 2004-10-03; CVS version 1.9c, Libtool team:
* If non-pic objects were not compiled, and libtool is called in link mode,
libtool no longer silently creates an empty archive, but rather falls
back to pic objects.
* When compiling C glue code with $LTCC, libtool now saves the setting of
$compiler_flags from the C tag, and passes those flags to $LTCC.
* libtool no longer dies when concurrently creating directories with
'make -j' on multi-processor hosts.
* Return type, and name parameter of lt_dlloader_remove are no longer
'const'.
* Name parameter of lt_dlloader_find is no longer 'const'.
* The API for the slist ADT has been updated: slist_new has been replaced
by slist_box; slist_unbox and slist_sort are new; the footprint of
slist_remove and slist_fnid have changed; SListCallback and SListCompare
types have been exchanged. See libltdl/slist.c for documentation.
* libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist
structure changed to avoid using C99 flexible arrays.
* Support self dlopening for executables on cygwin and mingw.
* Improved support for linux-gnu/ia64.
* Initial support for s390x-ibm-tpf.
* Fixed some memory leaks in libltdl.
* Improved support for OpenBSD (use rpath instead of hardcoding absolute
file names).
New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team:
* The /^_?LT_[A-Z_]+$/ namespace is now reserved for Libtool's own macros.
If you have any shell variables in this namespace they will need to be
renamed. If you have any macros in this namespace please rename them to
prevent any possible future clash with libtool supplied macros.
* New LT_PREREQ macro for specifying minimum libtool requirement.
* New LT_INIT interface replaces AC_PROG_LIBTOOL, AC_ENABLE_SHARED,
AC_DISABLE_SHARED, AC_ENABLE_STATIC, AC_DISABLE_STATIC,
AC_ENABLE_FAST_INSTALL, AC_DISABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN,
AC_LIBTOOL_WIN32_DLL and AC_LIBTOOL_PIC_MODE. Use autoupdate to modernise
your configure.ac files after installing this release.
* New LT_LANG interface to enable libtool support for a specific language.
* Language support is now only included if your configure.ac enables it,
either through a call to AC_PROG_CXX etc. or LT_LANG.
* The libtool script will complain if it was built from mismatched ltmain.sh
and libtool m4 macro versions.
* Like automake, libtoolize no longer installs config.guess and config.sub by
default. Use new --install option to get the old behaviour.
* libtoolize no longer supports the --ltdl-tar option.
* libtool script is now created by config.status. Instead of interrogating
'./libtool' from configure.ac after calling AC_PROG_LIBTOOL, use the
variable names directly.
* libltdl is no longer a self-contained package, and shares configury with
the top level directory now.
* Shared objects (.lo) are no longer created when '-static' is passed in
compile mode.
* New compile mode option '-shared' prevents creation of static objects (.o).
* New link mode option '-shared' creates only shared libraries at link time.
* If you configure libtool with --disable-shared (or if libtool does not
support shared libraries on your platform) trying to build a library using
'-shared' is a fatal error.
* New link mode option '-weak' tells libtool when not to propagate dependency
libraries from dlpreopened modules.
* libtoolize installs libtool.m4, (ltdl.m4 if used,) and various supporting
m4 definitions to AC_CONFIG_MACRO_DIR.
* Mode inference removed, shorthand for choosing modes added.
* Specifying -allow-undefined is now an error.
* Speed up max_cmd_len check.
* libltdl can now preopen modules from within a library, and libtool will
accept -dlpreopen options when linking either a shared library or a
convenience library.
* New function in libltdl: lt_dlhandle_find provides access to module handles
by module name.
* New function in libltdl: lt_dlpreload_open opens all preloaded modules.
* libltdl no longer loads shared libraries with global symbol resolution,
this caused problems when the symbols were intended to be overridden further
up the stack; it is also not recommended practice.
* New function in libltdl: lt_dlhandle_first, primes handle iterations (using
lt_dlhandle_next) to filter by module interface.
* libltdl no longer tries to support multi-threaded programming with
lt_dlmutex_register(), which was unusable with POSIX threads anyway.
The symbols are deprecated but exported for backwards compatibility.
* libltdl no longer uses lt_dlmalloc, lt_dlrealloc and lt_dlfree. The symbols
are still exported for backwards compatibility.
* The lt_dlinfo struct has a new module field that can be used by dlloaders.
* libltdl no longer supports pre-c89 compilers. Some of the pre89 portability
functions had compile time bugs in them anyway, so you guys can't have been
using it :-)
* make install now deletes preexisting $prefix/share/libtool before installing
latest files.
* Extracting symbols from an import library on cygwin and win32 now works.
* Initial support for amigaos-ppc.
* Improved support for OpenBSD.
* Support for Intel C++ version 8.0.
* New support for IBM's xlc and xlc++ on Mac OS X.
* Finished support for QNX RTOS.
* Bug fixes.
New in 1.5.8: 2004-08-07; CVS version 1.5.7a, Libtool team:
* Support for Intel C++ version 8.0.
* Improved support for OpenBSD.
* Support for xlc on Mac OS X.
* Better support for zsh as /bin/sh.
* Much faster check for command line length on all BSD systems.
* Better Mac OS X/darwin support.
* Bug Fixes.
New in 1.5.6: 2004-04-11; CVS version 1.5.5a, Libtool team:
* Installs libltdl files properly in $prefix/share/libtool/libltdl. 1.5.4
did not install them at all.
* libltdl correctly guesses the extension for loadable modules again.
New in 1.5.4: 2004-04-03; CVS version 1.5.3a, Libtool team:
* Bug fixes.
New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team:
* lt_dlrealloc is an official part of the libltdl API.
* --tag, --silent and --debug options are preserved and reused when libtool
calls itself for relinking etc.
* '-pthread' and similar options are honoured when linking shared libraries.
* -no-suppress in compile mode shows compiler output for both PIC and non-PIC
object compilation.
* New link mode option '-precious-files-regex' to prevent accidental removal
of files you want to keep, such as test coverage data, from the temporary
output directory.
* Directories specified in /etc/ld.so.conf are no longer hardcoded on GNU/Linux.
* Recognises the 'R' symbol type on Solaris so read-only symbols can be
exported.
* Bug fixes.