1 2010-12-20 Ian Lance Taylor <iant@google.com>
3 * libltdl/m4/libtool.m4 (LT_LANG): Add Go.
5 (_LT_SYS_HIDDEN_LIBDEPS): Add Go case.
6 (_LT_LANG_GO_CONFIG): Define.
8 (AC_PROG_GO): Define if not defined.
9 * libltdl/config/ltmain.m4sh: Match *.go.
10 * doc/libtool.texi (LT_INIT): Mention Go.
12 * configure.ac: Enable Go.
15 2010-12-20 Brice De Bruyne <bricedb@gmail.com> (tiny change)
17 Also turn off -fuse-linker-plugin for postdep_objects computation.
18 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Add
19 -fno-use-linker-plugin to temporary compile flags if necessary,
20 to fix C++ postdep_objects setting with -flto
22 * NEWS, THANKS: Update.
24 2010-12-20 KO Myung-Hun <komh@chollian.net> (tiny change)
26 Set command line length limit for OS/2.
27 * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN) [os2]
28 <lt_cv_sys_max_cmd_len>: Set to 8192 to avoid long test.
30 2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
32 Fix PIC flags with mpif77 using ifort on GNU/Linux.
33 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]:
34 Match Intel compiler also using $CC -V output, to avoid false
35 negatives with compiler drivers like mpif77.
36 Report by Christian Rössel.
38 2010-12-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
40 Fix PIC flags with MPI wrappers using Portland on GNU/Linux.
41 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux]:
42 Match Portland compilers also using $CC -V output, to avoid
43 false negatives with MPI compiler drivers.
44 Report by Christian Rössel.
46 * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for
49 2010-12-15 KO Myung-Hun <komh@chollian.net> (tiny change)
50 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
52 Fix PATH_SEPARATOR handling for OS/2.
53 * Makefile.am (update_mans): Quote $(PATH_SEPARATOR).
54 * libltdl/m4/libtool.m4 (_LT_SETUP): Add _LT_DECL for
56 * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing
60 2010-12-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62 Fix nvcc PIC setting on darwin.
63 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC)
64 <lt_prog_compiler_pic>: Prepend -Xcompiler to nonempty variable
65 setting rather than hard-coding -Xcompiler -fPIC, for darwin.
66 * NEWS, THANKS: Update.
67 Report by Paweł Daniluk.
69 Honor $AUTOCONF, $AUTOMAKE in --help output.
70 * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and
71 $AUTOMAKE if set, for --version outout.
73 docs: Libtool configuration diagram.
74 * doc/libtool.texi (Integrating libtool): Add diagrams
75 explaining the dependencies between Libtool files.
76 Suggestion by Ethan Mallove.
78 2010-11-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
80 Eliminate hardcode_libdir_flag_spec_ld tag variable.
81 * libltdl/config/ltmain.m4sh (func_mode_link): Set $wl to empty
82 if $LD is used for creating shared libraries. Do not use
83 hardcode_libdir_flag_spec_ld any more.
84 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
85 (_LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG, _LT_SYS_DYNAMIC_LINKER)
86 <hardcode_libdir_flag_spec_ld>: Remove all instances of the tag
88 (_LT_LINKER_SHLIBS) [linux, xlf] <hardcode_libdir_flag_spec>:
89 Set variable, including ${wl}. Fixes hardcoding in programs
90 created by XL Fortran on GNU/Linux.
91 * NEWS, THANKS: Update.
92 Report by Paul H. Hargrove.
94 Rebuild menus in the manual.
95 * doc/automake.texi: Rebuild menus (using ^C ^U ^A in emacs).
96 Thanks to Ian Lance Taylor for the suggestion.
98 2010-11-07 Ollie Wild <aaw@google.com>
100 Modify --with-pic to support per-package configurations.
101 * libltdl/m4/libtool.m4: Modify --with-pic to accept a list of
102 package names. Modelled off --enable-shared.
103 * tests/with-pic.at: New test.
104 * Makefile.am (TESTSUITE_AT): Add tests/with-pic.at.
105 * doc/libtool.texi (LT_INIT): Enhance documentation of
106 --with-pic configure flag.
107 * NEWS (New features): Mention that --with-pic now accepts a
108 comma-separated list of package names.
110 2010-11-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
112 Fix cwrapper test failure with --disable-static.
113 * tests/cwrapper.at (cwrapper and installed shared libraries):
114 Compile program source without libtool, so we can be sure a
115 non-PIC object will be created.
117 2010-11-01 Peter Rosin <peda@lysator.liu.se>
119 docs: Windows DLLs and headers.
120 * doc/libtool.texi (Platform quirks): Add new subsection
123 * doc/libtool.texi (Platform quirks): Fix typo.
125 2010-10-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
127 docs: mention shell requirement for libtool script.
128 * doc/libtool.texi (Invoking libtool): Document that the shell
129 used to invoke libtool needs to be the same used to configure
132 Report by Markus Duft.
134 2010-10-15 Gary V. Vaughan <gary@gnu.org>
136 libtool: remove redundant unsubstituted shell var defaults.
137 * Makefile.am (libltdl/config/ltmain.sh): Boilerplate code from
138 libltdl/config/general.m4 sets some default shell variables
139 designed to be substituted by `$(configure_edit)'. Actually,
140 `libtool' uses the language tag values for those variables, and
141 `ltmain.m4sh' is not passed through `$(configure_edit)', so they
142 are just noise. Edit them out at bootstrap time.
144 2010-10-15 Gary V. Vaughan <gary@gnu.org>
146 maint: don't leak developer GREP, SED etc into distribution file.
147 * Makefile.am: Having rearranged the file, now apply the actual
148 changes to follow-up.
149 (edit): Split into two parts...
150 (bootstrap_edit): ...substitutions that should happen at bootstrap
152 (configure_edit): ...and substitutions that should not happen until
154 * Makefile.am (libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh)
155 (libtoolize.in, tests/package.m4): Use bootstrap_edit.
156 (libtoolize, tests/defs): Use configure_edit.
157 * HACKING (Release Procedure): Remove the note to workaround the
158 bug fixed by this changeset.
159 * NEWS (Bug fixes): Mention that this bug is now fixed.
160 Reported by Joerg Sonnenberger.
162 maint: rearrange Makefile.am in preparation for a follow-up patch.
163 * Makefile.am (Libtool scripts.): Move this section below the
164 `Bootstrap.' section...
165 (libtoolize.in): ...except this one which is generated at
166 bootstrap time, and was added into the `Bootstrap.' section.
167 (Libltdl.): Move this section below the `Libtool scripts.'
170 2010-10-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
172 Fix linking from only convenience archives with gfortran on Darwin.
173 * libltdl/m4/libtool.m4 (_LT_DARWIN_LINKER_FEATURES): Update
174 macro comment header.
175 [darwin, F77, FC] <compiler_needs_object>: Set to yes if
176 whole_archive_flag_spec is nonempty. Fixes convenience.at test
177 suite failures with gfortran 4.2 on Darwin.
179 Report by Paul Laight.
181 Fix bindir check logic, and relax non-bindir case for AIX.
182 * tests/bindir.at (bindir install tests): Rewrite checks for
183 place of the installed shared library in two separate tests,
184 depending on whether -bindir is supposed to have an effect or
185 not. In the positive case, make the test stricter so that we
186 reject libraries in $libdir. In the negative case, do not
187 require a major version number in the $libdir file name, for AIX
188 without runtimelinking. If tmpdir creation fails, skip the
189 test. Use fewer bindir directory names for testing, to speed
190 up the test. Also mention MSVC style DLL name in comment.
191 Report by Peter Rosin.
193 tests: remove unneeded 'bindir compile check' test.
194 * tests/bindir.at (bindir compile check): Remove.
196 2010-10-14 Peter Rosin <peda@lysator.liu.se>
198 tests: fix $EXEEXT typo.
199 * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT
202 2010-10-12 Simon Josefsson <simon@josefsson.org>
203 Matěj Týč <matej.tyc@gmail.com>
204 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
206 docs: improve description of -no-undefined.
207 * doc/libtool.texi (Link mode): Fix -no-undefined description.
208 (Inter-library dependencies): Use Windows not AIX as example
209 system. Clarify need for symbol resolution at library creation
212 2010-10-09 Paolo Bonzini <bonzini@gnu.org>
214 Add missing sysroot resolution.
215 * libltdl/config/ltmain.m4sh (func_mode_link): Resolve sysroot
216 when fetching the install directory of dependent libraries.
217 Reported by Lionel Landwerlin <llandwerlin@gmail.com>,
218 patch by Khem Raj <raj.khem@gmail.com>.
219 * THANKS: Reorder entries, add Khem and Lionel.
221 2010-10-07 Roumen Petrov <bugtrack@roumenpetrov.info>
223 Add test case for 69e77671 (cwrapper PATH manipulation order)
224 * tests/cwrapper.at: Add new test 'cwrapper and installed shared
227 2010-10-04 Peter Rosin <peda@lysator.liu.se>
229 cwrapper: split long lines when dumping the wrapper script.
230 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): If
231 the wrapper script contains long lines, split them for
232 readability and to conform with C standards.
233 * tests/cwrapper.at (cwrapper string length): New test, making
234 sure we don't regress.
236 msvc: handle symbols from different files independently.
237 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
238 <dumpbin, lt_cv_sys_global_symbol_pipe>: Make all sections
239 viable for symbol extraction again when the symbols from a new
240 file starts. Fixes tests/tagdemo-make.test for MSVC 10.
241 * tests/dumpbin-symbols.at: New test, making sure we don't
243 * Makefile.am (TESTSUITE_AT): Update.
245 2010-09-27 Peter Rosin <peda@lysator.liu.se>
247 tests: check if sys_lib_search_path_spec works on MSVC.
248 * tests/search-path.at (sys_lib_search_path on w32): New test,
249 making sure v2.2.10-207-g09142ea doesn't regress.
251 Skip need_lib_prefix.at on systems without lib prefix on libraries.
252 * tests/need_lib_prefix.at [MSVC, OS/2]: Skip this test on
253 systems that do not have libraries prefixed with lib.
255 tests: clean up importing and exporting on w32.
256 Makes the touched tests pass for MSVC when DLLs are built.
257 * tests/demo/Makefile.am, tests/pdemo/Makefile.am: Define
258 BUILDING_LIBHELLO when building libhello.la.
259 * tests/demo/foo.h, tests/pdemo/foo.h (nothing) <MSVC>: Export
260 variable when building the libhello dll and import when using
261 libhello. For GCC and non-w32, and when building a static
262 libhello, leave as an ordinary extern.
263 * tests/pdemo/foo.h [Cygwin]: Remove unneeded and "dead" export
264 and import logic (LIBFOO_DLL is always undefined).
265 * tests/pdemo/longer_file_name_foo.c,
266 tests/pdemo/longer_file_name_foo2.c (_LIBFOO_COMPILATION_): Not
267 useful before, even less so now. Removed.
268 * tests/depdemo/l1/Makefile.am: Define BUILDING_LIBL1 when
270 * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when
272 * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when
274 * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when
276 * tests/depdemo/l1/l1.h, tests/depdemo/l2/l2.h,
277 tests/depdemo/l3/l3.h, tests/depdemo/l4/l4.h <MSVC>: Export
278 variables when building the associated library dll and import
279 when using the library. For GCC and non-w32, and when building
280 static libraries, leave as an ordinary extern.
282 2010-09-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
284 docs: do not refer to Libtool version with dlopen functionality.
285 * doc/libtool.texi (Dlopened modules): Remove broken reference
286 to what should have been Libtool 0.9g.
287 Report by Roumen Petrov.
289 2010-09-23 Peter Rosin <peda@lysator.liu.se>
291 msvc: don't try to export import descriptors.
292 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]
293 [pw32, cegcc] <cl*, exclude_expsyms>: Don't export symbols in
294 import libraries related to describing what dll(s) the import
295 library is importing. Fixes problem in tests/demo-make.test
296 and some other tests.
298 2010-09-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
300 Fix regression in command-line length computation.
301 * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Use `env echo' rather
302 than possibly-undefined func_fallback_echo, to ensure we fork
303 and exec for this test.
305 Regression introduced in v2.2.6-39-g9c3d4d8.
307 2010-09-22 Gary V. Vaughan <gary@gnu.org>
309 Post-release administrivia.
310 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
312 * NEWS: Add header line for next release.
315 * libltdl/Makefile.inc (LTDL_VERSION_INFO): We've added the
316 static libprefix interface, so new version-info is C+1:0:R+1.
317 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
319 * NEWS: Update version number.
321 manual: web-manual index.html clashes with @node Index.
322 * doc/libtool.texi (Index): Renamed to `Combined Index'.
324 tests: ISO C++ forbids declaration of 'v1' with no type.
325 * tests/lt_dlexit.at (lt_dlexit unloading libs): Added an
326 explicit int type to declaration of 'v1' to prevent compilation
329 2010-09-22 Peter Rosin <peda@lysator.liu.se>
331 tests: reloadable objects do not work on MSVC, SKIP test.
332 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
333 [cygwin, mingw, pw32, cegcc] <cl*, reload_cmds>: Indicate that
334 reloadable objects do not work.
335 * tests/duplicate_conv.at: Skip last test if reloadable
337 * doc/libtool.texi (libtool script contents) <reload_cmds>:
338 Document how to indicate that reloadable objects do not work.
340 2010-09-21 Peter Rosin <peda@lysator.liu.se>
342 msvc: eliminate spaces in the library search path.
343 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
344 <cl*, sys_lib_search_path_spec>: The LIB path variable telling
345 where MSVC looks for libraries is likely to contain directory
346 names with spaces. Convert those directory names to the short
347 8.3 DOS form (i.e. without spaces) when storing them in
348 sys_lib_search_path_spec, as that is a space separated variable.
350 2010-09-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
352 Revert to per-language libpath computation on AIX.
353 * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Accept
354 tagname argument. Use global cache variable lt_cv_aix_libpath
355 to override per-language tag variables for the libpath value.
356 Fix the sed script to remove trailing space.
357 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Pass tag argument to
358 _LT_SYS_MODULE_PATH_AIX.
359 Tracked down and reported by Rainer Tammer.
361 2010-09-21 Gary V. Vaughan <gary@gnu.org>
363 maint: edit-readme-alpha shouldn't try to re-edit during dist.
364 * libltdl/config/edit-readme-alpha: If README is non-writable
365 assume that it is being run from distcheck, and skip the edit
366 with a warning (to help diagnose cases where the heuristic is
367 not correct). However, if README has already been edited to
368 the alpha text, quietly skip without an error message.
370 2010-09-20 Eric Blake <eblake@redhat.com>
372 maint: drop autobuild requirement
375 build: ship autobuild.m4, to reduce bootstrap requirement
376 * libltdl/m4/.gitignore: Drop autobuild.m4.
377 * libltdl/m4/autobuild.m4: New file, copied from autobuild.
378 * configure.ac (AB_INIT): Unconditionally call it.
380 2010-09-20 Peter Rosin <peda@lysator.liu.se>
381 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
383 libltdl: Make sure preloaded symbols are declared extern "C".
384 * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Move the
385 declaration of lt__PROGRAM__LTX_preloaded_symbols to global
386 scope and make sure it has "C" linkage. Makes exceptions.at
389 2010-09-20 Peter Rosin <peda@lysator.liu.se>
391 tests: __declspec (dll{ex,im}port) in tests/exceptions.at
392 * tests/exceptions.at (common.h, module.h, lib.h) [w32]: Use
393 __declspec (dllimport) and __declspec (dllexport) instead of
394 the less portable __attribute__ ((dllimport)) and
395 __attribute__ ((dllexport)). Makes the test compile on MSVC.
397 2010-09-19 Peter Rosin <peda@lysator.liu.se>
399 tests: Import items from liba1 for MSVC.
400 * tests/lt_dlexit.at (b1.c) [MSVC]: Import function f1 and
401 variable v1 from liba1 when using them from modb1. Makes the
404 2010-09-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
406 tests: avoid distcheck failure with --disable-ltdl-install.
407 * tests/ltdl-libdir.at (libdir of installed modules): Skip if
408 $LIBLTDL does not exist.
410 2010-09-18 Gary V. Vaughan <gary@gnu.org>
412 maint: use sed instead of maintaining 2 README files.
413 * README.alpha: Deleted. It was mostly identical to README.
414 * libltdl/config/edit-readme-alpha: New script to edit the
415 contents of README in the dist tree prior to tarring up.
416 * Makefile.am (dist-hook): Run it before rolling alpha release
419 maint: improve README's `Obtaining the Latest Sources'.
420 * README (Obtaining the Latest Sources): Add instructions for
421 obtaining stable, alpha and nightly snapshot tarballs.
422 * README.alpha (Obtaining the Latest Sources): Adjust to match.
424 maint: reformat README `The Test Suites' for consistency.
425 * README (The Test Suites): Reformatted for consistency.
426 * README.alpha (The Test Suites): Adjust to match.
428 maint: improve `Reporting Bugs' in README and README.alpha.
429 * README (Reporting Bugs): Rewritten to a more complete and
430 concise guide to providing a good bug report.
431 * README.alpha (Reporting Bugs): Adjust to match.
433 maint: consolidate Introductions of README and README.alpha.
434 * README (Introduction): Rewritten to a more logical order for
435 first time users, incorporating some additional text that was
436 previously only in README.alpha.
437 * README.alpha (Introduction): Adjust to match.
439 maint: copy the Version Numbering section into README.alpha.
440 * README.alpha (Version Numbering): No less useful for users
441 of alpha releases. Copied from README.
443 2010-09-17 Peter Rosin <peda@lysator.liu.se>
445 tests: actually detect missing 'test' in 'if "$foo" = ...'.
446 * tests/sh.test: Remove extra backslash in regex.
448 Copy over DLL_EXPORT handling from C to C++ for non-GCC on w32.
449 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [mingw, cygwin, os2]
450 [pw32, cegcc]: Copy over the DLL_EXPORT handling from C to C++.
452 2010-09-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
454 LTO: consistently accept -fwhopr* and -flto* for GCC.
455 * libltdl/config/ltmain.m4sh (func_mode_link): Accept -fwhopr*.
456 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Also match
459 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm>
461 Fix order of PATH manipulation in cwrapper and shwrapper
462 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main): Call
463 lt_update_exe_path before lt_update_lib_path, to ensure that the
464 temporary rpath values (which include the OBJDIRs of uninstalled
465 libtool libraries) precede installation and final -rpath directories.
466 (func_emit_wrapper): Prepend $dllsearchpath to PATH before prepending
467 $temp_rpath to $shlibpath_var; similar rationale as above.
468 Reported by Jon Turney <jon.turney@dronecode.org.uk>
470 2010-09-17 Charles Wilson <libtool@cwilson.fastmail.fm>
472 Document libtool variable to_host_file_cmd.
473 * doc/libtool.texi (libtool script contents:to_host_file_cmd):
475 (libtool script contents:to_tool_file_cmd): Prefer `build platform'
476 to `build system'; Ditto `host platform'.
478 2010-09-16 Charles Wilson <libtool@cwilson.fastmail.fm>
480 Fix sh.test failure introduced in 72064249
481 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor
484 2010-09-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
486 tests: avoid localization failure due to unstable compiler messages.
487 * tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT):
488 Attempt to normalize temporary file names in error messages.
489 Fixes 'localized compiler messages' test failure on Darwin when
490 creating fat (multi-ABI) libraries.
492 2010-09-13 Peter Rosin <peda@lysator.liu.se>
494 Prefer $NM @file when the toolchain isn't native to $build.
495 * libltdl/config/ltmain.m4sh (func_mode_link): Avoid calculating
496 the command line length and take the @file branch *if* the file
497 names needs to be converted for the toolchain and the @file
498 branch works. Fixes problems in stresstest.at when doing a cross
499 from Cygwin to MinGW using MinGW native tools (a.k.a. a "faked"
500 cross), and for the specific case of MSVC on Cygwin it makes the
503 2010-09-15 Gary V. Vaughan <gary@gnu.org>
505 maint: improve README instructions for fetching latest version.
506 * README, README-alpha (Obtaining the Latest Sources): New
507 section, describing use of savannah repositories and bootstrap.
508 * README.alpha (Reporting Bugs): Remove git instructions in
509 favour of a reference to the new `Obtaining the Latest Sources'
512 2010-09-14 Eric Blake <eblake@redhat.com>
514 maint: ship .xz, not .lzma
515 * configure.ac (AM_INIT_AUTOMAKE): Prefer better file format.
516 * Makefile.maint (git-release, git-dist, prev-tarball)
517 (new-tarball, diffs): Use correct extension.
518 * HACKING: Update instructions.
519 * .gitignore: Ignore .xz files.
521 2010-09-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
523 doc: avoid long lines in input and output, indexing fixes.
524 * doc/libtool.texi (Linking libraries)
525 (Module loaders for libltdl): Manually line-wrap examples, to
527 (Libltdl interface, User defined module data)
528 (Module loaders for libltdl): Wrap long @deftypefun input lines
529 using trailing '@'. Use @deftypefun rather than @deftp where
530 appropriate, and add spaces in @deftypefun lines to fix the
531 index entries generated from these lines.
532 (Cheap tricks): Use @smallexample rather than @example, to avoid
535 docs: @file and @option markup fixes.
536 * doc/libtool.texi (Creating object files, Linking libraries)
537 (Linking executables, Link mode, Finish mode, Autoconf macros)
538 (Using Automake, Inter-library dependencies, Dlpreopening)
539 (Linking with dlopened modules, Finding the dlname)
540 (Libltdl interface, Test descriptions, Multiple dependencies):
541 Add @option where needed, replace @samp with @file as
544 2010-09-12 Peter Rosin <peda@lysator.liu.se>
546 * .gitignore: Ignore *.obj files for MSVC (and w32 in general).
548 Adjust to moved auxiliary files and add compile.
549 * HACKING (Maintenance Notes): Adjust to moved files. Add the
551 * Makefile.maint (fetch): Also fetch the compile script.
553 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
555 tests: avoid empty AT_DATA contents, for zsh.
556 * tests/libtoolize.at (libtoolize macro serial update)
557 (libtoolize config files serial update, LIBTOOLIZE_OPTIONS):
558 Do not create empty files with AT_DATA, the latter is documented
559 to require a final newline. Fixes testsuite failures with zsh
562 2010-09-12 Charles Wilson <libtool@cwilson.fastmail.fm>
564 When assigning $linklib value, honor [-all]-static[-libtool-libs]
566 * libltdl/config/ltmain.m4sh (func_mode_link): When prefer_static_libs
567 and static library exists, ensure old_library name is used as $linklib.
568 Fixes failure on mingw when both static and shared libraries are
571 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
573 tests: work around zsh use of $options variable.
574 * tests/getopt-m4sh.at: Rename $options to $opts, the former is
575 special for zsh 4.3.10.
577 Fix AC_NO_EXECUTABLES test failure on IRIX 6.5.
578 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [irix]: Cache result
579 of link check for -Wl,-exported_symbol.
580 * tests/no-executables.at (AC_NO_EXECUTABLES): Set
581 lt_cv_irix_exported_symbol, to avoid link check.
583 2010-09-12 Jürgen Reuter <juergen.reuter@physik.uni-freiburg.de> (tiny change)
584 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
586 Initial support for the NAG Fortran compiler on GNU/Linux.
587 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <nagfor>:
588 New set of entries, for NAG Fortran 5.1 and 5.2.
591 2010-09-12 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
593 Fix getopt.m4sh to require Autoconf 2.62 or newer.
594 * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62,
597 2010-09-11 Charles Wilson <libtool@cwilson.fastmail.fm>
599 Correct typo: $sharedlib_from_linklib_cmd missing '_cmd'
601 * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious
602 typo, $sharedlib_from_linklib_cmd missing '_cmd'.
604 2010-09-10 Peter Rosin <peda@lysator.liu.se>
606 Convert file name to toolchain format when invoking $NM.
607 * libltdl/config/ltmain.m4sh (func_generate_dlsyms)
608 (func_win32_libid, func_cygming_gnu_implib_p)
609 (func_cygming_ms_implib_p): When using the name lister to find
610 symbols in files, convert the file names to a format appropriate
611 for the tool. Fixes testsuite issues in mdemo-static-make.test
612 and mdemo-make.test when doing a cross from Cygwin/Wine to MinGW
613 using MinGW native tools (a.k.a. a "faked" cross).
615 2010-09-09 Peter Rosin <peda@lysator.liu.se>
617 Fix dependency tracking for MSYS/MinGW.
618 * libltdl/config/ltmain.m4sh (func_to_tool_file): Add lazy
619 argument which allows the user to specify conversions that are
621 (func_mode_compile): Don't convert source files on MSYS, as
622 MSYS does it for us. This fixes a regression introduced by
623 "Use func_to_tool_file instead of fix_srcfile_path".
624 Reported by Charles Wilson.
626 2010-09-08 Peter Rosin <peda@lysator.liu.se>
628 Mention adjustment of naming of MSVC import libraries in NEWS.
629 * NEWS: Mention the change in import library naming on MSVC.
631 2010-09-07 Peter Rosin <peda@lysator.liu.se>
633 Adjust naming of MSVC import libraries.
634 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [mingw, cygwin]
635 [pw32, cegcc] <cl*, library_names_spec>: Adjust naming of the
636 import library from foo-<major-version>.lib to foo.dll.lib, to
637 avoid clashes with the static library for unversioned libraries.
638 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin, pw32]
639 [cegcc] <cl*, archive_expsym_cmds>: Explicitely name the import
640 library to match the above.
642 Fixup texi typo in previous.
643 * doc/libtool.texi (libtool script content) <postlink_cmds>:
644 Add missing 'code' command.
646 Convert POSIX file names to toolchain format for MSVC
647 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
648 [cygwin, mingw, pw32, cegcc] <cl*, postlink_cmds>: Make
649 sure the -outputresource: file name for the manifest tool is
651 <cl*, archive_expsym_cmds>: Likewise for the MSVC command file
652 containing the exports and the output file name.
653 * libltdl/config/ltmain.m4sh (func_mode_link): Precalculate the
654 toolchain format of the output_objdir file name and store it in
655 the tool_output_objdir variable. Also replace any occurrence of
656 @TOOL_OUTPUT@ in postlink_cmds with the toolchain version of the
658 * doc/libtool.texi (libtool script content): Update description
659 of postlink_cmds to mention @TOOL_OUTPUT@.
661 2010-09-06 Peter Rosin <peda@lysator.liu.se>
663 Use func_to_tool_file instead of fix_srcfile_path.
664 * libltdl/config/ltmain.m4sh (func_mode_compile): Replace the
665 fix_srcfile_path hook with a call to func_to_tool_file.
666 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin,mingw,pw32]
667 [cegcc]: Drop fix_srcfile_path.
668 * doc/libtool.texi (libtool script contents): Likewise.
669 * NEWS: Mention that fix_srcfile_path has been replaced.
671 Convert file names to toolchain format in $NM and $AR @files.
672 * libltdl/config/ltmain.m4sh (func_mode_link): When listing
673 symbols and when creating archives using command files (or
674 response files), make sure that both the name of the command
675 file and the content are made up of file names in a format
676 appropriate for the tool. Fixes stresstest.at on MSYS when
677 run with low command line length.
679 Convert file names to toolchain format when linking.
680 * libltdl/config/ltmain.m4sh (func_mode_link): When exporting
681 symbols and when linking using command files (or response
682 files), make sure that both the name of the command file and
683 the content are made up of file names in a format appropriate
684 for the tool. Fixes problems in stresstest.at on MSYS when run
685 with low command line length.
687 Add file name conversion from $build to toolchain.
688 * configure.ac: Ensure to_tool_file_cmd is available to Makefile.
689 * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): Add
690 cache variable lt_cv_to_tool_file_cmd that describes how to
691 convert file names from $build to toolchain format.
692 * libltdl/config/ltmain.m4sh (func_to_tool_file): New function
693 that utilizes the above.
694 * Makefile.am: Ensure to_tool_file_cmd is included in
695 TEST_ENVIRONMENT so that it is passed to (old testsuite) tests.
696 * testsuite.at: Ensure to_tool_file_cmd is passed as a variable
697 setting on the configure line for (new testsuite) tests.
698 * doc/libtool.texi (libtool script content): Update with
699 to_tool_file_cmd description.
700 (Cygwin to MinGW Cross): Update to mention lt_cv_to_tool_file_cmd.
702 2010-09-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
704 tests: avoid spurious test failure due to library mode on HP-UX.
705 * tests/help.at (debug tracing): Use $lt_INSTALL not cp for
706 install mode, the latter will not overwrite an existing library
709 2010-09-01 Charles Wilson <libtool@cwilson.fastmail.fm>
711 Path conversion documentation
712 * doc/libtool.texi (Platform quirks): Add new subsections
713 'Cross compiling' and 'File name conversion'.
715 2010-09-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
717 tests: avoid spurious pic_flag test failure on HP-UX 10.20.
718 * tests/pic_flag.at (override pic_flag at configure time):
719 Match HP-UX 10.20 cc warning about unknown options, to skip
722 tests: fix localization test for GCC on HP-UX 11.00.
723 * tests/localization.at (localized compiler messages): Be sure
724 to switch the locale only for the actual compiler commands, so
725 we don't pick up warnings from helper tools such as diff which
726 may not have the locale installed.
728 Avoid leaking make flags into testsuite results.
729 * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__
731 * tests/testsuite.at: Likewise.
732 Fixes warnings in test logs when the user uses 'make -jN check'
733 and inner $MAKE invocations can't connect to the job server.
734 Fixes spurious failures of configure-iface.at and of
735 demo-noinst-link tests with BSD and Tru64 make if the user uses
736 'make -k', as the exit status of the latter is not reliable.
738 2010-09-01 Gary V. Vaughan <gary@gnu.org>
740 Remove announce-gen.m4sh and mailnotify.m4sh.
741 * libltdl/config/announce-gen.m4sh: Removed. This script has
742 no apparent connection to libtool functionality, and mostly
743 duplicates the better maintained gnulib announce-gen script.
744 * libltdl/config/mailnotify.sh: Removed. This script was used
745 by only clcommit.m4sh and announce-gen.m4sh, both of which are
747 * Makefile.maint (announce-gen, libltdl/config/mailnotify):
749 * bootstrap: Remove the mailnotify regeneration warning.
750 * HACKING (Release Procedure): Remove references to
752 (Alpha release note template, Full release note template):
753 Reinstated from before announce-gen was introduced.
755 Remove clcommit.m4sh.
756 * clcommit.m4sh: Removed. This script was written to help keep
757 ChangeLog and commit messages in sync when committing to CVS,
758 and is an anachronism now that Libtool uses git.
759 * Makefile.maint (commit): Target removed.
760 * bootstrap: Don't generate commit.
761 * HACKING (Release Procedure): Adjusted.
763 2010-08-31 Peter Rosin <peda@lysator.liu.se>
765 archive-in-archive.at passes with Microsoft lib.
766 * tests/archive-in-archive.at: Tighten test to check that the desired
767 object files are indeed part of the archive. Microsoft lib still
768 passes, so remove the expected failure for that case.
770 Dump archiver output to the log when testing @file support.
771 * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout to config.log
772 when testing for @file support.
773 Suggested by Ralf Wildenhues.
775 Silence archiver output when testing @file support.
776 * libltdl/m4/libtool.m4 (_LT_PROG_AR): Redirect stdout and stderr
777 to the bit bucket when testing for @file support.
779 2010-08-31 Gary V. Vaughan <gary@gnu.org>
781 Remove double `Generated from foo.m4sh' lines.
782 We now require a modern Autoconf to bootstrap libtool, which
783 will add the `Generated by ...' boiler-plate automatically,
784 so we can remove the hand-rolled @configure_input@
785 substitutions we had been doing:
786 * clcommit.m4sh, libtoolize.m4sh, tests/defs.sh,
787 libltdl/config/announce-gen.m4sh, libltdl/config/ltmain.m4sh,
788 libltdl/config/mailnotify.m4sh: Remove @configure_input@.
789 * Makefile.am (edit): Remove configure_input substitution.
790 (libtoolize, libltdl/config/ltmain.sh, libltdl/m4/ltversion.m4)
791 (tests/defs): Don't set `$input' shell variable.
792 * Makefile.maint (announce_gen, libltdl/config/mailnotify)
795 2010-08-31 Peter Rosin <peda@lysator.liu.se>
797 Extract the archive name from the .la file and use $AR (not ar).
798 * Makefile.am: Pass AR through to the testsuite.
799 * tests/archive-in-archive.at: Bump copyright year. Extract archive
800 name from the .la file instead of hardcoding the name, and allow
801 different archivers. Also clarify that the tested functionality is
804 2010-08-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
806 tests: skip -Wall -Werror with Tru64 cc in cwrapper test.
807 * tests/cwrapper.at (cwrapper for uninstalled executables):
808 Use a link test rather than a compile test to flesh out unknown
809 compiler flags starting with -W; Tru64/OSF1 cc will happily
810 accept `-Wall -Werror' as indication to pass flags on to
813 tests: avoid getopt-m4sh failures when autom4te is not available.
814 * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP):
815 Check $M4SH --version, skip on failure.
817 tests: mark 'syntax of .la files' as XFAIL, expose failure.
818 * tests/lalib-syntax.at (syntax of .la files): Assert that the
819 string returned by lt_dlerror after a failure is non-NULL, so
820 the failure shows up on systems other than Solaris. Mark test
822 Suggested by Bob Friesenhahn.
824 2010-08-30 Eric Blake <eblake@redhat.com>
826 Simplify recent configure quoting portability workaround.
827 * configure.ac: Simplify setting of timestamp_string.
829 2010-08-30 Charles Wilson <libtool@cwilson.fastmail.fm>
831 Update path conversion warning messages
832 * libltdl/config/ltmain.m4sh (func_convert_file_check): Update
833 comments and warning message.
834 (func_convert_path_check): Update warning message.
836 2010-08-29 Peter Rosin <peda@lysator.liu.se>
838 Fix typo when renaming path conversion functions.
839 * tests/testsuite.at: Ensure to_host_file_cmd is passed as a
840 variable setting on the configure line for (new testsuite) tests.
842 2010-08-29 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
844 Support GCC LTO on GNU/Linux.
845 * libltdl/config/ltmain.m4sh (func_mode_link): Allow through
846 flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin.
847 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols
848 starting with __gnu_lto.
849 (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsyms_cmds>:
850 Add $pic_flag for GCC.
851 (_LT_LANG_CXX_CONFIG) [linux] <archive_cmds, archive_expsyms_cmds>:
853 (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o.
856 Disable GCC LTO for verbose library extraction.
857 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Temporarily
858 append -fno-lto or -fno-whopr to CFLAGS if CC or CFLAGS (which
859 are substituted with the per-language variables here) contain
860 -flto or match -fwhopr*, respectively.
862 Save and restore CFLAGS properly inside libtool.m4 macros.
863 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Use different
864 temporary variables for saved and restored values of $LIBS,
865 $CFLAGS, to avoid overlap with the *_CONFIG macros.
866 (_LT_LANG_CXX_CONFIG, _LT_LANG_F77_CONFIG, _LT_LANG_FC_CONFIG)
867 (_LT_LANG_GCJ_CONFIG, _LT_LANG_RC_CONFIG): Also save and restore
868 $CFLAGS, and override it with per-language flags, so that in
869 case output_verbose_link_cmd uses $CFLAGS, the right flags are
872 Work around yet another shell quoting portability issue.
873 * configure.ac: Avoid nonportable quoted alternate variable
874 value in unquoted here document, so Solaris 10 sh and Tru64
875 ksh do not print spurious extra quotes.
877 Silence order-only configure test for AIX make.
878 * configure.ac: Also drop standard output, for AIX 5.1 make.
880 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm>
882 Minor sysroot fixups.
883 * libltdl/m4/libtool.m4 (_LT_WITH_SYSROOT): Fix typo.
884 * tests/sysroot.at: Search also for crt0.o to accommodate cygwin.
886 2010-08-28 Charles Wilson <libtool@cwilson.fastmail.fm>
888 [cygwin|mingw|cross-compile]: Path conversion support.
889 * configure.ac: Ensure to_host_file_cmd is available to Makefile.
890 * TODO: Document QoI issue with file name conversion functions.
891 * libltdl/m4/libtool.m4 (_LT_PATH_CONVERSION_FUNCTIONS): New function
892 sets libtool variable $to_host_file_cmd, and employs cache.
893 (_LT_SETUP): Require it.
894 * tests/testsuite.at: Ensure to_host_file_cmd is passed as a
895 variable setting on the configure line for (new testsuite) tests.
896 * Makefile.am (TESTS_ENVIRONMENT): Ensure to_host_file_cmd is
897 included so that it is passed to (old testsuite) tests.
898 * libltdl/config/general.m4sh: Define $lt_sed_naive_backslashify here.
899 * libltdl/config/ltmain.m4sh ($to_host_file_cmd, $to_host_path_cmd):
901 (func_cygpath): New function.
902 (func_init_to_host_path_cmd): New function.
903 (func_to_host_path): Renamed to...
904 (func_to_host_file): Refactored to... (now uses $to_host_file_cmd).
905 (func_convert_core_file_wine_to_w32): Here. New function.
906 (func_convert_core_msys_to_w32): Here. New function.
907 (func_convert_file_check): Here. New function.
908 (func_convert_file_noop): Here. New function.
909 (func_convert_file_msys_to_w32): Here. New function.
910 (func_convert_file_cygwin_to_w32): Here. New function.
911 (func_convert_file_nix_to_w32): Here. New function.
912 (func_convert_file_msys_to_cygwin): New function.
913 (func_convert_file_nix_to_cygwin): New function.
914 (func_to_host_pathlist): Renamed to...
915 (func_to_host_path): Refactored to... (now uses $to_host_path_cmd
916 and func_init_to_host_path_cmd).
917 (func_convert_path_check): Here. New function.
918 (func_convert_path_front_back_pathsep): Here. New function.
919 (func_convert_core_path_wine_to_w32): Here. New function.
920 (func_convert_path_noop): Here. New function.
921 (func_convert_path_msys_to_w32): Here. New function.
922 (func_convert_path_cygwin_to_w32): Here. New function.
923 (func_convert_path_nix_to_w32): Here. New function.
924 (func_convert_path_msys_to_cygwin): New function.
925 (func_convert_path_nix_to_cygwin): New function.
927 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
929 Fix symlist variable path to use _WIN32 instead of __WINDOWS__.
930 * libltdl/config/ltmain.m4sh, libltdl/libltdl/lt_system.h,
931 libltdl/m4/libtool.m4, tests/demo/foo.h, tests/pdemo/foo.h:
932 Change __WINDOWS__ to _WIN32.
933 Report by Charles Wilson.
935 Add $pic_flag to archive_cmds and archive_expsym_cmds.
936 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
937 <archive_cmds, archive_expsym_cmds>
938 [GNU ld, netbsd]: Add $pic_flag if ELF.
939 [GNU ld, solaris]: Likewise.
940 [GNU ld, default case]: Likewise.
941 [!GNU ld, freebsd, dragonfly]: Add $pic_flag.
942 [!GNU ld, GCC, hpux9]: Add $pic_flag.
943 [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag
944 [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
945 [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag.
946 [!GNU ld, GCC, osf4, osf5]: Likewise.
947 [!GNU ld, GCC, solaris]: Likewise.
948 (_LT_LANG_CXX_CONFIG) <archive_cmds, archive_expsym_cmds>
949 [hpux9]: Add $pic_flag if $GXX.
950 [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
951 [irix5, irix6]: Add $pic_flag if $GXX.
952 [osf4, osf5]: Likewise.
953 [solaris]: Add $pic_flag if $GXX and not GCC 2.7.
955 Uniform const'ness of symlist variable lt_preloaded_symbols.
956 On some systems, lt_preloaded_symbols may not be declared
957 const due to relocation issues. C99 requires qualification to
958 match for compatible declarations, so ensure we declare
959 const'ness in the same way everywhere; link-time optimization
960 may otherwise rightfully complain about inconsistencies.
961 Since ltdl.h may not depend upon config.h, rely on system
962 defines for choosing const'ness.
964 * doc/libtool.texi (Dlpreopening): Document this issue.
965 * libltdl/config/ltmain.m4sh (func_generate_dlsyms):
966 [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST
967 according to system defines. Remove old shell cruft. Use
968 LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols.
969 * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise,
970 define LT_DLSYM_CONST according to system defines.
971 * tests/demo/foo.h (LT_DLSYM_CONST): Likewise.
972 * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise.
973 * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST.
974 * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist):
976 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise
977 for configure test code.
978 * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST.
979 * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise.
981 2010-08-28 Dave Korn <dave.korn.cygwin@googlemail.com>
983 Ensure cwrapper magic string is not optimized away.
984 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
985 Declare MAGIC_EXE as volatile.
986 Report by Charles Wilson.
988 2010-08-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
990 Fix quoting in non-XSI func_xform, for IRIX sh.
991 * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra
994 Fix response file test for unreliable exit status of IRIX ar.
995 * libltdl/m4/libtool.m4 (_LT_PROG_AR): IRIX ar will not fail
996 over a command-line argument specifying a nonexistent file (such
997 as `@FILE'), so ensure failure with a reponse file containing
998 a nonexistent file. Also, use lt_* variable prefix for
1001 Fix AC_LANG_PROGRAM warnings from git Autoconf.
1002 * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Fix
1003 underquoted AC_LANG_PROGRAM call.
1004 (LT_PROG_AR): Use AC_LANG_PROGRAM.
1005 (_LT_LINKER_SHLIBS) [irix, GCC]: Use the right source for the
1009 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1011 fix AIX testsuite regression
1012 * libltdl/config/ltmain.m4sh (func_resolve_sysroot): Partly
1013 revert v2.2.10-83-gc45a288: Do not absolutize path here, only do
1014 sysroot replacement.
1015 (func_mode_link): Adjust.
1017 2010-08-22 Charles Wilson <libtool@cwilson.fastmail.fm>
1020 * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else
1021 blocks of the "if $opt_dry_run" conditional.
1023 2010-08-15 Paolo Bonzini <bonzini@gnu.org>
1025 improve code for sysroot --mode=finish
1026 * libltdl/config/ltmain.m4sh (func_mode_finish): Change sysroot_regex
1027 and sysroot_cmd delimiter from pipe to slash. Wrap the entire for
1028 loop with "if $opt_dry_run...fi" and print an explanatory message
1029 for the --dry-run case.
1031 2010-08-12 Paolo Bonzini <bonzini@gnu.org>
1033 add libtool --mode=finish mode for sysroot
1034 * doc/libtool.texi (Finish mode): Document behavior when *.la files
1036 * libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot
1037 or `=' signs representing it from files in $libs.
1038 * tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot
1039 references before running libtool --mode=finish, and for absence
1042 reorganize parsing of --mode=finish arguments
1043 * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for
1044 directories and *.la files.
1046 fix sysroot handling for deplibs of preopened libtool libs
1047 * libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool
1048 through func_resolve_sysroot.
1050 fix sysroot tests to pass on Fedora 13
1051 * tests/sysroot.at: Link $prefix/include into the sysroot as well, as
1052 required by newer GCC.
1054 2010-07-29 Paolo Bonzini <bonzini@gnu.org>
1056 initial version of the NEWS entry
1057 * NEWS: Document sysroot support.
1060 * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at.
1061 * tests/sysroot.at: New.
1063 emit sysrooted paths when installing .la files
1064 * libltdl/config/ltmain.m4sh (func_replace_sysroot): New.
1065 (func_mode_link): Prepend paths in $libdir with the sysroot. Further,
1066 replace the sysroot with = (using func_replace_sysroot) whenever
1067 such a path is written in a .la file.
1069 process postdeps to include sysrooted paths
1070 * libltdl/m4/libtool.m4 (_LT_FUNC_STRIPNAME_CNF): New (from Charles Wilson).
1071 (_LT_SYS_HIDDEN_LIBDEPS): Require it. Use func_stripname_cnf to convert
1072 sysroot (-L= and -R=) usage in postdeps. Adjust the code because -L, -R
1073 and -l flags will now always be separated from the rest of the argument.
1075 handle sysrooted paths when reading dependencies to la files
1076 * libltdl/config/ltmain.m4sh (func_mode_execute, func_mode_install,
1077 func_mode_link): Whenever a .la file occurs in another .la file,
1078 expand the sysroot path in it.
1080 2010-07-28 Paolo Bonzini <bonzini@gnu.org>
1082 teach libtool -L= and -R=
1083 * libltdl/config/ltmain.m4sh (func_resolve_sysroot): New.
1084 (func_mode_link): Always pass result of stripping -L and -R to
1085 func_resolve_sysroot before using it. Remove absolute path expansion
1086 when func_resolve_sysroot subsumes it. Expand sysroot in -rpath.
1087 When processing dependent libraries also resolve sysroot paths there.
1090 * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New.
1091 (LT_SETUP): Require _LT_WITH_SYSROOT.
1093 handle sysroot flags
1094 * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot
1097 2010-08-27 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1099 * NEWS: Only bootstrapping needs new Automake and Autoconf.
1101 check-interactive and check-noninteractive for both testsuites.
1102 * Makefile.am (COMMON_TESTS, TESTS): Split into ...
1103 (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new
1105 (check-interactive-new): Rename from check-interactive.
1106 (check-noninteractive-new): Rename from check-noninteractive.
1107 (check-interactive-old, check-noninteractive-old): New targets.
1108 (check-interactive, check-noninteractive): Depend on the
1109 respective targets for the old and the new test suites.
1110 * doc/libtool.texi (Test descriptions): Simplify description
1111 about check-interactive and check-noninteractive. Add index
1114 Adjust docs for renaming and for parallel-tests.
1115 * README: Update example TESTS setting.
1116 * README.alpha: Likewise.
1117 * doc/libtool.texi (Test descriptions): Update for test renaming,
1118 adjust descriptions accordingly.
1120 Update VERBOSE handling for parallel-tests driver.
1121 * tests/defs.m4sh: Default to verbose output, drop now-unneeded
1122 handling of 'VERBOSE=no'.
1123 * README: Update example usage.
1124 * README.alpha: Likewise.
1125 * doc/libtool.texi (Test descriptions, When tests fail): Remove
1126 unneeded VERBOSE recommendations. Point to per-test log files
1127 and test-suite.log summary file.
1129 Enable parallel-tests test driver for the old testsuite.
1130 * configure.ac: New configure test to find out whether `make'
1131 supports order-only prerequisites; set @ORDER@ accordingly.
1132 (AM_INIT_AUTOMAKE): Enable parallel-tests option.
1133 * tests/defs.m4sh (prefix): Derive install prefix for tests
1134 from the test name, to avoid clashes.
1135 * Makefile.am (CXX_TESTS, F77_TESTS, FC_TESTS, COMMON_TESTS):
1136 Reformat. Adjust for renamed tests. Add dependencies between
1137 the respective log files of the tests, to ensure proper ordering.
1138 Use order-only dependencies if possible, between test groups that
1139 use the same directory.
1140 (clean-local-legacy): Remove `_inst-*' directories as well.
1141 Prompted by suggestion from Bob Friesenhahn.
1143 New alias scripts for old tests run more than once.
1144 * tests/cdemo-shared-exec.test, tests/cdemo-shared-make.test,
1145 tests/cdemo-static-exec.test, tests/cdemo-static-make.test,
1146 tests/cdemo-undef-exec.test, tests/cdemo-undef-make.test,
1147 tests/demo-nofast-exec.test, tests/demo-nofast-inst.test,
1148 tests/demo-nofast-make.test, tests/demo-nofast-unst.test,
1149 tests/demo-nopic-exec.test, tests/demo-nopic-make.test,
1150 tests/demo-pic-exec.test, tests/demo-pic-make.test,
1151 tests/demo-shared-exec.test, tests/demo-shared-inst.test,
1152 tests/demo-shared-make.test, tests/demo-shared-unst.test,
1153 tests/demo-static-exec.test, tests/demo-static-inst.test,
1154 tests/demo-static-make.test, tests/demo-static-unst.test,
1155 tests/depdemo-nofast-exec.test, tests/depdemo-nofast-inst.test,
1156 tests/depdemo-nofast-make.test, tests/depdemo-nofast-unst.test,
1157 tests/depdemo-shared-exec.test, tests/depdemo-shared-inst.test,
1158 tests/depdemo-shared-make.test, tests/depdemo-shared-unst.test,
1159 tests/depdemo-static-exec.test, tests/depdemo-static-inst.test,
1160 tests/depdemo-static-make.test, tests/depdemo-static-unst.test,
1161 tests/f77demo-shared-exec.test, tests/f77demo-shared-make.test,
1162 tests/f77demo-static-exec.test, tests/f77demo-static-make.test,
1163 tests/fcdemo-shared-exec.test, tests/fcdemo-shared-make.test,
1164 tests/fcdemo-static-exec.test, tests/fcdemo-static-make.test,
1165 tests/mdemo-shared-exec.test, tests/mdemo-shared-inst.test,
1166 tests/mdemo-shared-make.test, tests/mdemo-shared-unst.test,
1167 tests/mdemo-static-exec.test, tests/mdemo-static-inst.test,
1168 tests/mdemo-static-make.test, tests/mdemo-static-unst.test,
1169 tests/tagdemo-shared-exec.test, tests/tagdemo-shared-make.test,
1170 tests/tagdemo-static-exec.test, tests/tagdemo-static-make.test,
1171 tests/tagdemo-undef-exec.test, tests/tagdemo-undef-make.test:
1174 Require Automake 1.11.1 for Libtool, enable color-tests.
1175 * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1. Enable
1177 (LTDL_SUBDIR_LIBOBJS): Remove now-obsolete conditional and
1178 feature test for Autoconf 2.59 and Automake 1.9.x workaround.
1179 * Makefile.am: Simplify accordingly.
1180 * bootstrap: Remove obsolete WORKING_LIBOBJ_SUPPORT workarounds
1181 for Autoconf 2.59 and Automake 1.9.6.
1183 2010-08-23 Charles Wilson <libtool@cwilson.fastmail.fm>
1185 Fix syntax for cygwin-cross
1186 libltdl/m4/argz.m4: Add quotes around variable, which
1187 may contain the multiword value 'guessing no'.
1189 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1191 configure: use Autobuild AB_INIT if available.
1192 * configure.ac: Call AB_INIT if it is defined, with
1193 $autobuild_mode as argument, to be set at configure time.
1194 Set AB_VERSION to the Libtool version string.
1197 Fix getopt tests to skip with Autoconf < 2.61.
1198 * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Skip the test
1199 if 'autom4te --language=m4sh' exits 63 because version 2.61 is
1200 required. Allows the testsuite to complete successfully with
1201 Autoconf 2.59 and Automake 1.9.6.
1203 Tidy and fix clean and distclean rules for old testsuite.
1204 * Makefile.am (clean-local-legacy): Use $(CONF_SUBDIRS) instead
1205 of hard-coding the list of test directories. Use
1207 (fake-distclean-legacy): New phony rule, to create fake Makefile
1208 files if needed so that the automake-generated
1209 distclean-recursive rule can work properly.
1210 (distclean_recursive): New helper variable.
1211 (distclean-recursive): Depend on fake-distclean-legacy.
1213 2010-08-22 Paolo Bonzini <bonzini@gnu.org>
1215 Fix sed_make_literal_regex.
1216 * libltdl/config/general.m4sh (sed_make_literal_regex): Fix
1219 2010-08-15 Paolo Bonzini <bonzini@gnu.org>
1221 Factor the sed command used to make a regex from a literal.
1222 * libltdl/config/general.m4sh (sed_make_literal_regex): New.
1223 * libltdl/config/ltmain.m4sh
1224 (func_cygming_dll_for_implib_fallback_core): Use it. Suggested
1227 2010-08-21 Rainer Tammer <tammer@tammer.net> (tiny change)
1229 Avoid issues with AIX resident shared libraries in old testsuite.
1230 * tests/defs.m4sh [aix]: Remove file mode permission for others,
1231 so shared libraries are not kept in memory after execution.
1232 Fixes failures of repeated mdemo-inst.test with on AIX 5.3.
1234 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1236 Skip part of versioning test on AIX.
1237 * tests/versioning.at (versioning): The AIX linker always
1238 records the unversioned library name, even with runtimelinking,
1239 so skip the execution test for the incompatibly upgraded
1241 Report by Rainer Tammer.
1243 Remove dead code from versioning test.
1244 * tests/versioning.at (versioning): No need to build unused
1247 2010-08-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1249 Don't hide the table of contents in the manual.
1250 * doc/libtool.texi: Move the table of contents to the beginning.
1251 Prompted by patch from Bruno Haible against Automake.
1253 Remove superfluous dependency in Makefile.am.
1254 * Makefile.am (tests/demo-conf.test): Remove dependency on
1255 libtool, this test is a primary source and not generated.
1257 Bump copyright years in manual.
1258 * doc/libtool.texi: Bump copyright years.
1260 2010-08-13 Peter Rosin <peda@lysator.liu.se>
1262 Allow the use of a listing file if the archiver supports it.
1263 * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
1264 of a suitable archiver...
1265 (_LT_PROG_AR): ...to here. New macro, also detect if the
1266 archiver supports a listing file with the new variable
1268 * libltdl/config/ltmain.m4sh: If the archiver supports a listing
1269 file, use it when max_cmd_len is exceeded. This is needed for
1270 tool chains such as MSVC which do not support piece by piece
1272 * doc/libtool.texi (libtool script contents): Update with
1273 archiver_list_spec description.
1275 2010-08-10 Gary V. Vaughan <gary@gnu.org> (tiny change)
1277 Make testsuite compatible with Autoconf 2.62 again.
1278 * tests/getopt-m4sh.at (AT_CHECK): Autotest 2.62 chokes on unquoted
1279 '#' in AT_CHECK, so replace all uses with '@%:@' quadrigraph.
1280 Suggested by Eric Blake <eblake@redhat.com>
1281 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1283 2010-08-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1285 Fix more problematic code from "Add func_append_quoted and do..."
1286 * libltdl/config/ltmain.m4sh (func_mode_link): Revert back
1287 func_append instances that as assignments relied on the shell
1288 not performing word splitting on the right hand side of the
1291 Fix another typo on "Add func_append_quoted and do..."
1292 * libltdl/config/ltmain.m4sh (func_mode_link): Fix regression in
1293 computation of finalize_rpath introduced in v2.2.10-40-g0da7d80,
1294 fixing several testsuite failures on AIX.
1295 Report by Rainer Tammer.
1297 2010-08-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1299 Avoid unwanted error message in configure output.
1300 * libltdl/m4/libtool.m4 (_LT_PROG_ECHO_BACKSLASH): Try print
1301 in subshell, so eventual `print: not found' is hidden reliably.
1303 Fix compilation of program sources on AIX.
1304 * tests/lt_dlopenext.at (lt_dlopenext error messages): Do not
1305 use $LIBTOOL when compiling plain object, AIX by default does
1306 not enable static archives.
1307 * tests/ltdl-libdir.at (libdir of installed modules): Likewise.
1308 Report by Rainer Tammer.
1310 Do not call toplevel configure in non-VPATH build.
1311 * tests/deplibs-mingw.at (deplibs without file command): Use
1312 LT_AT_CONFIGURE for consistency, update comment about why it
1314 * tests/pic_flag.at (override pic_flag at configure time): Skip
1315 test if we are building in-tree.
1316 Report by Rainer Tammer.
1318 Allow running pic_flag test with different shell.
1319 * tests/testsuite.at (LT_AT_CONFIGURE): Accept optional second
1320 argument specifying the configure script to run.
1321 * tests/pic_flag.at (override pic_flag at configure time):
1322 Use LT_AT_CONFIGURE.
1324 Ensure not to reverse preserving of --debug for relinking/finish.
1325 * libltdl/config/ltmain.m4sh (func_check_version_match): Only
1326 preserve '--debug' switch if $opt_debug is not equal to ':'.
1327 * tests/help.at (debug tracing): New test group.
1328 Report by Rainer Tammer.
1330 2010-08-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1332 Fix AC_NO_EXECUTABLES test failure on AIX.
1333 * libltdl/m4/libtool.m4 (_LT_SYS_MODULE_PATH_AIX): Wrap link
1334 test in AC_CACHE_VAL, using cache variable $lt_cv_aix_libpath.
1335 * tests/no-executables.at (AC_NO_EXECUTABLES): Preset it, to
1337 Bug report by Rainer Tammer.
1339 Fix ltdl-libdir test for C++ compilers.
1340 * tests/ltdl-libdir.at (libdir of installed modules): Declare
1341 module function as extern "C".
1343 2010-08-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1345 Let `libtool' without arguments point to `--help' again.
1346 * libltdl/config/ltmain.m4sh (func_check_version_match):
1347 Remove duplicate and wrong error check.
1348 * tests/help.at (standard command line options): Extend test.
1349 Report by Rainer Tammer.
1351 Avoid syntax error due to shift of nonexistent parameter.
1352 * libltdl/config/ltmain.m4sh <command-line handling>: Only shift
1353 if there is a positional parameter to shift. Fixes `libtool
1354 --help' when dash is used.
1355 Report by Rainer Tammer.
1357 Fix testsuite errors due to shell quoted parameter expansion issue.
1358 * tests/getopt-m4sh.at (_LT_AT_GETOPT_M4SH_SETUP): Insert space
1359 between double-quoted and unquoted shell parameter, as bash
1360 4.0.28 doesn't add one in its output if the expansion of the
1361 second one starts with a space.
1362 (short option splitting, enhanced shell short option splitting)
1363 (long option splitting, XSI long option splitting): Add space in
1365 Fixes testsuite failures on AIX, FreeBSD, etc.
1366 Report by Rainer Tammer.
1368 2010-08-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1370 Fix build failure with AIX sh due to shell quoting error.
1371 * libltdl/config/ltmain.m4sh (func_append_quoted): Document
1372 that this function inserts a separator space.
1373 (func_mode_compile): Do not pass extra space here.
1374 Fixes regression introduced in v2.2.10-49-gc13532a.
1375 Report by Rainer Tammer.
1377 2010-08-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1379 Fix pic_flag test unportabilities.
1380 * tests/pic_flag.at (override pic_flag at configure time): Skip
1381 test if the compiler produces a warning containing `fpic'.
1382 Do not use nonportable `grep -e', for Solaris.
1383 Report by Charles Wilson.
1385 2010-08-01 Paolo Bonzini <bonzini@gnu.org>
1387 Fix bug in postdeps computation
1388 * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually
1389 concatenate $prev and $p.
1391 2010-07-26 Charles Wilson <libtool@cwilson.fastmail.fm>
1393 Don't always skip XSI tests
1394 * tests/getopt-m4sh.at: Use new signature as implemented by
1395 de8a0992b21b76a13c302cf48588ad5f6042595c, when determining
1396 whether to test Extended-shell functions.
1398 2010-07-18 Peter Rosin <peda@lysator.liu.se>
1400 * tests/stresstest.at: Link with main.lo when liba is shared
1401 and linking main with -no-install.
1403 2010-07-18 Peter Rosin <peda@lysator.liu.se>
1405 * tests/stresstest.at [MSVC]: dllimport all imported
1408 2010-07-17 Peter Rosin <peda@lysator.liu.se>
1410 dllimport the variable for MSVC in link-order.at
1411 * tests/link-order.at [MSVC]: Makes the test pass by dllimporting
1412 imported variables when working with shared libraries.
1414 2010-07-08 Peter Rosin <peda@lysator.liu.se>
1415 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1417 Make preloading heed libname_spec.
1418 Fixes testsuite failure for lt_dladvise.at on MSYS/MSVC.
1419 * libltdl/ltdl.c (libprefix): New static variable describing
1420 the prefix of static archives.
1421 (try_dlopen): Use libprefix.
1422 * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Export prefix of static
1423 archives to config.h. Also fix assignment of LTDLOPEN to be more
1424 efficient and less error prone while at it.
1426 2010-07-08 Gary V. Vaughan <gary@gnu.org>
1428 Rename _LT_PROG_XSI_REPLACE macro to _LT_PROG_FUNCTION_REPLACE.
1429 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Rename to
1430 _LT_PROG_REPLACE_SHELLFNS.
1431 (_LT_PROG_XSI_REPLACE): Rename to _LT_PROG_FUNCTION_REPLACE.
1432 (_LT_PROG_FUNCTION_REPLACE): Change decorator comment to use
1433 'Extended shell' rather than 'XSI' on successful replacement.
1434 * libltdl/config/general.m4sh (func_dirname, func_basename)
1435 (func_dirname_and_basename, func_stripname): Change decorator
1436 comment to use 'extended shell' rather than 'XSI' on fallback
1438 * libltdl/config/getopt.m4sh (func_split_short_opt)
1439 (func_split_long_opt): Ditto.
1440 * libltdl/config/ltmain.m4sh (func_append, func_append_quoted)
1441 (func_arith, func_len, func_lo2o, func_xform): Ditto.
1442 * tests/getopt-m4sh.at (_LT_AT_XSI_FUNC_EXTRACT): Rename to
1443 _LT_AT_EXTENDED_SHELL_FUNC_EXTRACT.
1444 (_LT_AT_EXTENDED_SHELL_FUNC_EXTRACT): Change regular expression to
1445 match new replacable function decorator comments.
1447 2010-07-08 Peter Rosin <peda@lysator.liu.se>
1449 Optimize assignment of output_la.
1450 * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec
1452 Report by Ralf Wildenhues.
1454 2010-07-08 Gary V. Vaughan <gary@gnu.org>
1456 Fix a cut-n-pasto in "2010-07-07 Charles Wilson" patch.
1457 * libltdl/config/ltmain.m4sh (func_mode_link): Remove spurious
1458 variable dereference.
1460 2010-07-07 Gary V. Vaughan <gary@gnu.org>
1462 Tidy m4 comment header underline.
1463 * libltdl/m4/libtool.m4 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): Make
1464 sure hyphens in function name comment header underline line up.
1466 2010-07-07 Charles Wilson <libtool@cwilson.fastmail.fm>
1468 [cygwin|mingw] fix dlpreopen with --disable-static
1469 * libltdl/config/general.m4sh (func_tr_sh): New function.
1470 * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [cygwin|mingw]:
1471 Obtain DLL name corresponding to import library by using value
1472 stored in unique variable libfile_$(transliterated implib name).
1473 If that fails, use $sharedlib_from_linklib_cmd to extract DLL
1474 name from import library directly. Also, properly extract dlsyms
1475 from the import library.
1476 (func_mode_link) [cygwin|mingw]: Prefer to dlpreopen DLLs
1477 over static libs when both are available. When dlpreopening
1478 DLLs, use linklib (that is, import lib) as dlpreopen file,
1479 rather than DLL. Store name of associated la file in
1480 unique variable libfile_$(transliterated implib name)
1482 (func_win32_libid): Accomodate pei-i386 import libs
1484 (func_cygming_dll_for_implib): New function.
1485 (func_cygming_dll_for_implib_fallback): New function.
1486 (func_cygming_dll_for_implib_fallback_core): New function.
1487 (func_cygming_gnu_implib_p): New function.
1488 (func_cygming_ms_implib_p): New function.
1489 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Adjust sed
1490 expressions for lt_cv_sys_global_symbol_to_c_name_address and
1491 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
1492 as trailing space after module name is optional.
1493 (_LT_LINKER_SHLIBS) [cygwin|mingw][C++]:
1494 Set exclude_expsyms correctly for $host. Simplify regular
1495 expression in export_symbols_cmds.
1496 (_LT_LINKER_SHLIBS) [cygwin|mingw|pw32][C]: Set exclude_expsyms
1497 correctly for $host. Enable export_symbols_cmds to identify
1498 DATA exports by _nm_ prefix.
1499 (_LT_CHECK_SHAREDLIB_FROM_LINKLIB): New macro sets
1500 sharedlib_from_linklib_cmd variable.
1501 (_LT_DECL_DLLTOOL): New macro ensures DLLTOOL is always set.
1503 2010-07-05 Peter Rosin <peda@lysator.liu.se>
1505 * tests/export.at [MSVC]: dllimport all imported variables.
1507 2010-07-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1508 Peter Rosin <peda@lysator.liu.se>
1510 Support for response files with $NM.
1511 * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS)
1512 <nm_file_list_spec>: New tag variable. Set it to '@' if input
1513 files can be passed to $NM in a file named with the '@' option.
1514 * libltdl/config/ltmain.m4sh (func_mode_link): When
1515 nm_file_list_spec is nonempty, use it to avoid skipped_export.
1516 * doc/libtool.texi (libtool script contents): Document
1519 2010-07-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1521 Fix ccache test for MSVC.
1522 * tests/static.at (ccache -all-static): Ignore compiler stderr.
1523 Reported by Peter Rosin.
1525 2010-07-03 Charles Wilson <libtool@cwilson.fastmail.fm>
1527 Avoid false failures caused by filesystem interaction
1528 * tests/dlloader-api.at (dlloader API): Use uglified names for
1531 2010-07-03 Peter Rosin <peda@lysator.liu.se>
1533 Fix typo in "Add func_append_quoted and do..."
1534 * libltdl/config/ltmain.m4sh (func_mode_compile): Use
1535 func_append_quoted instead of func_append.
1537 2010-07-02 Peter Rosin <peda@lysator.liu.se>
1539 Don't trigger file name expansion when embedding manifests.
1540 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
1541 [ cygwin, mingw, cegcc ] <cl*>: Remove all spaces in the
1542 case statement of postlink_cmds to make file name expansion
1544 (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.
1546 2010-07-01 Peter Rosin <peda@lysator.liu.se>
1548 Fix regression caused by "Add func_append_quoted and do..."
1549 * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover
1552 2010-06-28 Peter Rosin <peda@lysator.liu.se>
1554 For MSVC, embed the manifest as a resource in the executable.
1555 Fixes a lot of testsuite failures with MSVC 2003 (v8.0) and
1556 above (and perhaps also MSVC .Net) related to running programs
1557 that have been moved (e.g. installed) without their manifests
1558 also having been moved.
1559 * libltdl/m4/libtool.m4 (_LT_PATH_MANIFEST_TOOL): New macro
1560 that locates the Manifest Tool (mt) and verifies that it is
1561 indeed the manifest tool. The result is stored in the new
1562 variable MANIFEST_TOOL.
1563 (_LT_LINKER_SHLIBS) <postlink_cmds>: New tag variable.
1564 [ cygwin, mingw, cegcc ] <cl*>: Embed the manifest file as a
1565 resource. Make sure the embedding work regardless of if the
1566 @OUTPUT@ file name includes a trailing $EXEEXT.
1567 (_LT_LANG_CXX_CONFIG): Likewise.
1568 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Require the above
1569 _LT_PATH_MANIFEST_TOOL.
1570 * libltdl/config/ltmain.m4sh (func_mode_link): After linking
1571 a program, replace @OUTPUT@ in $postlink_cmds and then execute
1573 * doc/libtool.texi (libtool script contents): Document
1574 new postlink_cmds variable.
1575 (LT_INIT): Add that the MANIFEST_TOOL environment variable can
1576 be used to override the manifest tool to use.
1577 * tests/exeext.at: New. Make sure linking with both -o prog
1578 and -o prog$EXEEXT works.
1579 * Makefile.am (TESTSUITE_AT): Update.
1580 (TESTS_ENVIRONMENT): Propagate $(MANIFEST_TOOL) to the
1582 * NEWS: Add note of the new MANIFEST_TOOL environment variable.
1584 2010-06-24 Peter Rosin <peda@lysator.liu.se>
1587 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
1588 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG) [mingw, cygwin]: Add
1589 support for the Microsoft C/C++ Compiler (cl) relying on help
1590 from the compile script in Automake.
1591 * NEWS: Add note of the above.
1593 2010-07-01 Gary V. Vaughan <gary@gnu.org>
1595 Skip `enhanced shell option appending' test when not available.
1596 * tests/getopt-m4sh.at [enhanced shell option appending]:
1597 _LT_AT_XSI_FUNC_EXTRACT will not be able to find the enhanced
1598 libtool func_append function if the replacement wasn't substituted
1599 by configure, since the decorator comments will be different - in
1600 that case simply skip the test.
1602 2010-06-30 Gary V. Vaughan <gary@gnu.org>
1604 Add func_append test cases for smart and retarded implementations.
1605 * tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): New
1606 macro to extract a fallback function implementation from
1608 [option appending]: Use it for a test of the fallback
1609 implementation of func_append.
1610 [enhanced shell option appending]: And also test the enhanced
1612 * libltdl/config/ltmain.m4sh (func_append_quoted): Fix missing \\
1613 to escape a quoted space for eval.
1614 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Fix missing $ in
1615 dereference of func_append inline replacement for retarded
1618 2010-06-29 Gary V. Vaughan <gary@gnu.org>
1620 Correct func_split_short_opt comment cut-n-pasto.
1621 * libtool/config/getopt.m4sh (func_split_short_opt): Fix
1622 the function comment.
1624 Use a real XSI compliant func_split_short_opt substitution.
1625 * libtool/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Remove
1626 test ${foo:n:m} substrings, instead adding a ${foo%??} check
1627 to the existing XSI tests.
1628 (_LT_PROG_XSI_SHELLFNS): Remove the ${foo:n:m} based
1629 func_split_short_opt substitution in favour of a properly
1630 XSI compliant substitution.
1631 Suggested by Paolo Bonzini.
1633 2010-06-28 Gary V. Vaughan <gary@gnu.org>
1635 Add func_append_quoted and do inline func_append substitutions.
1636 * libtool/config/ltmain.m4sh: Replace all occurrences of
1637 `foo="$foo bar"' with func_append. No decorator comment was
1638 added since /func_append [a-zA-Z0-9_]* "/ is already an
1639 excellent match regexp, and additional comments would only
1641 (func_append_quoted): New function that quotes a value with
1642 func_quote_for_eval before appending it. To avoid quoting the
1643 whitespace in the passed value, a single whitespace is added
1644 automatically. Changed callers where possible.
1645 * libtool/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Perform a
1646 `+=' implementation substitution for func_append_quoted. More
1647 importantly, systematically replace matching func_append calls
1648 with inline `+=' when supported (for maximum speed), and
1649 longhand `foo="$foo bar"' otherwise to avoid the function
1652 Add an XSI replacement for func_split_short_opt, with test cases.
1653 * libltdl/config/getopt.m4sh (m4go_shortnoargs): Remove 'v' now
1654 that getopt.m4sh doesn't steal that letter for the --version
1656 * libltdl/config/ltmain.m4sh (M4SH_GETOPTS): We can now use 'v'
1657 as a short option for '--verbose'.
1658 * libltdl/config/getopt.m4sh (m4go_printopts): Add back in the
1659 leading '-' for remaining non-argument short options.
1660 (func_split_short_opt): Use the correct sed script variable.
1661 * libltdl/m4/libtool.m4 (_LT_CHECK_SHELL_FEATURES): Also ensure
1662 that XSI substring extraction is supported.
1663 (_LT_PROG_XSI_SHELLFNS): Use XSI substring extraction to split
1664 short options to avoid unnecessary forks if the host shell
1666 * tests/getopt-m4sh.at: New tests for getopt.m4sh coverage.
1667 * Makefile.am (TESTSUITE_AT): Add getopt-m4sh.at.
1668 (TESTS_ENVIRONMENT): Pass M4SH and SED for substition into the
1669 m4sh expansion performed in tests/getopt-m4sh.at.
1671 2010-06-27 Gary V. Vaughan <gary@gnu.org>
1673 Add missing case branch terminators.
1674 * libltdl/config/ltmain.m4sh: Fixed everal case branches with
1675 missing ';;' terminators.
1677 Use TAB-SPACE in preference to SPACE-TAB.
1678 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): Some editors
1679 might optimise away the SPACE in SPACE-TAB sequences, so use
1680 TAB-SPACE just in case.
1681 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1683 Amend a missed opt_mode rename instance in ltmain.m4sh.
1684 * libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode.
1686 Fix portability regressions in today's earlier changeset.
1687 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_REPLACE): `sed -i' is not
1688 portable; use `mv -f ...|| cp -f ...' instead.
1689 Add an initial backslash to sed `c' substitutions with leading
1690 whitespace, so that indentation is not removed by some non-POSIX
1691 compliant sed implementations.
1692 (_LT_PROG_XSI_SHELLFNS): Display a diagnostic warning message if
1693 one or more XSI function replacements failed.
1695 getopt.m4sh generated libtool option parser, and XSI improvements.
1696 * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): Moved portable
1697 shell versions of various utility functions from here...
1698 * libltdl/config/getopt.m4sh (func_split_long_opt): ...to here...
1699 * libltdl/config/general.m4sh (func_dirname, func_basename)
1700 (func_dirname_and_basename, func_strip_name): ...here...
1701 * libltdl/config/ltmain.m4sh (func_append, func_arith, func_len)
1702 (func_lo2o, func_xform): ...and here.
1703 * libltdl/config/libtool.m4 (_LT_PROG_XSI_REPLACE): New macro that
1704 expands into a sed command for replacing the contents of a
1705 suitably decorated shell function with an alternate XSI
1707 (_LT_PROG_XSI_SHELLFNS): Use it to replace the portable shell
1708 versions of the functions above with equivalent XSI
1709 implementations that avoid unnecessary forks if the host shell
1711 * libltdl/config/ltmain.m4sh: Replace hand written shell code
1712 with a call to M4SH_GETOPTS. Rename some option variables in
1713 the client code to match the generated option parser settings.
1714 * libltdl/config/general.m4sh (func_echo, func_error)
1715 (func_warning): Use $opt_mode instead of obsoleted $mode in
1717 * libltdl/config/getopt.m4sh (m4_version_prereq): This file
1718 requires m4sugar.m4 from Autoconf-2.61 or newer.
1720 2010-06-24 Charles Wilson <libtool@cwilson.fastmail.fm>
1722 [cygwin] Refactor C++ exception handling for Win32 correctness
1723 * tests/exception.at (common.h): New file, refactored from
1724 (module.h): Move declaration of modexc to libcommon.
1725 Include common.h. Use explicit import/export markings for
1726 symbols when building on win32 or cygwin.
1727 (common.cpp): New file.
1728 (module.cpp): Ensure correct symbols markings when including
1730 (lib.h): Use explicit import/export markings for symbols
1731 when building on win32 or cygwin.
1732 (lib.cpp): Ensure correct symbol markings when including lib.h.
1733 (main.cpp): Include common.h.
1734 (commands): Ensure correct symbol markings when compiling
1735 main.cpp, and lib.cpp, and module.cpp. Add command to compile
1736 common.cpp, and to link libcommon.la. Add libcommon.la when
1737 linking module.la and main. Add command to install libcommon.la.
1739 2010-06-21 Gary V. Vaughan <gary@gnu.org>
1741 Ensure getopts.m4sh is compatible with Autoconf-2.61 and newer.
1742 * libltdl/config/getopt.m4sh (m4_chomp): Ensure this macro is
1743 implemented even if Autoconf's m4sugar.m4 doesn't provide it.
1744 (m4go_expand): New macro based on Autoconf-2.64 m4_expand. Use
1745 it everywhere incase m4sugar.m4 doesn't have an implementation.
1746 (m4_ifnblank): Replace all uses with m4_ifval, which was
1747 available long before m4_ifnblank was introduced.
1749 2010-06-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1751 Fix clean mode for HP-UX 11.31 sh.
1752 * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not try
1753 to match a null string in a case pattern, even with surrounding
1754 spaces. Fixes `lt_dlopenadvise library loading' test.
1756 Add comment for exception handling module unloading issue.
1757 * tests/exceptions.at (C++ exception handling): Add comment
1760 Fix flags test failure when ld is used as linker.
1761 * tests/flags.at (passing CC flags through libtool): When $LD
1762 is used for linking libraries, ensure flags passed with `-Wc,'
1763 are not passed through to $LD, but flags passed with `-Wl,' use
1764 $wl when linking programs. Fixed testsuite failure on HP-UX
1767 2010-06-19 Charles Wilson <libtool@cwilson.fastmail.fm>
1769 [cygwin] Fix segfault in C++ exception handling test
1770 * tests/exceptions.at (main.cpp:exceptions_in_module):
1771 Move dlclose outside catch block; otherwise __cxa_end_catch
1772 (part of the cygwin g++ ABI) accesses pointers to data inside
1773 unloaded DLL. This is a platform ABI-specific bug, but is
1774 likely common to many platforms' g++ and/or other C++
1777 2010-06-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1779 Fix srcdir computation for manual runs of old tests.
1780 * tests/defs.m4sh: Strip trailing `/tests' from srcdir, to allow
1781 `$srcdir/tests/FOO.test' to be run from the top build directory.
1783 Clean up @var handling in the manual.
1784 * doc/libtool.texi: Throughout the manual, replace @var with
1785 @samp or @code as appropriate, ensure the argument of remaining
1786 @var uses are lower-case.
1788 Let the bootstrap script fail upon errors.
1789 * bootstrap: Enable errexit.
1791 Fix execute mode test for OSF/1 5.1.
1792 * tests/execute-mode.at (execute mode): Do not use grep -F
1793 with an empty pattern.
1797 Use config.cache variable for PIC flag, to allow override.
1798 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) <lt_prog_compiler_pic>:
1799 Save result, and allow override, through cache variable
1800 lt_cv_prog_compiler_pic{,_CXX,_F77,_FC}. The cache variable
1801 needs to contain an eventual -DPIC.
1802 * tests/pic_flag.at (override pic_flag at configure time):
1804 * Makefile.am (TESTSUITE_AT): Update.
1805 * NEWS, THANKS: Update.
1806 Suggestion by Joakim Tjernlund and Paolo Bonzini.
1808 2010-06-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1810 Optimize func_ltwrapper_scriptname to assume a cwrapper.
1811 * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname): Do not
1812 call func_ltwrapper_executable_p again here, this function is
1813 documented to allow being called with wrapper executables.
1815 Fix bootstrap script to cope with changed AC_INIT arguments.
1816 * bootstrap: When extracting PACKAGE and VERSION from AC_INIT
1817 arguments, be sure to remove a 'GNU ' prefix and lowercase the
1818 package name for PACKAGE. Also set PACKAGE_NAME and PACKAGE_URL
1819 appropriately for GNU software. Pass these variables to the
1820 make commands creating tests/package.m4 and other files.
1821 * Makefile.am (edit): Fix substitution of PACKAGE_NAME and
1823 * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not
1826 2010-06-15 Peter Rosin <peda@lysator.liu.se>
1828 On Windows, find potential libs regardless of file name case.
1829 * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD),
1830 libltdl/config/ltmain.m4sh (func_mode_link): On Windows,
1831 find potential libs regardless of file name case.
1832 * tests/nocase.at: New test, to check for regressions
1834 * Makefile.am: Add above new test.
1835 * doc/libtool.texi (libtool script contents): Document
1839 2010-06-15 Philip Allison <philip.allison@smoothwall.net> (tiny change)
1841 Avoid GCC -Wall compiler warning in dlopen self test.
1842 * libltdl/m4/libtool.m4 (_LT_TRY_DLOPEN_SELF): Fix unused
1843 variable warning in test program.
1846 2010-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1848 Fix cleaning of uninstalled w32 shell wrapper in subdirs.
1849 * libltdl/config/ltmain.m4sh (func_mode_uninstall): Do not
1850 override global objdir variable, instead use odir for the
1851 directory of to-be-removed files. Drop unneeded origobjdir.
1852 Report by Charles Wilson.
1854 2010-06-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1856 Enable colored Autotest testsuite output if available.
1857 * tests/testsuite.at: Move AT_INIT call down to late in the
1858 file, all prior code can go beforehand.
1859 Call AT_COLOR_TESTS if defined.
1861 2010-06-14 Peter O'Gorman <peter@pogma.com>
1863 Pass resident test with --disable-shared too.
1864 * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.
1866 2010-06-13 Peter O'Gorman <peter@pogma.com>
1868 Test with --disable-shared at release time too.
1871 Avoid failure for --disable-shared.
1872 * tests/lt_dladvise.at: Hack.
1874 Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
1875 * tests/exceptions.at: Use it.
1877 2010-06-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1879 Print Libtool project URL in program --help output.
1880 * configure.ac (AC_INIT): Set PACKAGE argument to `GNU Libtool',
1881 so Autoconf knows this is GNU software. For Autoconf < 2.64,
1882 if AC_PACKAGE_URL is not defined, substitute PACKAGE_URL.
1883 * Makefile.am (edit): Substitute PACKAGE_URL.
1884 ($(srcdir)/tests/package.m4): Also depend on Makefile.am.
1885 Define AT_PACKAGE_URL, for `tests/testsuite --help' output.
1886 * libltdl/config/getopt.m4sh (func_help): Also extract comment
1887 lines that mention a home page and general GNU help.
1888 * libltdl/config/ltmain.m4sh: Use @PACKAGE_BUGREPORT@ instead of
1889 hard-coded list address. Also mention Libtool home page and
1890 general GNU help web page.
1891 * libtoolize.m4sh: Likewise.
1893 2010-06-12 Peter Rosin <peda@lysator.liu.se>
1894 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1896 Improve libdir usage from within ltdl on MinGW.
1897 * libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the
1898 libdir entry in the .la file, but accept it only if it is not
1899 a unix-style absolute name.
1900 * tests/ltdl-libdir.at: New test that checks if ltdl finds an
1901 installed module via the libdir variable in the .la file. On
1902 MinGW, use a Windows-style libdir name including drive spec.
1903 * Makefile.am: Add above.
1905 2010-06-11 Peter O'Gorman <peter@pogma.com>
1907 Skip bindir install test if we're not building shared.
1908 * tests/bindir.at: Skip install test if necessary.
1910 Report by Michael E Faenza.
1912 2010-06-11 Gary V. Vaughan <gary@gnu.org>
1914 Use getopt.m4sh to generate libtoolize option parser.
1915 * libtoolize.m4sh: Replace hand written shell code with a
1916 call to M4SH_GETOPTS. Move some premature initialization
1917 from the preamble to the main part of the script. Exit with
1918 an error on spurious additional non-option arguments.
1919 (envopts): Integrate LIBTOOLIZE_OPTIONS pre-parsing into the
1920 main option parsing loop.
1921 (opt_copy): Use in place of and in the reverse sense of the
1922 old opt_link variable.
1924 2010-06-10 Peter O'Gorman <peter@pogma.com>
1926 Create reloadable object files with non-pic objects too.
1927 * libltdl/config/ltmain.m4sh: When not building a shared
1928 library, use the non-pic objects to create a reloadable
1929 object, because pic objects do not exist.
1931 2010-06-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1933 Ensure libltdl is up to date for check-local.
1934 * Makefile.am (LTDL_BOOTSTRAP_DEPS): New variable.
1935 (all-local): Use it to simplify dependencies.
1936 (testsuite_deps_uninstalled): Add $(LTDL_BOOTSTRAP_DEPS).
1937 Report by Peter Rosin.
1939 2010-06-10 Gary V. Vaughan <gary@gnu.org>
1941 Support shell tracing inside functions even with ksh.
1942 * libltdl/config/getopt.m4sh: Set $opt_debug to be either `:'
1943 or `set -x' depending on whether --debug was parsed to match
1944 usage in libtoolize.m4sh and ltmain.m4sh.
1945 * clcommit.m4sh, libltdl/config/announce-gen.sh: Instead of
1946 `$opt_debug && ...', use `test "$opt_debug" != ":" && ...'.
1947 * clcommit.m4sh, libltdl/config/announce-gen.m4sh,
1948 libltdl/config/getopt.m4sh, libltdl/connfig/mailnotify.m4sh:
1949 Execute at the start of functions to cater to ksh, which
1950 resets `-x' inside shell functions.
1952 Fix a typu in HACKING.
1953 * HACKING (Release Procedure): s/Makeflie/Makefile/.
1955 2010-06-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1957 Factorize testing gcj installation in the testsuite.
1958 * tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually
1959 try to compile a .java file when deciding whether to skip.
1960 (LT_AT_EXEC_TAG): New macro, to also ensure runnability.
1961 * tests/convenience.at (Java convenience archives): Use
1962 LT_AT_EXEC_TAG, simplify accordingly.
1963 * tests/flags.at (passing lt_tag flags through libtool): Use
1964 m4_defn for tag so LT_AT_TAG works.
1965 * tests/infer-tag.at (GCJ inferred tag): Simplify.
1967 Report by Warren Dodge.
1969 2010-06-09 Peter O'Gorman <peter@pogma.com>
1971 Skip demo-nopic tests if SELinux policy will cause failure.
1972 * tests/demo-nopic.test: Check SELinux policy and skip if
1975 2010-06-09 Gary V. Vaughan <gary@gnu.org>
1977 Set SCM version number to 2.2.11a.
1978 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
1982 GNU Libtool 2.2.10 was released.
1984 Prepare for next release.
1985 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number
1987 * NEWS: Update version number.
1989 Fix a quoting bug with ./commit -a 'A U Thor'.
1990 * clcommit.m4sh (func_commit): Use func_show_eval when calling
1991 git, so that the previously func_quote_for_eval()ed $git_flags is
1994 2009-09-15 Peter Rosin <peda@lysator.liu.se>
1996 Don't try the MSYS libdir path on MinGW.
1997 * libltdl/ltdl.c (parse_dotla_file) [mingw]: The absolute
1998 libdir path in the .la file is recorded as an MSYS (POSIX
1999 style) path. Make sure it isn't tried when locating the
2003 2010-06-09 Gary V. Vaughan <gary@gnu.org>
2005 Simplify license variations, and add missing license texts.
2006 * ChangeLog, ChangeLog.1996, ChangeLog.1997, ChangeLog.1998,
2007 ChangeLog.1999, ChangeLog.2000, ChangeLog.2001, ChangeLog.2002,
2008 ChangeLog.2003, ChangeLog.2004, ChangeLog.2005, ChangeLog.2006,
2009 ChangeLog.2007, ChangeLog.2008, ChangeLog.2009, NEWS: Add
2010 all-permissive license.
2011 * HACKING, README, README.alpha, TODO: Relax license to RMS
2012 encouraged all-permissive terms.
2013 * libltdl/README: Ditto. I added the original license text in
2014 2007, and there's no need for it to be so long for such a trivial
2016 * libltdl/config/getopt.m4sh, libltdl/general.m4sh: Cvs-utils is
2017 dead, and I am the author of these files, so consolidated license
2018 terms to match regular Libtool licensing.
2019 * HACKING (Licensing Rules): Update wording, and list of files for
2020 the all permissive license.
2021 (GPL with CVS-Utils exception clause): Removed. No files have these
2023 (GPL with Libtool exception clause): Ditto, only libltdl/README
2024 used to be distributed with this variation.
2025 * AUTHORS: Add GPL license text.
2027 Fix a type in the 2.2.8 release notes.
2028 * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes.
2030 Don't warn about the blank line inserted into git commit message.
2031 * clcommit.m4sh: When searching for accidental commits of mutliple
2032 changes, ignore the second line of the message, which we inserted
2033 earlier to support "git log --oneline".
2035 Enable correct extraction of multiline copyright from --version.
2036 * libltdl/config/getopt.m4sh: Wrap copyright notice at 76
2038 (func_version): Don't omit spaces when merging multiline copyright
2040 * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76
2043 * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P
2045 Reported by Christian Rössel <christian.roessel@gmx.de>
2047 2010-06-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2049 Fix testsuite helper macros to not hide failure.
2050 * tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE):
2051 Do not wrap AT_CHECK in a subshell, so that failures are
2052 properly propagated; instead, move environment changes inside
2054 Report and analysis by Peter Rosin.
2056 Avoid autom4te warning about unnamed diversion.
2057 * libltdl/config/getopt.m4sh: Use diversion name KILL not -1.
2059 2010-06-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2061 Make versioning test stricter for w32, enable shared libs.
2062 * tests/versioning.at (versioning): Add -no-undefined to
2064 (test_uninstalled): Also move $bindir out of the way
2067 Fix versioning test for LDFLAGS=-Wl,--as-needed.
2068 * tests/versioning.at (versioning): For the library update
2069 hypotheses, ensure the unchanged library libb isn't accidentally
2070 relinked against the new liba, by not reinstalling libb.
2071 Fixes testsuite failure for the incompatible update case with
2072 LDFLAGS=-Wl,--as-needed.
2074 Report by Ryan Hill.
2076 2010-06-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2078 Rewrite manual intro to be gender-neutral.
2079 * doc/libtool.texi (Introduction): Use gender-neutral
2080 formulation when addressing developers.
2082 2010-06-05 Gary V. Vaughan <gary@gnu.org>
2084 Update and simplify all m4sh scripts to use latest getopt.m4sh.
2085 * clcommit.m4sh, libltdl/config/mailnotify.m4sh: Rewrite option
2086 parsing loop over M4SH_GETOPTS macro, and adjust all clients of
2087 option variables to use generated option names.
2089 Add missing quote for literal ? in a shell case statement.
2090 * libltdl/config/getopt.m4sh (m4go_shortnoargs): Quote initial ?
2091 correctly for use in a shell case statement.
2093 Quote command line arguments after --rcfile properly.
2094 * libltdl/config/announce-gen.m4sh (--rcfile): Quote remaining
2095 arguments shell variable expression correctly for eval.
2097 Shift correctly in numbered option argument collection.
2098 * libltdl/config/getopt.m4sh (_m4go_option): Argument list also
2099 needs to be `shift'ed in the shell option loop after processing a
2100 numbered argument collection.
2102 Fetch from new upstream host for config.guess and config.sub.
2103 * Makefile.maint (WGET_CGIT): Location of newest config.guess and
2104 config.sub upstream.
2105 (fetch): Fetch config.guess and config.sub from WGET_CGIT, rather
2106 than no-longer-updating WGET_SGO location.
2108 Update generated upload directive file format to v1.1.
2109 * Makefile.maint (git-dist, diffs): Update to generate v1.1 format
2110 directive files for ftp://ftp-upload.gnu.org/incoming/ftp.
2112 Fix web manual generation details in release instructions.
2113 * HACKING (Release Procedure): Move the instruction for generating
2114 web manuals for a new release to before the instruction that bumps
2115 the version numbers to the post release values.
2117 Set SCM version number to 2.2.9a.
2118 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2122 GNU Libtool 2.2.8 was released.
2124 Prepare for next release.
2125 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2127 * NEWS: Update version number.
2128 * INSTALL, libltdl/config/install-sh, libltdl/config/config.guess,
2129 libltdl/config/config.sub, libltdl/config/texinfo.tex: Updated
2130 from canonical source.
2132 Provide an m4sh reimplementation of announce-gen.
2133 * libltdl/config/getopt.m4sh (M4SH_GETOPTS): New macro that takes
2134 a quoted m4 list of command line options to be parsed, and
2135 generates the shell code to parse those options and collect the
2136 results into appropriately named 'opt_xxx' shell variables. Also,
2137 add some private supporting macros, and improve the comments
2139 * libltdl/config/announce-gen.m4sh: New file, to generate and
2140 optionally post (an enhancement over the gnulib perl script of the
2141 same name) a release announcement.
2142 * Makefile.maint (announce-gen): Build a new announce-gen script
2143 in the build directory, from the contents of
2144 libltdl/config/announce-gen.m4sh.
2145 * HACKING (Release Procedure): Update the instructions to use
2147 (Alpha release note template, Full release note template):
2150 2010-05-22 Gary V. Vaughan <gary@gnu.org>
2152 Support "git log --oneline" in generated commit messages.
2153 * clcommit.m4sh (func_check_commit_msg): Insert an empty line
2154 between the ChangeLog entry summary line and the ChangeLog entry
2155 body, so that "git log --oneline" works properly.
2156 Bump copyright and version number.
2157 Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2159 2010-05-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2161 * HACKING: Set Reply-To: in announcement emails.
2163 2010-05-21 Gary V. Vaughan <gary@gnu.org>
2165 Set SCM version number to 2.2.7c.
2166 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2170 GNU Libtool 2.2.7b was released.
2172 Prepare for next release candidate.
2173 * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2175 * libltdl/m4/libtool.m4, libltdl/m4/ltdl.m4,
2176 libltdl/m4/ltoptions.m4, libltdl/m4/lt~obsolete.m4: These files
2177 have been updated without a serial bump since the last release.
2178 * libltdl/Makefile.inc (LTDL_VERSION_INFO): Bump Revision, to
2179 account for bugfixes since the last release.
2180 * libltdl/config/install-sh, libltdl/config/config.guess,
2181 libltdl/config/config.sub, libltdl/config/texinfo.tex,
2182 INSTALL: Updated from canonical source.
2183 * NEWS: Update with missing entries from ChangeLog.
2184 * HACKING: Note workaround for developer tool-path leakage bug.
2186 Skip some tests in --disable-ltdl-install mode.
2187 * tests/dlloader-api.at, tests/exceptions.at,
2188 tests/lalib-syntax.at, tests/loadlibrary.at,
2189 tests/lt_dlopenext.at, tests/resident.at: Detect when these
2190 tests try to link against the not installed libltdl.la, and
2191 skip rather than FAIL.
2193 2010-05-05 Peter Rosin <peda@lysator.liu.se>
2195 Clarify versioning algorithm documentation.
2196 * doc/libtool.texi (Updating version info): Be explicit
2197 about setting age to zero on interface change.
2198 Reported by Jef Driesen <jefdriesen@hotmail.com>
2200 2010-05-04 Peter O'Gorman <peter@pogma.com>
2202 Ranlib is required with -force_load and fat archives.
2203 * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run
2205 Reported by Jeremy Huddleston <jeremyhu@apple.com>
2207 2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2209 Fix incompatible struct declarations.
2210 * doc/libtool.texi (Dlpreopening): Remove broken documentation
2211 of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist
2212 and symbol lt_preloaded_symbols according to the implementation.
2213 * tests/demo/dlmain.c (lt_symlist): Make struct anonymous ...
2214 (lt_dlsymlist): ... and typedef to this name.
2215 (lt_preloaded_symbols, main): Adjust.
2216 * tests/pdemo/longer_file_name_dlmain.c: Likewise.
2218 2010-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2220 Use linker_flags not compiler_flags with $LD.
2221 * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]
2222 <archive_cmds, archive_expsym_cmds>: With xlf and bgxlf
2223 compilers, when linking with $LD, use $linker_flags not
2226 2010-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2228 Add FAQ, and FAQ entry for flags stripped at library link time.
2229 * doc/libtool.texi (FAQ, Stripped link flags): New nodes.
2230 (Wrapper executables): Replace bug address with macro.
2231 (Compile mode, Link mode): Document `-Wc,' and `-Xcompiler '
2233 * libltdl/config/ltmain.m4sh (func_mode_link): Rewrite comment
2234 for the flags that are passed through.
2235 Prompted by reports from Simon Richter <Simon.Richter@hogyros.de>,
2236 Török Edwin <edwintorok@gmail.com> and
2237 Åke Sandgren <ake.sandgren@hpc2n.umu.se>.
2239 2010-03-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2241 Fix preloader symbol list declaration in libltdl.
2242 * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include
2244 (lt_dlinit): Do not take address of preloaded_symbols.
2246 Fix typo in libtool --help output.
2247 * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help
2250 Fix a couple of documentation errors.
2251 * doc/libtool.texi (Autoconf macros): Improve hyphenation.
2252 (Using libltdl): libltdl uses the Lesser General Public License,
2253 not the Library General Public License.
2255 Do not use @sc nor @acronym in the manual.
2256 * doc/libtool.texi: Remove all usage of @sc.
2258 2010-03-19 Chris Demetriou <cgd@google.com>
2260 Sort output of 'find' to enable deterministic builds.
2261 * libltdl/config/ltmain.m4sh (func_extract_archives): Sort
2263 * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise.
2266 2010-03-19 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2268 Unconditionally normalize LC_ALL, LANGUAGE in libtool script.
2269 * libltdl/config/ltmain.m4sh: Unconditionally set LC_ALL and
2270 LANGUAGE to 'C', to avoid semantic differences on MinGW under
2271 Chines locale. SCO issues with e.g. LANG=C are not known to
2272 be relevant today any more.
2273 Report by Pete Batard <pbatard@gmail.com> and Xiaofan Chen
2274 <xiaofanc@gmail.com>.
2276 2010-03-17 Peter Rosin <peda@lysator.liu.se>
2278 Preserve the last error when restoring the error mode.
2279 * libltdl/loaders/loadlibrary.c (wm_open): Don't rely on
2280 SetThreadErrorMode (or SetErrorMode) to not clobber the last
2282 Report by Ralf Wildenhues.
2284 Use Get/SetThreadErrorMode if they are available.
2285 * libltdl/loaders/loadlibrary.c (wrap_geterrormode): Replaced...
2286 (wrap_getthreaderrormode): ...by this function that checks
2287 first for GetThreadErrorMode, then GetErrorMode and makes use
2288 of either of those or...
2289 (fallback_getthreaderrormode): ...else falls back to this
2290 replacement function that implements the old workaround, which
2291 was previously implemented in...
2292 (fallback_geterrormode): ...this now renamed function.
2293 (geterrormode): Replaced...
2294 (getthreaderrormode): ...by this function pointer that points
2295 at either of wrap_getthreaderrormode, GetThreadErrorMode,
2296 GetErrorMode or fallback_getthreaderrormode.
2297 (wrap_setthreaderrormode): New function that checks if
2298 SetThreadErrorMode is supported by the system and makes use of
2300 (fallback_setthreaderrormode): New function that is used
2301 otherwise that implements the old version using SetErrorMode.
2302 (setthreaderrormode): New function pointer that points at
2303 either of wrap_setthreaderrormode, SetThreadErrorMode or
2304 fallback_setthreaderrormode.
2305 (vm_open): Adjust to the above.
2307 2010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2309 Detect Sun compiler suite with 'sun'-prefixed names.
2310 * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
2311 (_LT_SYS_HIDDEN_LIBDEPS) [solaris]: Accept compiler names sunCC,
2312 sunf77, sunf90, sunf95 in addition to CC, f77, f90, f95.
2314 Report by Vadim Zeitlin.
2316 2010-02-28 Pierre Ossman <ossman@ossman.lkpg.cendio.se> (tiny change)
2317 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2319 Fix deplibs check fallback for 64-bit Windows and Windows CE.
2320 * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats
2321 'pe-arm-wince' and 'pe-x86-64'. Add note about consistency with ...
2322 * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective
2323 pattern here; sync pattern from the former.
2324 * tests/deplibs-mingw.at (deplibs without file command): New
2326 * Makefile.am (TESTSUITE_AT): Update.
2329 2010-02-24 Scott McCreary <scottmc2@gmail.com> (tiny change)
2331 Update search path on Haiku for legacy system directory.
2332 * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [haiku]
2333 <sys_lib_dlsearch_path_spec>: Replace legacy
2334 /boot/beos/system/lib directory with /boot/system/lib.
2337 2010-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2339 manual: fix detailmenu ordering.
2340 * doc/libtool.texi (Top): Add section for `Linking executables'
2343 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
2345 Guard against strerror()==NULL
2346 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src:main):
2347 Check return value of strerror() using nonnull().
2348 (func_emit_cwrapperexe_src:find_executable): Ditto.
2349 (func_emit_cwrapperexe_src:chase_symlinks): Ditto.
2351 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
2353 Document wrapper changes.
2354 * NEWS: Indicate new feature and incompatibility.
2355 * doc/libtool.texi [detailmenu]: Add reference to subsection
2356 'Wrapper executables for programs', in Platform Quirks category.
2357 [Linking executables]: Mention wrapper executables, in
2358 addition to wrapper scripts. Add menu referencing subsection
2359 'Wrapper executables for programs'.
2360 [Wrapper executables for programs]: New subsection. Documents
2361 cwrapper rationale and command line options.
2363 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
2365 Add --lt-* options to shell wrapper
2366 * libltdl/config/ltmain.m4sh (func_emit_wrapper): Call
2367 func_parse_lt_options early. Use func_exec_program.
2368 (func_emit_wrapper:func_parse_lt_options): New function.
2369 (func_emit_wrapper:func_lt_dump_args): New function.
2370 (func_emit_wrapper:func_exec_program_core): New function.
2371 (func_emit_wrapper:func_exec_program): New function.
2373 2010-02-21 Charles Wilson <libtool@cwilson.fastmail.fm>
2375 Enable runtime cwrapper debugging; add tests
2376 * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
2377 Update comments. Initialize program_name. Eliminate _LENGTH
2378 variables for string constants. In debug mode, print a
2379 banner with known content before any other output. Remove
2380 LTWRAPPER_DEBUGPRINTF macro. Add constants and variables
2381 to support new --lt-debug option.
2382 (func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to...
2383 (func_emit_cwrapperexe_src:lt_debugprintf): this. Only print
2384 messages if lt_debug != 0. Ensure appearance of messages
2386 (func_emit_cwrapperexe_src:lt_fatal): Ditto.
2387 (func_emit_cwrapperexe_src:lt_error_core): Ditto.
2388 (func_emit_cwrapperexe_src): Update all callers to lt_fatal.
2389 Update all users of LTWRAPPER_DEBUGPRINTF (()) to call
2390 lt_debugprintf () directly.
2391 (func_emit_cwrapperexe_src:main): Consolidate option parsing.
2392 Ensure first use of lt_debugprintf occurs after option parsing.
2393 Add stanza to parse for --lt-debug and set lt_debug variable.
2394 Use strcmp rather than strncmp, where safe.
2395 * tests/cwrapper.at: Add new tests for --lt-debug and
2398 2010-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2400 Use --email with gendocs.sh.
2401 * Makefile.maint (web-manual): Pass bug reporting address to
2404 Make testsuite code C++ clean again.
2405 * tests/resident.at (resident modules): Fix for C++.
2407 2010-01-29 Peter Rosin <peda@lysator.liu.se>
2408 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2410 Testsuite exposure for dlloader API.
2411 * tests/dlloader-api.at: New file, new test.
2412 * Makefile.am (TESTSUITE_AT): Update.
2414 2010-01-29 Peter Rosin <peda@lysator.liu.se>
2416 * tests/loadlibrary.at: Fix C++ issues.
2418 2010-01-20 Peter Rosin <peda@lysator.liu.se>
2420 Report proper errors from the loadlibrary loader.
2421 * libltdl/loaders/loadlibrary.c (loadlibraryerror): New
2422 helper function that returns the latest Windows error as a
2423 string, or the provided default string on failure to do so.
2424 (LOADLIB_SETERROR): New macro that wraps previous to make it
2426 (vm_open, vm_close, vm_sym): Make use of previous.
2427 (LOCALFREE): New macro to help free the Windows error string.
2428 (vl_exit): Make use of previous.
2429 * tests/loadlibarry.at: New file, new test that makes sure
2430 the loadlibrary loader reports non-standard error messages.
2431 * Makefile.am (TESTSUITE_AT): Add above test.
2433 2010-01-02 Peter Rosin <peda@lysator.liu.se>
2435 Use GetErrorMode if it is available.
2436 * libltdl/loaders/loadlibrary.c (wrap_geterrormode): New
2437 function that checks if GetErrorMode is supported by the
2438 system and makes use of it if it is.
2439 (fallback_geterrormode): New function that is used otherwise
2440 that implements the old workaround.
2441 (geterrormode): New function pointer that points at either
2442 of the above or directly at GetErrorMode.
2443 (vm_open): Make use of the above.
2445 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2447 Ensure functions from resident modules work in atexit handlers.
2448 * tests/resident.at (resident modules): New file, new test.
2449 * Makefile.am (TESTSUITE_AT): Adjust.
2450 Report by Bob Friesenhahn.
2452 Testsuite exposure for relative output file names and deplibs.
2453 * tests/deplib-in-subdir.at (deplib in subdir): New file, new
2455 * Makefile.am (TESTSUITE_AT): Update.
2456 Prompted by report from Bob Friesenhahn.
2458 2010-01-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2459 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
2461 Testsuite exposure for C++ exception handling.
2462 * tests/exceptions.at (C++ exception handling): New file, new
2464 * Makefile.am (TESTSUITE_AT): Update.
2465 Report by Bob Friesenhahn.
2467 2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2469 Bump copyright years.
2470 * ChangeLog.2009: New, rotated from ...
2471 * ChangeLog: ... here.
2472 * Makefile.am (EXTRA_DIST): Add ChangeLog.2009.
2473 * NEWS, libltdl/config/ltmain.m4sh: Bump copyright years.
2474 * libltdl/m4/libtool.m4 (_LT_COPYING, LT_OUTPUT): Likewise.
2475 * libtoolize.m4sh: Likewise.
2477 Continued in ChangeLog.2009
2479 Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2480 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2482 This file is part of GNU Libtool.
2484 Copying and distribution of this file, with or without modification,
2485 are permitted in any medium without royalty provided the copyright
2486 notice and this notice are preserved. This file is offered as-is,
2487 without warranty of any kind.