Aarch64 build fix
[platform/upstream/libtool.git] / ChangeLog.2010
1 2010-12-20  Ian Lance Taylor  <iant@google.com>
2
3         * libltdl/m4/libtool.m4 (LT_LANG): Add Go.
4         (AC_PROG_GO): Provide.
5         (_LT_SYS_HIDDEN_LIBDEPS): Add Go case.
6         (_LT_LANG_GO_CONFIG): Define.
7         (LT_PROG_GO): Define.
8         (AC_PROG_GO): Define if not defined.
9         * libltdl/config/ltmain.m4sh: Match *.go.
10         * doc/libtool.texi (LT_INIT): Mention Go.
11         (Tags): Mention Go.
12         * configure.ac: Enable Go.
13         * NEWS: Update.
14
15 2010-12-20  Brice De Bruyne  <bricedb@gmail.com>  (tiny change)
16
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
21         -fuse-linker-plugin.
22         * NEWS, THANKS: Update.
23
24 2010-12-20  KO Myung-Hun  <komh@chollian.net>  (tiny change)
25
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.
29
30 2010-12-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31
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.
37
38 2010-12-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39
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.
45
46         * libltdl/m4/libtool.m4 (_LT_SETUP): Fix quoting for
47         PATH_SEPARATOR.
48
49 2010-12-15  KO Myung-Hun  <komh@chollian.net>  (tiny change)
50             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51
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
55         PATH_SEPARATOR.
56         * libltdl/config/general.m4sh: Use PATH_SEPARATOR when computing
57         $progpath.
58         * THANKS: Update.
59
60 2010-12-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61
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.
68
69         Honor $AUTOCONF, $AUTOMAKE in --help output.
70         * libltdl/config/getopt.m4sh (func_help): Use $AUTOCONF and
71         $AUTOMAKE if set, for --version outout.
72
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.
77
78 2010-11-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79
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
87         variable.
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.
93
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.
97
98 2010-11-07  Ollie Wild  <aaw@google.com>
99
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.
109
110 2010-11-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111
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.
116
117 2010-11-01  Peter Rosin  <peda@lysator.liu.se>
118
119         docs: Windows DLLs and headers.
120         * doc/libtool.texi (Platform quirks): Add new subsection
121         'Windows DLLs'.
122
123         * doc/libtool.texi (Platform quirks): Fix typo.
124
125 2010-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
126
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
130         it.
131         * THANKS: Update.
132         Report by Markus Duft.
133
134 2010-10-15  Gary V. Vaughan  <gary@gnu.org>
135
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.
143
144 2010-10-15  Gary V. Vaughan  <gary@gnu.org>
145
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
151         time...
152         (configure_edit): ...and substitutions that should not happen until
153         configure time.
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.
161
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.'
168         section.
169
170 2010-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
171
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.
178         * THANKS: Update.
179         Report by Paul Laight.
180
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.
192
193         tests: remove unneeded 'bindir compile check' test.
194         * tests/bindir.at (bindir compile check): Remove.
195
196 2010-10-14  Peter Rosin  <peda@lysator.liu.se>
197
198         tests: fix $EXEEXT typo.
199         * tests/depdemo-relink.test (func_restore_files): Use $EXEEXT
200         instead of $EXEXT.
201
202 2010-10-12  Simon Josefsson  <simon@josefsson.org>
203             Matěj Týč <matej.tyc@gmail.com>
204             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
205
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
210         time.
211
212 2010-10-09  Paolo Bonzini  <bonzini@gnu.org>
213
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.
220
221 2010-10-07  Roumen Petrov  <bugtrack@roumenpetrov.info>
222
223         Add test case for 69e77671 (cwrapper PATH manipulation order)
224         * tests/cwrapper.at: Add new test 'cwrapper and installed shared
225         libraries.'
226
227 2010-10-04  Peter Rosin  <peda@lysator.liu.se>
228
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.
235
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
242         regress.
243         * Makefile.am (TESTSUITE_AT): Update.
244
245 2010-09-27  Peter Rosin  <peda@lysator.liu.se>
246
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.
250
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.
254
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
269         building libl1.la.
270         * tests/depdemo/l2/Makefile.am: Define BUILDING_LIBL2 when
271         building libl2.la.
272         * tests/depdemo/l3/Makefile.am: Define BUILDING_LIBL3 when
273         building libl3.la.
274         * tests/depdemo/l4/Makefile.am: Define BUILDING_LIBL4 when
275         building libl4.la.
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.
281
282 2010-09-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
283
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.
288
289 2010-09-23  Peter Rosin  <peda@lysator.liu.se>
290
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.
297
298 2010-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
299
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.
304         * NEWS: Update.
305         Regression introduced in v2.2.6-39-g9c3d4d8.
306
307 2010-09-22  Gary V. Vaughan  <gary@gnu.org>
308
309         Post-release administrivia.
310         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
311         numbers to 2.4.1a.
312         * NEWS: Add header line for next release.
313
314         Release 2.4.
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
318         numbers.
319         * NEWS: Update version number.
320
321         manual: web-manual index.html clashes with @node Index.
322         * doc/libtool.texi (Index): Renamed to `Combined Index'.
323
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
327         failure with C++.
328
329 2010-09-22  Peter Rosin  <peda@lysator.liu.se>
330
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
336         objects do not work.
337         * doc/libtool.texi (libtool script contents) <reload_cmds>:
338         Document how to indicate that reloadable objects do not work.
339
340 2010-09-21  Peter Rosin  <peda@lysator.liu.se>
341
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.
349
350 2010-09-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
351
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.
360
361 2010-09-21  Gary V. Vaughan  <gary@gnu.org>
362
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.
369
370 2010-09-20  Eric Blake  <eblake@redhat.com>
371
372         maint: drop autobuild requirement
373         * HACKING: Update.
374
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.
379
380 2010-09-20  Peter Rosin  <peda@lysator.liu.se>
381             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
382
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
387         succeed on MSVC.
388
389 2010-09-20  Peter Rosin  <peda@lysator.liu.se>
390
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.
396
397 2010-09-19  Peter Rosin  <peda@lysator.liu.se>
398
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
402         test pass on MSVC.
403
404 2010-09-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
405
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.
409
410 2010-09-18  Gary V. Vaughan  <gary@gnu.org>
411
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
417         tarball.
418
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.
423
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.
427
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.
432
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.
438
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.
442
443 2010-09-17  Peter Rosin  <peda@lysator.liu.se>
444
445         tests: actually detect missing 'test' in 'if "$foo" = ...'.
446         * tests/sh.test: Remove extra backslash in regex.
447
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++.
451
452 2010-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
453
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
457         -flto*.
458
459 2010-09-17  Charles Wilson  <libtool@cwilson.fastmail.fm>
460
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>
469
470 2010-09-17  Charles Wilson  <libtool@cwilson.fastmail.fm>
471
472         Document libtool variable to_host_file_cmd.
473         * doc/libtool.texi (libtool script contents:to_host_file_cmd):
474         Document variable.
475         (libtool script contents:to_tool_file_cmd): Prefer `build platform'
476         to `build system'; Ditto `host platform'.
477
478 2010-09-16  Charles Wilson  <libtool@cwilson.fastmail.fm>
479
480         Fix sh.test failure introduced in 72064249
481         * libltdl/config/ltmain.m4sh (func_mode_link): Avoid poor
482         syntax.
483
484 2010-09-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
485
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.
491
492 2010-09-13  Peter Rosin  <peda@lysator.liu.se>
493
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
501         test pass.
502
503 2010-09-15  Gary V. Vaughan  <gary@gnu.org>
504
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'
510         section.
511
512 2010-09-14  Eric Blake  <eblake@redhat.com>
513
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.
520
521 2010-09-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
522
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
526         avoid long lines.
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
533         long lines.
534
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
542         appropriate.
543
544 2010-09-12  Peter Rosin  <peda@lysator.liu.se>
545
546         * .gitignore: Ignore *.obj files for MSVC (and w32 in general).
547
548         Adjust to moved auxiliary files and add compile.
549         * HACKING (Maintenance Notes): Adjust to moved files.  Add the
550         compile script.
551         * Makefile.maint (fetch): Also fetch the compile script.
552
553 2010-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
554
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
560         4.3.10.
561
562 2010-09-12  Charles Wilson  <libtool@cwilson.fastmail.fm>
563
564         When assigning $linklib value, honor [-all]-static[-libtool-libs]
565
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
569         present.
570
571 2010-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
572
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.
576
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.
582
583 2010-09-12  Jürgen Reuter  <juergen.reuter@physik.uni-freiburg.de>  (tiny change)
584             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
585
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.
589         * NEWS: Update.
590
591 2010-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
592
593         Fix getopt.m4sh to require Autoconf 2.62 or newer.
594         * libltdl/config/getopt.m4sh (m4_version_prereq): Require 2.62,
595         not 2.61.
596
597 2010-09-11  Charles Wilson  <libtool@cwilson.fastmail.fm>
598
599         Correct typo: $sharedlib_from_linklib_cmd missing '_cmd'
600
601         * libltdl/config/ltmain.m4sh (func_generate_dlsyms): Fix obvious
602         typo, $sharedlib_from_linklib_cmd missing '_cmd'.
603
604 2010-09-10  Peter Rosin  <peda@lysator.liu.se>
605
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).
614
615 2010-09-09  Peter Rosin  <peda@lysator.liu.se>
616
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
620         not desired.
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.
625
626 2010-09-08  Peter Rosin  <peda@lysator.liu.se>
627
628         Mention adjustment of naming of MSVC import libraries in NEWS.
629         * NEWS: Mention the change in import library naming on MSVC.
630
631 2010-09-07  Peter Rosin  <peda@lysator.liu.se>
632
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.
641
642         Fixup texi typo in previous.
643         * doc/libtool.texi (libtool script content) <postlink_cmds>:
644         Add missing 'code' command.
645
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
650         in w32 format.
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
657         @OUTPUT@ content.
658         * doc/libtool.texi (libtool script content): Update description
659         of postlink_cmds to mention @TOOL_OUTPUT@.
660
661 2010-09-06  Peter Rosin  <peda@lysator.liu.se>
662
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.
670
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.
678
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.
686
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.
701
702 2010-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
703
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
707         with mode 555.
708
709 2010-09-01  Charles Wilson  <libtool@cwilson.fastmail.fm>
710
711         Path conversion documentation
712         * doc/libtool.texi (Platform quirks): Add new subsections
713         'Cross compiling' and 'File name conversion'.
714
715 2010-09-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
716
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
720         the test.
721
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.
727
728         Avoid leaking make flags into testsuite results.
729         * tests/defs.m4sh: Unset MFLAGS, MAKEFLAGS, MAKELEVEL, __MKLVL__
730         and MAKE_JOBS_FIFO.
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.
737
738 2010-09-01  Gary V. Vaughan  <gary@gnu.org>
739
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
746         now removed too.
747         * Makefile.maint (announce-gen, libltdl/config/mailnotify):
748         Targets removed.
749         * bootstrap: Remove the mailnotify regeneration warning.
750         * HACKING (Release Procedure): Remove references to
751         announce-gen.
752         (Alpha release note template, Full release note template):
753         Reinstated from before announce-gen was introduced.
754
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.
762
763 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
764
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.
769
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.
774
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.
778
779 2010-08-31  Gary V. Vaughan  <gary@gnu.org>
780
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)
793         (commit): Likewise.
794
795 2010-08-31  Peter Rosin  <peda@lysator.liu.se>
796
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
802         currently broken.
803
804 2010-08-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
805
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
811         subprocesses.
812
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.
816
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
821         as expected to fail.
822         Suggested by Bob Friesenhahn.
823
824 2010-08-30  Eric Blake  <eblake@redhat.com>
825
826         Simplify recent configure quoting portability workaround.
827         * configure.ac: Simplify setting of timestamp_string.
828
829 2010-08-30  Charles Wilson  <libtool@cwilson.fastmail.fm>
830
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.
835
836 2010-08-29  Peter Rosin  <peda@lysator.liu.se>
837
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.
841
842 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
843
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>:
852         Likewise.
853         (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o.
854         * NEWS: Update.
855
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.
861
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
870         used.
871
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.
876
877         Silence order-only configure test for AIX make.
878         * configure.ac: Also drop standard output, for AIX 5.1 make.
879
880 2010-08-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
881
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.
885
886 2010-08-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
887
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):
900         New variables.
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.
926
927 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
928
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.
934
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.
954
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.
963         * NEWS: Update.
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):
975         Likewise.
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.
980
981 2010-08-28  Dave Korn  <dave.korn.cygwin@googlemail.com>
982
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.
987
988 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
989
990         Fix quoting in non-XSI func_xform, for IRIX sh.
991         * libltdl/config/ltmain.m4sh (func_xform): Remove spurious extra
992         M4 quotes.
993
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
999         temporary variables.
1000
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
1006         given language.
1007         * NEWS: Update.
1008
1009 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1010
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.
1016
1017 2010-08-22  Charles Wilson  <libtool@cwilson.fastmail.fm>
1018
1019         fix --mode=finish
1020         * libltdl/config/ltmain.m4sh (func_mode_finish): Invert then/else
1021         blocks of the "if $opt_dry_run" conditional.
1022
1023 2010-08-15  Paolo Bonzini  <bonzini@gnu.org>
1024
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.
1030
1031 2010-08-12  Paolo Bonzini  <bonzini@gnu.org>
1032
1033         add libtool --mode=finish mode for sysroot
1034         * doc/libtool.texi (Finish mode): Document behavior when *.la files
1035         are passed.
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
1040         afterwards.
1041
1042         reorganize parsing of --mode=finish arguments
1043         * libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for
1044         directories and *.la files.
1045
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.
1049
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.
1053
1054 2010-07-29  Paolo Bonzini  <bonzini@gnu.org>
1055
1056         initial version of the NEWS entry
1057         * NEWS: Document sysroot support.
1058
1059         add sysroot test
1060         * Makefile.am (TESTSUITE_AT): Add tests/sysroot.at.
1061         * tests/sysroot.at: New.
1062
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.
1068
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.
1074
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.
1079
1080 2010-07-28  Paolo Bonzini  <bonzini@gnu.org>
1081
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.
1088
1089         add --with-sysroot
1090         * libltdl/m4/libtool.m4 (_LT_HOST_NONCANONICAL, _LT_WITH_SYSROOT): New.
1091         (LT_SETUP): Require _LT_WITH_SYSROOT.
1092
1093         handle sysroot flags
1094         * libltdl/config/ltmain.m4sh (func_mode_link): Recognize --sysroot
1095         option.
1096
1097 2010-08-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1098
1099         * NEWS: Only bootstrapping needs new Automake and Autoconf.
1100
1101         check-interactive and check-noninteractive for both testsuites.
1102         * Makefile.am (COMMON_TESTS, TESTS): Split into ...
1103         (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new
1104         variables.
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
1112         entries.
1113
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.
1119
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.
1128
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.
1142
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:
1172         New files.
1173
1174         Require Automake 1.11.1 for Libtool, enable color-tests.
1175         * configure.ac (AM_INIT_AUTOMAKE): Require 1.11.1.  Enable
1176         color-tests.
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.
1182
1183 2010-08-23  Charles Wilson  <libtool@cwilson.fastmail.fm>
1184
1185         Fix syntax for cygwin-cross
1186         libltdl/m4/argz.m4: Add quotes around variable, which
1187         may contain the multiword value 'guessing no'.
1188
1189 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1190
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.
1195         * HACKING: Update.
1196
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.
1202
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
1206         $(AM_MAKEFLAGS).
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.
1212
1213 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
1214
1215         Fix sed_make_literal_regex.
1216         * libltdl/config/general.m4sh (sed_make_literal_regex): Fix
1217         definition.
1218
1219 2010-08-15  Paolo Bonzini  <bonzini@gnu.org>
1220
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
1225         by Ralf Wildenhues.
1226
1227 2010-08-21  Rainer Tammer <tammer@tammer.net>  (tiny change)
1228
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.
1233
1234 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1235
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
1240         library.
1241         Report by Rainer Tammer.
1242
1243         Remove dead code from versioning test.
1244         * tests/versioning.at (versioning): No need to build unused
1245         prog3.
1246
1247 2010-08-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1248
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.
1252
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.
1256
1257         Bump copyright years in manual.
1258         * doc/libtool.texi: Bump copyright years.
1259
1260 2010-08-13  Peter Rosin  <peda@lysator.liu.se>
1261
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
1267         archiver_list_spec.
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
1271         linking (-r -o).
1272         * doc/libtool.texi (libtool script contents): Update with
1273         archiver_list_spec description.
1274
1275 2010-08-10  Gary V. Vaughan  <gary@gnu.org>  (tiny change)
1276
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>
1282
1283 2010-08-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1284
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
1289         assignment.
1290
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.
1296
1297 2010-08-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1298
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.
1302
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.
1309
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
1313         might fail.
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.
1317
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.
1323
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.
1329
1330 2010-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1331
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
1336         avoid link test.
1337         Bug report by Rainer Tammer.
1338
1339         Fix ltdl-libdir test for C++ compilers.
1340         * tests/ltdl-libdir.at (libdir of installed modules): Declare
1341         module function as extern "C".
1342
1343 2010-08-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1344
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.
1350
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.
1356
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
1364         expected output.
1365         Fixes testsuite failures on AIX, FreeBSD, etc.
1366         Report by Rainer Tammer.
1367
1368 2010-08-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1369
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.
1376
1377 2010-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1378
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.
1384
1385 2010-08-01  Paolo Bonzini  <bonzini@gnu.org>
1386
1387         Fix bug in postdeps computation
1388         * libltdl/m4/libtool.m4 (_LT_SYS_HIDDEN_LIBDEPS): Actually
1389         concatenate $prev and $p.
1390
1391 2010-07-26  Charles Wilson  <libtool@cwilson.fastmail.fm>
1392
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.
1397
1398 2010-07-18  Peter Rosin  <peda@lysator.liu.se>
1399
1400         * tests/stresstest.at: Link with main.lo when liba is shared
1401         and linking main with -no-install.
1402
1403 2010-07-18  Peter Rosin  <peda@lysator.liu.se>
1404
1405         * tests/stresstest.at [MSVC]: dllimport all imported
1406         variables.
1407
1408 2010-07-17  Peter Rosin  <peda@lysator.liu.se>
1409
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.
1413
1414 2010-07-08  Peter Rosin  <peda@lysator.liu.se>
1415             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1416
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.
1425
1426 2010-07-08  Gary V. Vaughan  <gary@gnu.org>
1427
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
1437         implementations.
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.
1446
1447 2010-07-08  Peter Rosin  <peda@lysator.liu.se>
1448
1449         Optimize assignment of output_la.
1450         * libltdl/config/ltmain.m4sh (func_mode_link): Save two fork/exec
1451         instances.
1452         Report by Ralf Wildenhues.
1453
1454 2010-07-08  Gary V. Vaughan  <gary@gnu.org>
1455
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.
1459
1460 2010-07-07  Gary V. Vaughan  <gary@gnu.org>
1461
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.
1465
1466 2010-07-07  Charles Wilson  <libtool@cwilson.fastmail.fm>
1467
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)
1481         for later use.
1482         (func_win32_libid): Accomodate pei-i386 import libs
1483         as well as pe-i386.
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.
1502
1503 2010-07-05  Peter Rosin  <peda@lysator.liu.se>
1504
1505         * tests/export.at [MSVC]: dllimport all imported variables.
1506
1507 2010-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1508             Peter Rosin  <peda@lysator.liu.se>
1509
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
1517         new variable.
1518
1519 2010-07-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1520
1521         Fix ccache test for MSVC.
1522         * tests/static.at (ccache -all-static): Ignore compiler stderr.
1523         Reported by Peter Rosin.
1524
1525 2010-07-03  Charles Wilson  <libtool@cwilson.fastmail.fm>
1526
1527         Avoid false failures caused by filesystem interaction
1528         * tests/dlloader-api.at (dlloader API): Use uglified names for
1529         pseudo-modules.
1530
1531 2010-07-03  Peter Rosin  <peda@lysator.liu.se>
1532
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.
1536
1537 2010-07-02  Peter Rosin  <peda@lysator.liu.se>
1538
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
1543         more unlikely.
1544         (_LT_LANG_CXX_CONFIG): Likewise, but also add the missing |.
1545
1546 2010-07-01  Peter Rosin  <peda@lysator.liu.se>
1547
1548         Fix regression caused by "Add func_append_quoted and do..."
1549         * libltdl/config/ltmain.m4sh (func_mode_link): Remove leftover
1550         "_libs" trash.
1551
1552 2010-06-28  Peter Rosin  <peda@lysator.liu.se>
1553
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
1572         the commands.
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
1581         testsuite.
1582         * NEWS: Add note of the new MANIFEST_TOOL environment variable.
1583
1584 2010-06-24  Peter Rosin  <peda@lysator.liu.se>
1585
1586         Add MSVC support.
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.
1592
1593 2010-07-01  Gary V. Vaughan  <gary@gnu.org>
1594
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.
1601
1602 2010-06-30  Gary V. Vaughan  <gary@gnu.org>
1603
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
1607         ltmain.m4sh.
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
1611         implementation.
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
1616         shells.
1617
1618 2010-06-29  Gary V. Vaughan  <gary@gnu.org>
1619
1620         Correct func_split_short_opt comment cut-n-pasto.
1621         * libtool/config/getopt.m4sh (func_split_short_opt): Fix
1622         the function comment.
1623
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.
1632
1633 2010-06-28  Gary V. Vaughan  <gary@gnu.org>
1634
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
1640         complicate things.
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
1650         overhead.
1651
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
1655         short option.
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
1665         supports that.
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.
1670
1671 2010-06-27  Gary V. Vaughan  <gary@gnu.org>
1672
1673         Add missing case branch terminators.
1674         * libltdl/config/ltmain.m4sh: Fixed everal case branches with
1675         missing ';;' terminators.
1676
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>
1682
1683         Amend a missed opt_mode rename instance in ltmain.m4sh.
1684         * libltdl/config/ltmain.m4sh <mode>: Rename to opt_mode.
1685
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.
1694
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
1706         implementation.
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
1710         supports that.
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
1716         message leader.
1717         * libltdl/config/getopt.m4sh (m4_version_prereq): This file
1718         requires m4sugar.m4 from Autoconf-2.61 or newer. 
1719
1720 2010-06-24  Charles Wilson  <libtool@cwilson.fastmail.fm>
1721
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
1729         module.h.
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.
1738
1739 2010-06-21  Gary V. Vaughan  <gary@gnu.org>
1740
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.
1748
1749 2010-06-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1750
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.
1755
1756         Add comment for exception handling module unloading issue.
1757         * tests/exceptions.at (C++ exception handling): Add comment
1758         for last patch.
1759
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
1765         10.20.
1766
1767 2010-06-19  Charles Wilson  <libtool@cwilson.fastmail.fm>
1768
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++
1775         compilers.
1776
1777 2010-06-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1778
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.
1782
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.
1787
1788         Let the bootstrap script fail upon errors.
1789         * bootstrap: Enable errexit.
1790
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.
1794         * THANKS: Update.
1795         Report by Jay K.
1796
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):
1803         New file, new test.
1804         * Makefile.am (TESTSUITE_AT): Update.
1805         * NEWS, THANKS: Update.
1806         Suggestion by Joakim Tjernlund and Paolo Bonzini.
1807
1808 2010-06-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1809
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.
1814
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
1822         PACKAGE_STRING.
1823         * libltdl/config/announce-gen.m4sh: Use @PACKAGE@ not
1824         @PACKAGE_STRING@.
1825
1826 2010-06-15  Peter Rosin  <peda@lysator.liu.se>
1827
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
1833         of the above.
1834         * Makefile.am: Add above new test.
1835         * doc/libtool.texi (libtool script contents): Document
1836         new variables.
1837         * NEWS: Updated.
1838
1839 2010-06-15  Philip Allison  <philip.allison@smoothwall.net>  (tiny change)
1840
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.
1844         * THANKS: Update.
1845
1846 2010-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1847
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.
1853
1854 2010-06-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1855
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.
1860
1861 2010-06-14  Peter O'Gorman  <peter@pogma.com>
1862
1863         Pass resident test with --disable-shared too.
1864         * tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.
1865
1866 2010-06-13  Peter O'Gorman  <peter@pogma.com>
1867
1868         Test with --disable-shared at release time too.
1869         * HACKING: Note it.
1870
1871         Avoid failure for --disable-shared.
1872         * tests/lt_dladvise.at: Hack.
1873
1874         Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
1875         * tests/exceptions.at: Use it.
1876
1877 2010-06-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1878
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.
1892
1893 2010-06-12  Peter Rosin  <peda@lysator.liu.se>
1894             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1895
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.
1904
1905 2010-06-11  Peter O'Gorman  <peter@pogma.com>
1906
1907         Skip bindir install test if we're not building shared.
1908         * tests/bindir.at: Skip install test if necessary.
1909         * THANKS: Update.
1910         Report by Michael E Faenza.
1911
1912 2010-06-11  Gary V. Vaughan  <gary@gnu.org>
1913
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.
1923
1924 2010-06-10  Peter O'Gorman  <peter@pogma.com>
1925
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.
1930
1931 2010-06-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1932
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.
1938
1939 2010-06-10  Gary V. Vaughan  <gary@gnu.org>
1940
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.
1951
1952         Fix a typu in HACKING.
1953         * HACKING (Release Procedure): s/Makeflie/Makefile/.
1954
1955 2010-06-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1956
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.
1966         * THANKS: Update.
1967         Report by Warren Dodge.
1968
1969 2010-06-09  Peter O'Gorman  <peter@pogma.com>
1970
1971         Skip demo-nopic tests if SELinux policy will cause failure.
1972         * tests/demo-nopic.test: Check SELinux policy and skip if
1973         necessary.
1974
1975 2010-06-09  Gary V. Vaughan  <gary@gnu.org>
1976
1977         Set SCM version number to 2.2.11a.
1978         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
1979         number to 2.2.11a.
1980         * NEWS: Updated.
1981
1982         GNU Libtool 2.2.10 was released.
1983
1984         Prepare for next release.
1985         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version number
1986         to 2.2.10.
1987         * NEWS: Update version number.
1988
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
1992         expanded properly.
1993
1994 2009-09-15  Peter Rosin  <peda@lysator.liu.se>
1995
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
2000         shared library.
2001         * NEWS: Updated.
2002
2003 2010-06-09  Gary V. Vaughan  <gary@gnu.org>
2004
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
2015         file.
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 
2022         license any more.
2023         (GPL with Libtool exception clause): Ditto, only libltdl/README
2024         used to be distributed with this variation.
2025         * AUTHORS: Add GPL license text.
2026         
2027         Fix a type in the 2.2.8 release notes.
2028         * NEWS: s/ romoted/ promoted/ in the 2.2.8 release notes.
2029
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".
2034
2035         Enable correct extraction of multiline copyright from --version.
2036         * libltdl/config/getopt.m4sh: Wrap copyright notice at 76
2037         columns.
2038         (func_version): Don't omit spaces when merging multiline copyright
2039         notices.
2040         * clcommit.m4sh, libtoolize.m4sh: Wrap copyright notice at 76
2041         columns.
2042
2043         * NEWS (2.2.8): BlueGene compiler tests were performed on BG/P
2044         systems, not BG/L.
2045         Reported by Christian Rössel <christian.roessel@gmx.de>
2046
2047 2010-06-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2048
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
2053         the AT_CHECK code.
2054         Report and analysis by Peter Rosin.
2055
2056         Avoid autom4te warning about unnamed diversion.
2057         * libltdl/config/getopt.m4sh: Use diversion name KILL not -1.
2058
2059 2010-06-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2060
2061         Make versioning test stricter for w32, enable shared libs.
2062         * tests/versioning.at (versioning): Add -no-undefined to
2063         LDFLAGS.
2064         (test_uninstalled): Also move $bindir out of the way
2065         temporarily.
2066
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.
2073         * THANKS: Update.
2074         Report by Ryan Hill.
2075
2076 2010-06-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2077
2078         Rewrite manual intro to be gender-neutral.
2079         * doc/libtool.texi (Introduction): Use gender-neutral
2080         formulation when addressing developers.
2081
2082 2010-06-05  Gary V. Vaughan  <gary@gnu.org>
2083
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.
2088
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.
2092
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.
2096         
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.
2101
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.
2107
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.
2111
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.
2116
2117         Set SCM version number to 2.2.9a.
2118         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2119         number to 2.2.9a.
2120         * NEWS: Updated.
2121
2122         GNU Libtool 2.2.8 was released.
2123
2124         Prepare for next release.
2125         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2126         number to 2.2.8.
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.
2131
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
2138         radically.
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
2146         announce-gen.
2147         (Alpha release note template, Full release note template):
2148         Removed.
2149
2150 2010-05-22  Gary V. Vaughan  <gary@gnu.org>
2151
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>
2158
2159 2010-05-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2160
2161         * HACKING: Set Reply-To: in announcement emails.
2162
2163 2010-05-21  Gary V. Vaughan  <gary@gnu.org>
2164
2165         Set SCM version number to 2.2.7c.
2166         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2167         number to 2.2.7c.
2168         * NEWS: Updated.
2169
2170         GNU Libtool 2.2.7b  was released.
2171
2172         Prepare for next release candidate.
2173         * configure.ac, libltdl/configure.ac (AC_INIT): Bump version
2174         number to 2.2.7b.
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.
2185
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.
2192
2193 2010-05-05  Peter Rosin  <peda@lysator.liu.se>
2194
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>
2199
2200 2010-05-04  Peter O'Gorman  <peter@pogma.com>
2201
2202         Ranlib is required with -force_load and fat archives.
2203         * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Run
2204         ranlib.
2205         Reported by Jeremy Huddleston <jeremyhu@apple.com>
2206
2207 2010-04-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2208
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.
2217
2218 2010-04-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2219
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
2224         $compiler_flags.
2225
2226 2010-03-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2227
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 '
2232         semantics better.
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>.
2238
2239 2010-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2240
2241         Fix preloader symbol list declaration in libltdl.
2242         * libltdl/ltdl.c (preloaded_symbols): Fix declaration to include
2243         array brackets.
2244         (lt_dlinit): Do not take address of preloaded_symbols.
2245
2246         Fix typo in libtool --help output.
2247         * libltdl/config/ltmain.m4sh (func_mode_help): Fix typo in help
2248         output.
2249
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.
2254
2255         Do not use @sc nor @acronym in the manual.
2256         * doc/libtool.texi: Remove all usage of @sc.
2257
2258 2010-03-19  Chris Demetriou  <cgd@google.com>
2259
2260         Sort output of 'find' to enable deterministic builds.
2261         * libltdl/config/ltmain.m4sh (func_extract_archives): Sort
2262         output of 'find'.
2263         * libltdl/m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Likewise.
2264         * THANKS: Update.
2265
2266 2010-03-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2267
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>.
2275
2276 2010-03-17  Peter Rosin  <peda@lysator.liu.se>
2277
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
2281         error.
2282         Report by Ralf Wildenhues.
2283
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
2299         it if it is.
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.
2306
2307 2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2308
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.
2313         * NEWS: Update.
2314         Report by Vadim Zeitlin.
2315
2316 2010-02-28  Pierre Ossman  <ossman@ossman.lkpg.cendio.se>  (tiny change)
2317             Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2318
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
2325         file, new test.
2326         * Makefile.am (TESTSUITE_AT): Update.
2327         * NEWS: Update.
2328
2329 2010-02-24  Scott McCreary  <scottmc2@gmail.com>  (tiny change)
2330
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.
2335         * THANKS: Update.
2336
2337 2010-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2338
2339         manual: fix detailmenu ordering.
2340         * doc/libtool.texi (Top): Add section for `Linking executables'
2341         in the detailmenu.
2342
2343 2010-02-21  Charles Wilson <libtool@cwilson.fastmail.fm>
2344
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.
2350
2351 2010-02-21  Charles Wilson <libtool@cwilson.fastmail.fm>
2352
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.
2362
2363 2010-02-21  Charles Wilson <libtool@cwilson.fastmail.fm>
2364
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.
2372
2373 2010-02-21  Charles Wilson <libtool@cwilson.fastmail.fm>
2374
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
2385         conforms to GCS.
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
2396         -DLT_DEBUGWRAPPER.
2397
2398 2010-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2399
2400         Use --email with gendocs.sh.
2401         * Makefile.maint (web-manual): Pass bug reporting address to
2402         gendocs.sh.
2403
2404         Make testsuite code C++ clean again.
2405         * tests/resident.at (resident modules): Fix for C++.
2406
2407 2010-01-29  Peter Rosin  <peda@lysator.liu.se>
2408             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2409
2410         Testsuite exposure for dlloader API.
2411         * tests/dlloader-api.at: New file, new test.
2412         * Makefile.am (TESTSUITE_AT): Update.
2413
2414 2010-01-29  Peter Rosin  <peda@lysator.liu.se>
2415
2416         * tests/loadlibrary.at: Fix C++ issues.
2417
2418 2010-01-20  Peter Rosin  <peda@lysator.liu.se>
2419
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
2425         easy to use.
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.
2432
2433 2010-01-02  Peter Rosin  <peda@lysator.liu.se>
2434
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.
2444
2445 2010-01-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2446
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.
2451
2452         Testsuite exposure for relative output file names and deplibs.
2453         * tests/deplib-in-subdir.at (deplib in subdir): New file, new
2454         test.
2455         * Makefile.am (TESTSUITE_AT): Update.
2456         Prompted by report from Bob Friesenhahn.
2457
2458 2010-01-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2459             Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
2460
2461         Testsuite exposure for C++ exception handling.
2462         * tests/exceptions.at (C++ exception handling): New file, new
2463         test.
2464         * Makefile.am (TESTSUITE_AT): Update.
2465         Report by Bob Friesenhahn.
2466
2467 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2468
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.
2476
2477 Continued in ChangeLog.2009
2478 -- 
2479   Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2480   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2481
2482   This file is part of GNU Libtool.
2483
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.
2488
2489 vim:tw=72