* libltdl/m4/libtool.m4 (_LT_PROG_FC): Undo commit - bad idea.
[libtool.git] / ChangeLog.2007
blob23e3107b584c1460e1e8bfda8a6b8cc209893c24
1 2007-11-30  Stefan Sperling  <stsp@elego.de>  (tiny change)
3         * doc/libtool.texi (Linking executables): Reorder paragraphs.
5 2007-11-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ linux ]: The IBM
8         XL 8.0 C++ compiler may also be called xlc++*, not only xlC*.
9         Report by Nysal K Jan <jnysal@in.ibm.com>.
11 2007-11-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13         * libltdl/m4/libtool.m4 (_LT_CHECK_BUILDDIR): New macro.
14         Warn about whitespace in the absolute build tree name.
15         (LT_INIT): Use it.
16         * THANKS: Update.
17         Report by Jim Meyering.
19         * libltdl/config/ltmain.m4sh (func_extract_an_archive)
20         (func_extract_archives): Add some quoting.
22 2007-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24         Use `${top_build_prefix}' for better compatibility with non-GNU make.
25         * libltdl/m4/ltdl.m4 (_LT_BUILD_PREFIX): New macro.
26         If the Autoconf version used is >= 2.62, then expand to
27         `${top_build_prefix}', otherwise to `${top_builddir}/'.
28         (LTDL_CONVENIENCE, LTDL_INSTALLABLE): Use it for defining
29         LIBLTDL.  Fixes a build failure with AIX make in a package
30         using convenience libltdl in nonrecursive mode.
31         * doc/libtool.texi (Distributing libltdl): Document requirements
32         to define `top_build_prefix' if Automake is not used.
33         Report by Bob Friesenhahn.
35 2007-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37         Avoid warnings about conftest.dSYM directories on Mac OS X Leopard.
38         * libltdl/m4/libtool.m4 (_LT_LINKER_BOILERPLATE)
39         (_LT_LINKER_OPTION, _LT_CMD_GLOBAL_SYMBOLS): Remove
40         conftest.dSYM directory.
41         Report and analysis by Jeff Squyres and Peter O'Gorman.
43 2007-11-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45         * libltdl/configure.ac: Drop the broken and long-disabled code
46         to output a banner for the libltdl configure.  Avoids the need
47         to ship mkstamp with libltdl.
49 2007-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51         * tests/runpath-in-lalib.at: New test.
52         * Makefile.am: Update.
53         Report by Benoit SIGOURE <tsuna@lrde.epita.fr>.
55 2007-10-16  Eric Blake  <ebb9@byu.net>
57         Speed up bootstrap by improving lt_join.
58         * libltdl/m4/ltsugar.m4 (lt_join, _lt_join): Rewrite to mirror
59         Autoconf 2.62's faster implementation.
61 2007-10-12  Eric Blake  <ebb9@byu.net>
63         Whitespace cleanup.
64         * libltdl/m4/ltsugar.m4: Avoid space-tab in indents.
65         * libltdl/m4/libtool.m4: Avoid trailing space.
67         Deal with Autoconf 2.62's semantic change in m4_append.
68         * libltdl/m4/ltsugar.m4 (lt_append): Replace broken versions of
69         m4_append.
70         (lt_if_append_uniq): Don't require separator to be overquoted, and
71         avoid broken m4_append.
72         (lt_dict_add): Fix typo.
73         * libltdl/m4/libtool.m4 (_LT_DECL): Don't overquote separator.
75 2007-10-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77         * libltdl/config/ltmain.m4sh: Also sanitize `LANGUAGE'.
78         (func_mode_execute): Also restore `LANGUAGE', for old glibc.
79         Report by Paul Eggert against Autoconf.
81 2007-10-11  Eric Blake  <ebb9@byu.net>
83         * libltdl/.cvsignore: Ignore argz.h.
85 2007-10-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC)
88         <lt_cv_prog_compiler_pic_works>: Renamed from
89         lt_prog_compiler_pic_works.
90         <lt_cv_prog_compiler_static_works>: Renamed from
91         lt_prog_compiler_static_works.
92         * NEWS: Update.
94 2007-10-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96         * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
97         extension `.sx'.
98         * tests/suffix.test: Test it.
100 2007-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102         * libltdl/lt_dlloader.c (loader_callback, lt_dlloader_get): Use
103         NULL, not 0, for the benefit of too picky compilers like PGI.
104         * slist.c (slist_tail): Likewise.  Include stddef.h, for NULL.
105         Report by Jeff Squyres.
107 2007-09-05  Eric Blake  <ebb9@byu.net>
109         * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller
110         has set data.
112 2007-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114         * doc/libtool.texi (User defined module data)
115         <lt_dlinterface_register>: Document that a NULL place matches
116         all modules.
117         * libltdl/lt_dlloader.c (lt_dlloader_remove): Actually iterate
118         over all open modules when looking for modules that use it.
119         If a resident module is found, return but do not set the error
120         string.
121         * libltdl/ltdl.c (lt_dlexit): When removing dlloaders, ignore
122         errors that stem from earlier failed commands.  Exposed by the
123         lt_dladvise test.
124         Fixes regression over branch-1-5.
125         Memleak report as Coverity CID 19 via Jeff Squyres.
127 2007-09-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
129         * NEWS: Update.
131         * libltdl/ltdl.c (trim): Fix possible write beyond array bound.
133         * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return
134         FILE_NOT_FOUND if the filename is "".
136         * libltdl/ltdl.c (try_dlopen): Fix computation of extension,
137         avoids subtracting pointer from NULL pointer.
139         * libltdl/ltdl.c (try_dlopen, lt_dlforeachfile): Do not test
140         array address of sys_dlsearch_path against NULL, rather test for
141         nonempty contents.
142         Coverity reports CID 148 and CID 149 via Jeff Squyres.
144         * libltdl/ltdl.c (tryall_dlopen_module): Fix string length
145         computation: do not allocate more than needed.
147 2007-08-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
149         * libltdl/loaders/preopen.c (vm_close): `module' is unused.
150         Coverity report CID 158 via Jeff Squyres.
152         * libltdl/ltdl.c (parse_dotla_file): If we run out of memory,
153         do not close the .la file twice.
154         Coverity report CID 440 via Jeff Squyres.
156         * libltdl/ltdl.c (has_library_ext): Remove dead code.
157         Coverity report CID 561 against Open MPI via Jeff Squyres.
159 2007-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
161         * libltdl/slist.c (slist_remove): When a matching item is found,
162         break out of the loop to return the first match; also fixes
163         possible NULL dereference.
165         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
166         (_LT_LANG_CXX_CONFIG) [ linux ]: Add support for IBM XL 8.0
167         C/C++ (xlc*, xlC*) and IBM XL Fortran 10.1 (xlf*) on GNU/Linux,
168         tested on ppc, pending a $shlibpath_var related fix.
169         (_LT_SYS_HIDDEN_LIBDEPS): Double-quote $output_verbose_link_cmd
170         properly during evaluation, obsoleting $no_glob_subst mangling.
171         * NEWS: Update.
173 2007-08-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
175         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
176         [ k*bsd*-gnu ] <shlibpath_overrides_runpath>: Avoid spurious
177         output in runpath test.
179 2007-08-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
181         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ mingw, cygwin ]
182         <GCJ>: Do not use -DDLL_EXPORT.
183         Report by Ross Ridge <rridge@csclub.uwaterloo.ca>.
185         * Makefile.am (edit): Do not warn against manual editing for the
186         generated files libtool, libtoolize, libltdl/m4/ltversion.m4,
187         tests/defs, as they are still in a preferred source code form as
188         required by GPL.
189         Report by DJ Delorie.
191 2007-08-15  Dirk Mueller  <dmueller@suse.de>  (tiny change)
192             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
194         * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen.  When
195         reading .la files, cope with files that are not
196         newline-terminated.
198 2007-08-05  Tilman Koschnick  <til@subnetz.org>  (tiny change)
200         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
201         [ linux ]: Treat pgcpp as Portland Group C++ compiler as well.
203 2007-08-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
205         * libltdl/ltdl.c (try_dlopen): Use `attempt' rather than
206         `filename', as the former has the needed extension when called
207         by lt_dlopenext.
208         Report by Brian Barrett.
210 2007-07-27  Peter Rosin  <peda@lysator.liu.se>
212         * Makefile.am: Pass STRIP through to the testsuite, so that
213         tests that run configure will use the same strip program.
215 2007-07-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
217         * tests/mdemo-exec.test: Also try absolute library names.
218         * tests/mdemo/main.c (test_dl, main): Try lt_dlopenext as well.
219         * THANKS: Update.
220         Report by Brian Barrett.
222 2007-07-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
224         * doc/fdl.texi: Update to GFDL 1.2.
225         * doc/libtool.texi: Adjust.  Put License in Appendix.
227         * libltdl/config/ltmain.m4sh (func_mode_link): Remove each
228         intermediate relinked object after use, to avoid quadratic space
229         complexity when linking partially.
230         Report by Isidor Zeuner <eezyy@gmx.net>.
232 2007-07-23  Eric Blake  <ebb9@byu.net>
234         * libltdl/config/ltmain.m4sh: Whitespace cleanup.
236         * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
237         <chase_symlinks>: Avoid compiler warning.
239 2007-07-22  Peter Rosin  <peda@lysator.liu.se>
241         * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): Add
242         support for Microsoft Visual C. Also, older MinGW versions
243         seem to need stdint.h to find intptr_t.
245 2007-07-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
247         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]:
248         Ignore lines in ld.so.conf starting with 'hwcap '.
250 2007-07-16  Charles Wilson  <libtool@cwilson.fastmail.fm>
252         * tests/cdemo-exec.test: use $EXEEXT where appropriate
253         to correct mingw cross-compile issues.
254         * demo-deplibs.test: Ditto.
255         * demo-exec.test: Ditto.
256         * demo-inst.test: Ditto.
257         * demo-relink.test: Ditto.
258         * depdemo-exec.test: Ditto.
259         * depdemo-inst.test: Ditto.
260         * depdemo-relink.test: Ditto.
261         * f77demo-exec.test: Ditto.
262         * fcdemo-exec.test: Ditto.
263         * mdemo-exec.test: Ditto.
264         * mdemo-inst.test: Ditto.
265         * mdemo2-exec.test: Ditto.
266         * pdemo-exec.test: Ditto.
267         * pdemo-inst.test: Ditto.
268         * tagdemo-exec.test: Ditto.
270 2007-07-14  Peter Rosin  <peda@lysator.liu.se>
272         * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin.
274 2007-07-13  Charles Wilson  <libtool@cwilson.fastmail.fm>
276         * libltdl/m4/libtool.m4 (func_dirname_and_basename) <XSI>:
277         New function.
278         (func_dirname_and_basename) <!XSI>: New function.
279         * libltdl/config/ltmain.m4sh (func_ltwrapper_scriptname):
280         Call it.  Also, take advantage of missed optimization using
281         func_dirname's additional arguments.
282         (func_mode_compile): Call it.
283         (func_mode_install): Call it.
284         (func_mode_link): Call it.
286 2007-07-12  Peter Rosin  <peda@lysator.liu.se>
288         * libltdl/config/ltmain.m4sh (func_mode_link): Strip the cwrapper
289         using $STRIP instead of relying on the tools to support -s, which
290         MSVC doesn't.
292 2007-07-06  Peter O'Gorman  <peter@pogma.com>
294         * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the
295         linker.
296         Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
298 2007-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
300         * libltdl/lt__alloc.c, libltdl/loaders/preopen.c,
301         libltdl/loaders/dyld.c, libltdl/loaders/dlopen.c, libltdl/ltdl.c,
302         libltdl/lt_error.c, libltdl/lt_dlloader.c, libltdl/lt__dirent.c:
303         Include lt__private.h prior to any system headers.
304         * libltdl/lt__alloc.c: Remove redundant inclusion of configuration
305         header.
307 2007-07-04  Eric Blake  <ebb9@byu.net>
309         * libltdl/ltdl.c (advise_dup): Delete function no longer used
310         after memleak fix three days ago.
312 2007-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
314         * libltdl/m4/libtool.m4 (_LT_ENABLE_LOCK) [ solaris ]: Cater to
315         old Sparc Solaris 7 ld that does not understand `-64'.
316         Report by Vincent Lefevre <vincent@vinc17.org>.
318 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
320         * libltdl/m4/lt~obsolete.m4 (LTOBSOLETE_VERSION): New macro, to
321         force-pull in this file by aclocal.
322         * libltdl/m4/libtool.m4 (LT_INIT): Require LTOBSOLETE_VERSION.
323         * tests/libtoolize.at (upgrading verbatim style aclocal.m4):
324         Adjust.
325         Report by H. J. Lu <hjl@lucon.org>.
327         * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed
328         alias of `advise' instead of allocating a copy.  Fixes memleak.
330 2007-06-30  Peter Breitenlohner  <peb@mppmu.mpg.de>
332         * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo
333         ("-dld" instead of "-ldld").
335 2007-06-24  Gary V. Vaughan  <gary@gnu.org>
337         Add a test to simulate a failure visible on systems which
338         need a library prefix like 'lib', such as BeOS.  Fix a number
339         of bugs exposed by this test in order for it to pass.
340         Currently the prefix is hardcoded as 'lib', as I am not aware
341         of systems that require a different prefix:
343         * libltdl/loaders/preopen.c (lt_dlpreload_open):  Move error
344         condition out of test loop to be sure that each originator is
345         tried, instead of erroring out if the first doesn't match.
346         Support passing NULL as the originator to load all preloaded
347         modules originating in the program itself.
348         * libltdl/lt_dlloader.c (lt_dlloader_dump): New debug function.
349         * libltdl/libltdl/lt_dlloader.h (lt_dlloader_dump): Declare it
350         when LT_DEBUG_LOADERS is defined at compile time.
351         * libltdl/ltdl.c (lt_dlinit): Dump loader list after successful
352         initialisation.
353         (tryall_dlopen): Add a new VTABLE parameter to force use of a
354         specific loader in preference to trying every loader in turn.
355         Adjust all callers.
356         (try_dlopen): Always see whether a module was preloaded for
357         module names with no directory component before searching the
358         filesystem for a match.
359         * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Declare
360         a new global_symbol_to_c_name_address_lib_prefix variable.
361         (global_symbol_to_c_name_address_lib_prefix): The sed
362         expressions to use when a lib prefix is enforced need to be
363         slightly different to work with preloaded modules.
364         * libltdl/config/ltmain.m4sh (func_generate_dlsyms): In order
365         to name preloaded symbols correctly for the lookup algorithm
366         to work when the loaded module file must be prefixed with lib.
367         Use global_symbol_to_c_name_address_lib_prefix when
368         need_lib_prefix is other than no.
369         * tests/need_lib_prefix.at: New test to check for breakage on
370         hosts where need_lib_prefix is unknown.
371         * Makefile.am (TESTSUITE_AT): Add new test.
372         * tests/TODO: Note missing tests that would have caught some
373         of the latent bugs fixed by this patch.
374         * HACKING: Document libltdl keyword.
375         * NEWS: Updated.
377 2007-06-24  Gary V. Vaughan  <gary@gnu.org>
379         Reenable compilation of libltdl with C++:
381         * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to
382         attempt, and cast explicitly.
383         (advise_dup): Add explicit cast.
385 2007-06-22  Peter O'Gorman  <peter@pogma.com>
387         * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract
388         1 from major as it may be less than age.
390 2007-06-21  Noah Misch  <noah@cs.caltech.edu>
392         * tests/f77demo/configure.ac [--with-dist]: New option.  Skip most
393         Fortran checks when given.
394         * tests/fcdemo/configure.ac [--with-dist]: Likewise.
395         * Makefile.am (@DIST_MAKEFILE_LIST@): Pass --with-dist.
396         Reported by Benoit Sigoure <tsuna@lrde.epita.fr>.
398 2007-06-19  Charles Wilson  <libtool@cwilson.fastmail.fm>
400         * AUTHORS: Add myself.
402 2007-06-18  Charles Wilson  <libtool@cwilson.fastmail.fm>
404         * libltdl/config/ltmain.m4sh: Add new magic variable
405         for use with cwrapper.
406         (func_ltwrapper_script_p): New function.
407         (func_ltwrapper_executable_p): New function.
408         (func_ltwrapper_scriptname): New function.
409         (func_ltwrapper_p): Accomodate both wrapper scripts and
410         wrapper executables.
411         (func_mode_execute): Handle $file that is a wrapper
412         script and $file that is a wrapper executable differently.
413         (func_mode_install) [cygwin|mingw]: If $file is a wrapper
414         executable, use func_ltwrapper_scriptname to determine
415         wrapper script name. Afterwards, always use
416         func_ltwrapper_script_p instead of func_ltwrapper_p.
417         (func_emit_libtool_wrapper_script): Rename to...
418         (func_emit_wrapper): ...this. All callers changed.
419         (func_emit_libtool_cwrapperexe_source): Rename to...
420         (func_emit_cwrapperexe_src): ...this. All callers changed.
421         Embed new magic_exe variable into source. Private transient
422         wrapper script now called foo_ltshwrapperTMP, not
423         foo_ltshwrapper.
424         (func_emit_cwrapperexe_src) [main, mingw]: Use _spawnv
425         and return child's exit code manually rather than rely on
426         broken execv.
427         (func_mode_link) [cygwin|mingw]: Don't call dirname and
428         basename directly; use func_dirname and func_basename
429         when computing cwrapper names.  Use cwrapper to generate
430         wrapper script, and use pathname returned by
431         func_ltwrapper_scriptname instead of $output.
432         (func_mode_link) [NOT cygwin|mingw]: move wrapper script
433         generation for non-win32 inside case statement, as default
434         case.
435         (func_mode_uninstall) [$name's extension != .lo|.la]:
436         'clean' mode must handle $file differently if it is a libtool
437         wrapper script, or if it is a libtool wrapper executable.
438         * tests/destdir.at [Simple DESTDIR install]: $EXEEXT fixups.
439         * tests/destdir.at [DESTDIR with in-package deplibs]: Ditto.
441 2007-06-17  Noah Misch  <noah@cs.caltech.edu>
443         * AUTHORS: Add myself.
445 2007-06-17  Peter O'Gorman  <peter@pogma.com>
447         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to
448         the test -n.
450 2007-06-17  Charles Wilson  <libtool@cwilson.fastmail.fm>
452         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr
453         is redirected even when getconf does not exist.
455 2007-06-09  Charles Wilson  <libtool@cwilson.fastmail.fm>
457         * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script):
458         Take an argument to specify value assigned to
459         WRAPPER_SCRIPT_BELONGS_IN_OBJDIR in the emitted
460         script.
461         (func_emit_libtool_cwrapperexe_source) [file scope]:
462         define permission flags S_IXGRP and S_IXOTH if not
463         already defined.
464         (func_emit_libtool_cwrapperexe_source) [LTWRAPPER_DEBUGPRINTF]:
465         Use C89-compatible syntax to mimic variadic macros.
466         Adjust all callers.
467         (func_emit_libtool_cwrapperexe_source) [check_executable]:
468         avoid embedded #ifdefs; use S_IXGRP and S_IXOTH
469         unconditionally.
470         (func_emit_libtool_cwrapperexe_source) [make_executable]:
471         ditto.
472         (func_emit_libtool_cwrapperexe_source): don't rewrite
473         WRAPPER_SCRIPT_BELONGS_IN_OBJDIR posthoc; instead pass
474         correct argument when calling func_emit_libtool_wrapper_script.
475         (func_mode_link): pass correct argument when calling
476         func_emit_libtool_wrapper_script.
478 2007-06-07  Charles Wilson  <libtool@cwilson.fastmail.fm>
480         * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source):
481         ensure that generated source follows GCS as nearly as
482         possible.
484 2007-06-07  Charles Wilson  <libtool@cwilson.fastmail.fm>
486         * libltdl/config/ltmain.m4sh (func_emit_libtool_wrapper_script):
487         add code block to handle cases when wrapper script is in $objdir.
488         (func_emit_libtool_cwrapperexe_source): replace DEBUG() macro
489         with namespace-safe LTWRAPPER_DEBUGPRINTF(). Call
490         func_emit_libtool_wrapper_script() with appropriate filters to
491         embed script text in C char* static variable.
492         (f_e_l_c_s: main): add new option --lt-dump-script, parse argv[]
493         for it, and take appropriate action.  Call chase_symlinks()
494         on argv[0], in case this.exe was launched via one.  Use chased
495         value to determine full absolute pathname of wrapper script, in
496         $objdir. Unconditionally write script out to this pathname and
497         set permission bits.  Remove extraneous ';' from debugging loop.
498         (f_e_l_c_s: main) [mingw]: DOS-ize $SHELL before populating
499         newargv[0]; if $TARGETSHELL environment variable is set, use
500         it instead of $SHELL and do not DOS-ize.  Ensure newargv[1]
501         (wrapper script absolute path) uses only '/', not '\'.  Make
502         sure to call execv() with DOS-ized $SHELL (or un-DOS-ized
503         $TARGETSHELL, if set)
504         (f_e_l_c_s: make_executable): new function
505         (f_e_l_c_s: chase_symlinks): new function (no-op if !S_ISLNK)
507 2007-06-03  Peter O'Gorman  <peter@pogma.com>
509         * libltdl/m4/libtool.m4 (old_archive_cmds): Remove
510         old_deplibs.
511         * tests/archive-in-archive.at: Check for archives as members
512         of static archives. Currently XFAILS, above only eliminates
513         one of the two static archives.
514         * Makefile.am: Add test.
515         Reported by Daniel Macks <dmacks@netspace.org>
517 2007-06-01  Steve Ellcey  <sje@cup.hp.com>
519         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf
520         to set lt_cv_sys_max_cmd_len.
522 2007-05-28  Peter O'Gorman  <peter@pogma.com>
524         * libltdl/config/ltmain.m4sh (func_mode_link),
525         libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring
526         with xlc.
528 2007-05-22  Gary V. Vaughan  <gary@gnu.org>
530         * tests/lt_dladvise.at:  Use the lib prefix throughout for
531         better portability - testing whether modules build and load
532         without that prefix is not the domain of this test.
533         Also, only run the test of the global hint with the depend
534         module on hosts that can compile a module without passing
535         -no-undefined in link mode.
537 2007-05-10  Noah Misch  <noah@cs.caltech.edu>
539         * tests/duplicate_deps.at: Make the XFAIL unconditional, but
540         skip the test if the test link would succeed even without
541         --preserve-dup-deps.
543         * libltdl/config/general.m4sh (func_echo): Use $* instead of
544         ${1+"$@"}.
546 2007-05-09  Eric Blake  <ebb9@byu.net>
548         * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix
549         buffer overflow in previous patch.
551 2007-05-09  Gary V. Vaughan  <gary@gnu.org>
553         * tests/lt_dladvise.at: Commit missing file from below.
555 2007-05-08  Gary V. Vaughan  <gary@gnu.org>
557         Without this patch, lt_dlopen always opens modules with symbol
558         visibility set according to the underlying implementation.
559         Here, we add lt_dlopenadvise() to allow callers to request,
560         among other things, local or global symbol visibility from the
561         underlying dlloader:
563         * libltdl/ltdl.c (LT_DLRESIDENT_FLAG): Removed.
564         (LT_DLIS_RESIDENT): Use public is_resident info field.
565         (LT_DLIS_SYMLOCAL, LT_DLIS_SYMGLOBAL): New macros to test for
566         module symbol visibility status.
567         (tryall_dlopen): If vtable->module_open() was able to act on
568         either is_symlocal or is_symglobal hints, store that in
569         the handle flags.
570         (lt_dlopenadvise): New function that works like lt_dlopen(),
571         but accepts an advise type to determine whether to ask
572         dlloaders to change default symbol visibility.
573         (lt_dlopen, lt_dlopenext): Just call lt_dlopenadvise() with
574         the correct parameters.
575         (lt_dladvise_init, lt_dladvise_destroy): New functions to
576         initialize and destroy an advise type hint.
577         (lt_dladvise_ext, lt_dladvise_resident, lt_dladvise_local)
578         (lt_dladvise_global): Set hints on an advise type.
579         (openadvise): Factored out of lt_dlopenadvise.
580         (has_library_ext): Factored out of lt_dlopenadvise.
581         * libltdl/ltdl.h: Declare all of the above.
582         (lt_dlinfo): New fields for advise hints.
583         * libltdl/libltdl/lt_dlloader.h (lt_module_open): Add a new
584         advise parameter.  Adjust all callers.
585         (lt_dladvise): New opaque type for advise hints.
586         * libltdl/libltdl/lt__private.h (lt__advise): Declare
587         contents of opaque lt_dladvise type.
588         * libltdl/libltdl/lt_error.h (CONFLICTING_FLAGS): New error
589         for attempts to have local and global symbol visibility at the
590         same time.
591         * libltdl/loaders/dld_link.c, libltdl/loaders/dyld.c,
592         libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
593         libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c: Adjust.
594         * libltdl/loaders/dlopen.c (RTLD_LOCAL, RTLD_GLOBAL): Try to
595         define these symbols if the system has equivalents.
596         (vmopen): If unable to act on a caller request to set symbol
597         visibility, then unset the relevant hints in the advise type.
598         * tests/lt_dladvise.at: New tests for the above.
599         * doc/libtool.texi (Libltdl Interface): Updated.
600         * NEWS: Updated.
602 2007-05-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
604         * libltdl/config/ltmain.m4sh (func_mode_link): When adding
605         new_inherited_linker_flags to compiler_flags, remember to
606         translate .ltframework back.  Fixes bug introduced 2007-04-23.
607         * THANKS: Update.
608         * tests/inherited_flags.at: Amend test.
609         Report by Christoph Egger.
611 2007-05-03  Reuben Thomas  <rrt@sc3d.org>  (tiny change)
613         * doc/libtool.texi (Libltdl interface): Fix typo.
615 2007-05-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
617         * Makefile.am (clean-ltmain-sh): Removed.
618         (libtool, $(srcdir)/$(m4dir)/ltversion.m4)
619         ($(srcdir)/$(auxdir)/ltmain.sh): Updated to not depend on any
620         phony rules.  Test `$?' for prerequisites that should always
621         cause us to update the target.  Fixes rebuilding rules, at the
622         cost of sometimes updating too much with non-GNU make.
624 2007-04-27  Noah Misch  <noah@cs.caltech.edu>
626         * tests/ctor.at: New file.
627         * Makefile.am (TESTSUITE_AT): Add tests/ctor.at.
629 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
631         * libltdl/libltdl/lt__glibc.h: Use !HAVE_WORKING_ARGZ
632         instead of SYSTEM_ARGZ_IS_BROKEN.
633         * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): Ditto.  Also, minor
634         stylistic improvements.
635         Report by Bruno Haible <bruno@clisp.org>.
637 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
638             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
640         * libltdl/argz_.h: ensure error_t definition is obtained
641         in same mechanism system argz.h would have.
642         * libltdl/libltdl/lt__glibc.h: also detect if
643         SYSTEM_ARGZ_IS_BROKEN when determining whether to re#def
644         argz* functions.
645         * libltdl/m4/argz.m4 (gl_FUNC_ARGZ): add new test to check
646         if $host's argz facilities are known bad.  Err on the side
647         of caution if cross-compiling.
649 2007-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
651         * README, README.alpha: Document how to test an arbitrary
652         installed libtool script.
654 2007-04-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
656         * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not
657         defined (Autoconf < 2.60).
658         * tests/shlibpath.at: Add `libtool' keyword.
660         * tests/indirect_deps.at: New file, with tests to ensure
661         `link_all_deplibs=no' does not break functionality.
662         * Makefile.am: Adjust.
664 2007-04-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
666         * libltdl/config/ltmain.m4sh (func_mode_link): Fix accumulation
667         of `inherited_linker_flags' entries from multiple deplibs, by
668         adding $new_inherited_linker_flags only once, only in link pass.
669         * tests/inherited_flags: Amend test to expose this.
670         * NEWS: Adjust: kill one regression, but add note about the
671         feature new in 1.9b.
672         Report by Jeff Squyres and others.
674 2007-04-23  Charles Wilson  <libtool@cwilson.fastmail.fm>
676         * libltdl/config/ltmain.m4sh (func_mode_link): move wrapper
677         script generation from here...
678         (func_emit_libtool_wrapper_script): to this new function, and
679         write to stdout
680         (func_mode_link): move cwrapper source code generation from
681         here...
682         (func_emit_libtool_cwrapperexe_source): to this new function,
683         and write to stdout
684         (func_mode_link): call the two new functions and redirect
685         output to appropriate file.
687 2007-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
689         * libltdl/config/ltmain.m4sh (func_mode_link) <-no-install>
690         [ darwin ]: Treat like `-no-fast-install', as we cannot
691         hardcode.  Report by Simon Josefsson.
693 2007-04-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
695         * doc/libtool.texi (Link mode) <-no-install>: Mention that this
696         still generates a wrapper script on systems without hardcoding.
697         * tests/stresstest.at: Test `-no-install'.
698         * THANKS: Update.
699         Report by Simon Josefsson.
701 2007-03-30   Matthieu Herrb  <matthieu.herrb@laas.fr>
703         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
704         [ openbsd ]: Add an explicit check for shared libraries support.
706 2007-03-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
708         * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting
709         error.
711 2007-03-28  Gary V. Vaughan  <gary@gnu.org>
713         * HACKING (Abstraction layers in libltdl): Rewritten somewhat
714         for (hopefully) better clarity.
716 2007-03-26  Gary V. Vaughan  <gary@gnu.org>
718         The stamp-vcl file rules caused non-gnu make programs to rerun
719         parts of the configuration process on each invocation.  Instead
720         of relying on a stamp file, we now compare version numbers of
721         generated files with the ChangeLog timestamp manually in the
722         affected make rules to decide whether regenerating is necessary:
724         * Makefile.am (EXTRA_DIST): Remove stamp-vcl.
725         (clean-ltmain-sh): Also remove users' obsolescent stamp-vcl.
726         (rebuild): Keep some common code here for...
727         (libtool, libltdl/m4/ltversion.m4, libltdl/config/ltmain.sh):
728         Rewritten to work without reference to intermediate stamp-vcl
729         file.
730         * configure.ac (CONFIG_STATUS_DEPENDENCIES): Change from
731         stamp-vcl to ChangeLog.
732         * NEWS: Removed entry saying this fix is needed.
734 2007-03-25  Gary V. Vaughan  <gary@gnu.org>
736         * HACKING (LGPL with Libtool exception clause): Typo.
737         Reported by Tim Van Holder  <tim.van.holder@telenet.be>
739         * HACKING (Licensing Rules): Explain the various license texts
740         used for files distributed with Libtool, and update license text
741         to match.
742         * Makefile.am, Makefile.maint README, README.alpha, THANKS, TODO,
743         bootstrap, clcommit.m4sh, configure.ac, libltdl/Makefile.inc,
744         libltdl/README, libltdl/argz.c, libltdl/argz_.h,
745         libltdl/config/general.m4sh, libltdl/config/getopt.m4sh,
746         libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
747         libltdl/config/mkstamp, libltdl/configure.ac,
748         libltdl/libltdl/lt__alloc.h, libltdl/libltdl/lt__dirent.h,
749         libltdl/libltdl/lt__glibc.h, libltdl/libltdl/lt__private.h,
750         libltdl/libltdl/lt__strl.h, libltdl/libltdl/lt_dlloader.h,
751         libltdl/libltdl/lt_error.h, libltdl/libltdl/lt_system.h,
752         libltdl/libltdl/slist.h, libltdl/loaders/dld_link.c,
753         libltdl/loaders/dlopen.c, libltdl/loaders/dyld.c,
754         libltdl/loaders/load_add_on.c, libltdl/loaders/loadlibrary.c,
755         libltdl/loaders/preopen.c, libltdl/loaders/shl_load.c,
756         libltdl/lt__alloc.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
757         libltdl/lt_dlloader.c, libltdl/lt_error.c, libltdl/ltdl.c,
758         libltdl/ltdl.h, libltdl/m4/argz.m4, libltdl/m4/libtool.m4,
759         libltdl/m4/ltdl.m4, libltdl/m4/ltoptions.m4,
760         libltdl/m4/ltsugar.m4, libltdl/m4/ltversion.in,
761         libltdl/m4/ltversion.m4, libltdl/m4/lt~obsolete.m4,
762         libltdl/slist.c, libtoolize.m4sh, tests/am-subdir.at,
763         tests/cdemo-conf.test, tests/cdemo-exec.test,
764         tests/cdemo-make.test, tests/cdemo-shared.test,
765         tests/cdemo-static.test, tests/cdemo-undef.test,
766         tests/cdemo/Makefile.am, tests/cdemo/configure.ac,
767         tests/cdemo/foo.c, tests/cdemo/foo.h, tests/cdemo/main.c,
768         tests/cmdline_wrap.at, tests/convenience.at, tests/defs.m4sh,
769         tests/demo-conf.test, tests/demo-deplibs.test,
770         tests/demo-exec.test, tests/demo-hardcode.test,
771         tests/demo-inst.test, tests/demo-make.test,
772         tests/demo-nofast.test, tests/demo-noinst-link.test,
773         tests/demo-nopic.test, tests/demo-pic.test,
774         tests/demo-relink.test, tests/demo-shared.test,
775         tests/demo-static.test, tests/demo-unst.test,
776         tests/demo/Makefile.am, tests/demo/configure.ac,
777         tests/demo/dlmain.c, tests/demo/foo.c,
778         tests/demo/foo.h, tests/demo/hell1.c, tests/demo/hell2.c,
779         tests/demo/hello.c, tests/demo/main.c,
780         tests/depdemo-conf.test, tests/depdemo-exec.test,
781         tests/depdemo-inst.test, tests/depdemo-make.test,
782         tests/depdemo-nofast.test, tests/depdemo-relink.test,
783         tests/depdemo-shared.test, tests/depdemo-static.test,
784         tests/depdemo-unst.test, tests/depdemo/Makefile.am,
785         tests/depdemo/configure.ac, tests/depdemo/l1/Makefile.am,
786         tests/depdemo/l1/l1.c, tests/depdemo/l1/l1.h,
787         tests/depdemo/l2/Makefile.am, tests/depdemo/l2/l2.c,
788         tests/depdemo/l2/l2.h, tests/depdemo/l3/Makefile.am,
789         tests/depdemo/l3/l3.c, tests/depdemo/l3/l3.h,
790         tests/depdemo/l4/Makefile.am, tests/depdemo/l4/l4.c,
791         tests/depdemo/l4/l4.h, tests/depdemo/main.c,
792         tests/depdemo/sysdep.h, tests/deplibs-ident.at,
793         tests/destdir.at, tests/duplicate_conv.at,
794         tests/duplicate_deps.at, tests/duplicate_members.at,
795         tests/early-libtool.at, tests/export.at,
796         tests/f77demo-conf.test, tests/f77demo-exec.test,
797         tests/f77demo-make.test, tests/f77demo-shared.test,
798         tests/f77demo-static.test, tests/f77demo/Makefile.am,
799         tests/f77demo/configure.ac, tests/f77demo/cprogram.c,
800         tests/f77demo/foo.h, tests/f77demo/fooc.c,
801         tests/fail.at, tests/fcdemo-conf.test, tests/fcdemo-exec.test,
802         tests/fcdemo-make.test, tests/fcdemo-shared.test,
803         tests/fcdemo-static.test, tests/fcdemo/Makefile.am,
804         tests/fcdemo/configure.ac, tests/fcdemo/cprogram.c,
805         tests/fcdemo/foo.h, tests/fcdemo/fooc.c,
806         tests/inherited_flags.at, tests/libtoolize.at,
807         tests/link-2.test, tests/link-order.at, tests/link-order2.at,
808         tests/link.test, tests/lt_dlexit.at, tests/mdemo-conf.test,
809         tests/mdemo-dryrun.test, tests/mdemo-exec.test,
810         tests/mdemo-inst.test, tests/mdemo-make.test,
811         tests/mdemo-shared.test, tests/mdemo-static.test,
812         tests/mdemo-unst.test, tests/mdemo/Makefile.am,
813         tests/mdemo/configure.ac, tests/mdemo/foo.h, tests/mdemo/foo1.c,
814         tests/mdemo/foo2.c, tests/mdemo/main.c, tests/mdemo/mlib.c,
815         tests/mdemo/sub.c, tests/mdemo2-conf.test,
816         tests/mdemo2-exec.test, tests/mdemo2-make.test,
817         tests/mdemo2/Makefile.am, tests/mdemo2/configure.ac,
818         tests/mdemo2/main.c, tests/nomode.test, tests/nonrecursive.at,
819         tests/objectlist.test, tests/old-m4-iface.at,
820         tests/pdemo-conf.test, tests/pdemo-exec.test,
821         tests/pdemo-inst.test, tests/pdemo-make.test,
822         tests/pdemo/Makefile.am, tests/pdemo/configure.ac,
823         tests/pdemo/foo.h, tests/pdemo/longer_file_name_dlmain.c,
824         tests/pdemo/longer_file_name_foo.c,
825         tests/pdemo/longer_file_name_foo2.c,
826         tests/pdemo/longer_file_name_hell1.c,
827         tests/pdemo/longer_file_name_hell2.c,
828         tests/pdemo/longer_file_name_hello.c,
829         tests/pdemo/longer_file_name_main.c, tests/quote.test,
830         tests/recursive.at, tests/search-path.at, tests/sh.test,
831         tests/shlibpath.at, tests/standalone.at, tests/static.at,
832         tests/stresstest.at, tests/subproject.at, tests/suffix.test,
833         tests/tagdemo-conf.test, tests/tagdemo-exec.test,
834         tests/tagdemo-make.test, tests/tagdemo-shared.test,
835         tests/tagdemo-static.test, tests/tagdemo-undef.test,
836         tests/tagdemo/Makefile.am, tests/tagdemo/baz.cpp,
837         tests/tagdemo/baz.h, tests/tagdemo/configure.ac,
838         tests/tagdemo/conv.cpp, tests/tagdemo/conv.h,
839         tests/tagdemo/foo.cpp, tests/tagdemo/foo.h,
840         tests/tagdemo/main.cpp, tests/tagtrace.test,
841         tests/template.at, tests/testsuite.at: Apply correct license
842         text according to the new rules set out in HACKING.
844 2007-03-19  Gary V. Vaughan  <gary@gnu.org>
846         * libtoolize.m4sh: Handle argz.m4 specially like ltdl.m4, so
847         that it isn't copied unless libltdl is being used.  Copy other
848         macro files according to their tagged serial numbers.
849         * tests/libtoolize.at: Adjust.
851 2007-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
853         * tests/mdemo/Makefile.am (libmlib_la_LDFLAGS): Add
854         `-export-symbols-regex ".*"' because the convenience libltdl
855         uses export markers and thus turns off autoexport on w32.  Fixes
856         test failures for Cygwin and MinGW.
857         Bug analysis by Charles Wilson.
859         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
860         (_LT_CHECK_MAGIC_METHOD, _LT_COMPILER_PIC, _LT_LINKER_SHLIBS)
861         (_LT_LANG_CXX_CONFIG, _LT_SYS_HIDDEN_LIBDEPS) [ interix ]: When
862         matching for interix, accept version range [3-9] instead of 3.
863         * NEWS: Update.
864         Report by Martin Koeppe <mkoeppe@gmx.de>.
866         * libltdl/m4/libtool.m4 (LT_PROG_GCJ): Avoid M4 expansion error
867         that caused `dnl' to be merged to the previous word.
868         * THANKS: Update.
869         Report by Steve Ellcey.
871 2007-03-09  Gary V. Vaughan  <gary@gnu.org>
873         * libtoolize.m4sh: Replace literal tab chars in help comment
874         with spaces to align columns in --help output.
876 2007-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
878         * libltdl/config/ltmain.m4sh (func_mode_link): Also apply the
879         symbol filtering for w32 and the include_expsyms feature in the
880         case of exceeded command line length.  Fixes test failure on
881         MinGW.
883         * tests/stresstest.at: For const data object imported from
884         shared library, define appropriate macros to expand
885         __declspec(dllimport) on w32.  Use two different main objects
886         and pick the right one for the link flags we are about to test.
887         Fixes test failure on MinGW.
889         * tests/export.at: For const data object imported from shared
890         library, define appropriate macros to expand
891         __declspec(dllimport) on w32.  Fixes test failure on MinGW.
893 2007-03-05  Gary V. Vaughan  <gary@gnu.org>
895         * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly
896         in AC_CONFIG_MACRO_DIR diagnostics.
898         * libltdl/config/general.m4sh (M4SH_VERBATIM): New macro to
899         simplify m4sh quote quoting in blocks of raw shell code.
900         * clcommit.m4sh, libtoolize.m4sh, libltdl/config/getopt.m4sh,
901         libltdl/config/ltmain.m4sh, libltdl/config/mailnotify.m4sh,
902         tests/defs.m4sh: Use it.
903         * HACKING (Editing `.m4sh' Files): Mention M4SH_VERBATIM Macro.
905 2007-02-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
907         * tests/lt_dlexit.at: Allow test to pass on static-only systems
908         and with disable-shared.
910         * NEWS: Rewrite all news since 1.9f and put in categories,
911         update.
913         * libltdl/Makefile.inc: Fix the file description, so that it
914         matches recursive and nonrecursive libltdl setup.
915         * Makefile.am ($(srcdir)/libltdl/Makefile.am): Do not depend
916         upon the exact text of the copyright header, just copy until
917         the marker line.  Remove the marker lines in the output, and
918         adjust the description for subpackage setup.
920 2007-02-26  Gary V. Vaughan  <gary@gnu.org>
922         * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo.
924         * clcommit.m4sh: Look in the right directory for helper scripts.
926 2007-02-25  Gary V. Vaughan  <gary@gnu.org>
928         * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to
929         match Copyright notice change below.
931         * HACKING, Makefile.am, Makefile.maint, bootstrap,
932         libltdl/Makefile.am, libltdl/Makefile.inc, libltdl/m4/libtool.m4,
933         ltmain.c, tests/cdemo/Makefile.am, tests/demo/Makefile.am,
934         tests/depdemo/Makefile.am, tests/depdemo/l1/Makefile.am,
935         tests/depdemo/l2/Makefile.am, tests/depdemo/l3/Makefile.am,
936         tests/depdemo/l4/Makefile.am, tests/f77demo/Makefile.am,
937         tests/fcdemo/Makefile.am, tests/libtoolize.at,
938         tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am,
939         tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am: Update
940         Copyright notice text to include URL for canonical GPL document.
942 2007-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
944         * tests/static.at: Forgot to fix PATH for the first
945         func_test_exec invocation.  So factor out into new functions
946         func_fix_path and func_restore_path and use those.
948         * README: Document the need for GNU make to build Libtool.
949         Point the user to the doc/notes.txt file.  In the examples, use
950         `gmake' throughout to make it more obvious.  Explain simpler way
951         to run both testsuites and either one.  Referring to individual
952         tests needs the `tests/' prefix.
953         * README.alpha: Likewise.
954         * doc/notes.texi: Likewise, document need for GNU make.
955         Comment out the FreeBSD make issue for now.
957         * tests/static.at: Larger rewrite to make work on w32: Use three
958         different prefixes instead of three libdirs, so the moving of
959         the DLLs works as expected.  Adjust all code.  Since now
960         $libdirI/../bin is distinct from the directory of the installed
961         program, take care than on w32 PATH contains the needed bindirs,
962         in appropriate order.
963         Report by Charles Wilson.
965         * Makefile.am (INSTALLCHECK_ENVIRONMENT): Point LTDLINCL and
966         LIBLTDL to installed libltdl, so that it is being used by
967         the lt_dlexit test.
969 2007-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
971         * doc/libtool.texi (Install mode, libtool script contents):
972         Describe current and system-specific DESTDIR limitations.
973         * tests/destdir.at: XFAIL if `fast_install' is no.
975         * doc/libtool.texi (LT_INIT): Fix typo.
977         * doc/libtool.texi (Libtool test suite): Mention the new
978         testsuite.  Point to README rather than INSTALL for testing
979         instructions.
980         (Test descriptions): Fix more file names.  Also mention
981         cdemo-undef.test, mdemo2-conf.test, mdemo2-exec.test,
982         mdemo2-make.test, objectlist.test, pdemo-conf.test,
983         pdemo-exec.test, pdemo-inst.test, pdemo-make.test,
984         tagdemo-conf.test, tagdemo-exec.test, tagdemo-make.test,
985         tagdemo-static.test, tagdemo-shared.test, tagdemo-undef.test,
986         f77demo-conf.test, f77demo-exec.test, f77demo-make.test,
987         f77demo-static.test, f77demo-shared.test, fcdemo-conf.test,
988         fcdemo-exec.test, fcdemo-make.test, fcdemo-static.test,
989         fcdemo-shared.test.  Describe what they do.
990         (When tests fail, Troubleshooting): Mention how to pass options
991         to the new test suite.
992         * tests/tagdemo/README: Fix description.
994         * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a
995         preliminary ltmain.sh script.
997         * doc/libtool.texi (Test descriptions): Track the grand test
998         suite renaming from 2003-10-14 in the tests documentation.
999         assign.test is merged into sh.test.  Fix description of sh.test.
1000         * tests/sh.test: Likewise.
1002         * doc/libtool.texi (LT_INIT): Fix wording of intro a bit.
1003         <shared, static>: Also describe these default LT_INIT options.
1004         <AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL>
1005         <AC_DISABLE_FAST_INSTALL>: Mention deprecated macro names,
1006         including the respective LT_INIT replacement.
1007         <AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_ENABLE_SHARED>
1008         <AC_ENABLE_STATIC>: Document, un-deprecate.  Suggest the
1009         respective LT_INIT replacement.
1010         <AM_DISABLE_SHARED, AM_DISABLE_STATIC, AM_ENABLE_SHARED>
1011         <AM_ENABLE_STATIC>: Document deprecated aliases.
1012         (Distributing libltdl) <AC_WITH_LTDL, AC_LIBLTDL_INSTALLABLE>
1013         <AC_LIBLTDL_CONVENIENCE>: Document deprecated aliases.
1014         * libltdl/m4/ltoptions.m4 (AM_ENABLE_SHARED, AM_DISABLE_SHARED)
1015         (AM_ENABLE_STATIC, AM_DISABLE_STATIC): Make these AU_ALIASes of
1016         the respective AC_* macros, so we do not recommend LT_INIT(*) in
1017         this case.
1018         (AC_ENABLE_SHARED, AC_DISABLE_SHARED, AC_ENABLE_STATIC)
1019         (AC_DISABLE_STATIC): Un-deprecate these.  Remove now-superfluous
1020         aclocal-1.4 backwards compatibility comments.
1022         * tests/link-order2.at: Rewrite completely.  Do not use `sin'
1023         from the math library, there are too many problems with this.
1024         Instead, use a self-written library, install it without the
1025         Libtool library file, to emulate a native library in a system
1026         directory, and adjust $shlibpat_var.  Try overriding its symbol.
1027         Further, also try an installed `wrong' binary.
1028         Avoid failing test bits on AIX without runtimelinking and on
1029         Darwin in some cases, SKIP at the end in this case.
1030         Analysis by Peter O'Gorman.
1032         * doc/notes.texi: Mention MACOSX_DEPLOYMENT_TARGET issue.
1033         * tests/template.at: Only skip those tests failing on Darwin
1034         if `-flat_namespace' is used by libtool.  In that case, SKIP
1035         at the end.  Analysis by Peter O'Gorman.
1037 2007-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1039         Fix -export-symbols and -export-symbols-regex for links that
1040         exceed the command line length and use convenience archives.
1042         * libltdl/config/ltmain.m4sh (func_mode_link): Avoid grepping a
1043         nonexistent file if using reloadable objects.  Do not create a
1044         linker script nor a linker input file if no objects are passed.
1045         Apply export_symbols_regex in case the command line length is
1046         exceeded.
1047         Report by Bob Friesenhahn.
1049         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
1050         <compiler_needs_object>: New tag variable.  Default to `no'.
1051         (_LT_LINKER_SHLIBS) [ linux ]: Set it to yes for Sun C 5.9.
1052         (_LT_LANG_CXX_CONFIG): Also default it to `no'.
1053         [ linux ]: Set it to `yes' for Sun C++ 5.9.
1054         * libltdl/config/ltmain.m4sh (func_mode_link): If we link
1055         no objects but only convenience archives into a library,
1056         force expansion if `compiler_needs_object' is yes.
1057         For creating a linker input filelist due to long cmdline,
1058         extract the first object if `compiler_needs_object' is yes.
1059         * doc/libtool.texi (libtool script contents): Document it.
1060         Fixes test failures of Sun compilers on GNU/Linux.
1061         Report by Terry D. Dontje.
1063         * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting
1064         `$libobjs' to a single space; set it to empty in that case.
1066 2007-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1068         * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]:
1069         On Tru64 5.1, const relocations do not work well.  Omit the
1070         const here.  Fixes failure of demo-make after demo-shared with
1071         link editor error `seg_info_ptr: Couldnt find a seg type 2'.
1073         * Makefile.am (doc_libtool_TEXINFOS): Renamed from...
1074         (libtool_TEXINFOS): ...this, to fix dependencies.  Omit from
1075         EXTRA_DIST.
1076         (check-local): Also depend upon $(bin_SCRIPTS).
1078 2007-02-23  Ralf Menzel  <menzel@ls6.cs.uni-dortmund.de>  (tiny change)
1080         * libltdl/config/general.m4sh (sed_double_backslash): Fix
1081         hacky sed script to avoid limitations but retain portability to
1082         Solaris /bin/sed.  Remove old obsolete cruft.
1084 2007-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1086         * libltdl/config/ltmain.m4sh (func_mode_link): Fix the check for
1087         convenience archives when warning about linking against static
1088         libraries: test against $deplib rather than empty $lib.
1090 2007-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1092         * libltdl/m4/ltdl.m4 (LT_WITH_LTDL): Fix detection of new enough
1093         libltdl by actually checking for the declaration of
1094         lt_dlinterface_register in ltdl.h with AC_CHECK_DECL.
1095         Remove redundant configure output line.
1097         * tests/template.at: Reformat, add M4 quoting.  Use $LDFLAGS
1098         consistently for link mode.
1100 2007-02-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1102         * tests/static.at: Use the right names for the broken libs.
1104 2007-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1106         * tests/deplibs-ident.at [aix, hppa*-*-hpux*, interix, openbsd]:
1107         Do not XFAIL, on these systems we happen to pass.
1108         * tests/duplicate_deps.at [aix]: Likewise.
1110         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux |
1111         k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test.
1113         * HACKING: Update.
1115         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ linux ]
1116         <whole_archive_flag_spec>: For Sun C/C++ 5.9, do not add
1117         /dev/null as dummy object, it fails with GNU ld version
1118         2.16.91.0.7-amd-sles9.  Report by Terry D. Dontje.
1119         * THANKS: Update.
1121 2007-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1123         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ osf4, osf5 ]
1124         <archive_expsym_cmds>: Use `${wl}-input' not `-input', for
1125         cc.  Could use `-input_to_ld'.
1126         (_LT_LANG_CXX_CONFIG) [ osf4, osf5 ] <archive_expsym_cmds>:
1127         Use `${wl}' instead of `-Wl,', for consistency.
1129 2007-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1131         Fix spurious testsuite failures on AIX due on NFS mounts due to
1132         shared library images that cannot be removed without `slibclean'
1133         which needs superuser privileges.
1135         * tests/testsuite.at (PREPARE_TESTS): Define $mkdir_p globally.
1136         (LT_AT_MVDIR): New macro to emulate `mv dir dest'.
1137         * tests/destdir.at: Use LT_AT_MVDIR.
1138         * tests/shlibpath.at: Likewise.
1139         * tests/static.at: Likewise.
1141 2007-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1143         * tests/export.at: Exporting is not fully functional with
1144         -retain-symbols-file.  Do not test for failure to link `broken'
1145         in this case.  At the end of the test, SKIP if we are not fully
1146         functional.
1148         * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test
1149         pass with a C++ compiler.
1151         * libltdl/config/ltmain.m4sh: Remove duplicate marker for
1152         generated shell functions.
1154         * tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): New macro, like
1155         LT_AT_EXEC_CHECK but uses `$LIBTOOL --mode=execute' and allows
1156         to pass `-dlopen MODULE' arguments.
1157         * tests/lt_dlexit.at: Use it.  Also, do not test `-dlpreopen',
1158         that currently needs library names to begin with `lib'.
1160 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1162         * tests/export.at: New test: expose -export-symbols failure
1163         when the input consists solely of convenience archives, and
1164         failure to not export all symbols when the command line length
1165         is exceeded.
1166         * Makefile.am: Adjust.
1168         * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New substituted
1169         function `func_lo2o', saving two fork&exec with XSI shells.
1170         * libltdl/config/ltmain.m4sh (func_mode_compile)
1171         (func_mode_install, func_mode_link): Use it for rewrites of
1172         single files.
1174         * libltdl/m4/libtool.m4 (_LT_PROG_XSI_SHELLFNS): New function
1175         func_opt_split, for XSI and portable shell.
1176         * libltdl/config/ltmain.m4sh: Move the insertion point for the
1177         configure-generated shell functions to before the first option
1178         parsing loop.  Rewrite the separation of the long options to use
1179         func_opt_split.
1181 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1183         Eliminate roughly a third of the script execution time overhead
1184         for all modes except for link/relink and uninstall/clean.
1186         * libltdl/m4/libtool.m4 (_LT_CONFIG): Remove unused `TEST SUITE
1187         MARKER', obsolete since 2005-04-17.
1188         * libltdl/config/ltmain.m4sh: Likewise, several instances.
1189         (Main): Tear apart, moving individual bits up as early in the
1190         script as possible, to help the shell to avoid parsing the rest.
1192 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1194         * doc/libtool.texi: Update copyright years.
1196 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1198         * libltdl/config/general.m4sh (sed_double_backslash): Replace
1199         POSIX sed script with a hack that treats up to 10 backslashes
1200         in the input correctly and is portable to Solaris /bin/sed.
1202 2007-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1204         * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler
1205         variable is set to `no', not only if it is empty.
1207 2007-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1209         * tests/lt_dlexit.at: Do not compile main object with libtool.
1211         * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir
1212         to inner testsuite.
1214         * Makefile.am (TESTSUITE_AT): Move destdir.at after
1215         search-path.at so the banners fit better.
1217         * tests/convenience.at: Use $CPPFLAGS for compilation.
1218         * tests/deplibs-ident.at: Likewise.
1219         * tests/duplicate_members.at: Likewise.
1220         * tests/inherited_flags.at: Likewise.
1221         * tests/link-order.at: Likewise.
1222         * tests/stresstest.at: Likewise.
1223         * tests/early-libtool.at: Likewise.  Do not quote $CC.
1225         * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with
1226         C++ compiler again.
1228         * tests/destdir.at: Add `libtool' keyword to tests.
1230 2007-02-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1232         * libltdl/m4/libtool.m4 (_LT_COMPILER_BOILERPLATE)
1233         (_LT_LINKER_BOILERPLATE, _LT_SYS_MODULE_PATH_AIX)
1234         (_LT_COMPILER_C_O): Require _LT_DECL_SED.
1235         * THANKS: Update.
1236         Report by Maciej W. Rozycki.
1238 2007-01-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1240         * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir,
1241         in the new testsuite.
1243 2007-01-29  Samuel Thibault <samuel.thibault@ens-lyon.org>
1245         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ gnu ]
1246         <archive_expsym_cmds>: Behave like Linux, so that
1247         --version-script is used for Hurd as well.
1249 2007-01-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
1251         * NEWS: Update for Cygwin changes.
1253 2007-01-28  Brian W. Barrett <bbarrett@lanl.gov>
1255         * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails.
1257 2007-01-28  Dave Brolley  <brolley@redhat.com>,
1258             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1260         * libltdl/ltdl.c (lt_dlexit): Make sure that 'cur' is not NULL
1261         before checking that it is still in the list.
1262         * tests/lt_dlexit.at: New test.
1263         * Makefile.am (TESTSUITE_AT): Adjust.
1264         (check-local): Also depend on libltdl/libltdlc.la.
1265         (check-recursive): Removed, unnecessary use of Automake
1266         internals.
1268 2007-01-28  Mike Frysinger  <vapier@gentoo.org>
1270         * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
1271         `-p' and `-fprofile-*' for GCC.
1273 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1275         * libltdl/libltdl/lt_system.h: Adjust copyright years.
1277 2007-01-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
1279         * libltdl/libltdl/lt__private.h (LT_GLOBAL_DATA) [__CYGWIN__]:
1280         Also define on Cygwin.
1281         * libltdl/libltdl/lt_system.h (LT_SCOPE) [__CYGWIN__]: Likewise.
1283 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1285         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [ cygwin, mingw ]
1286         <export_symbols_cmds>: Avoid shell expansion of '/s/.*' through
1287         double expansion, in case there is a 'S:' drive.
1288         Report by Charles Wilson.
1290 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1292         Introduce a new test keyword `recursive' for tests that create a
1293         modified `libtool' script and run the suite on this script.  All
1294         tests with the keyword `libtool' are (by definition) suitable to
1295         be used here.
1297         * tests/cmdline_wrap.at: New test.
1298         * Makefile.am: Adjust.
1299         * tests/testsuite.at (LT_ESCAPE): New macro: clone of Autoconf
1300         AS_ESCAPE that does not escape `$'.
1301         (LT_AT_CHECK): New macro: print a command-to-be-run while
1302         expanding parameters but nothing else.
1303         * tests/stresstest.at: Use LT_AT_CHECK.  Create some files to
1304         expose erroneous globbing errors with `-export-symbols-regex',
1305         similar to those reported by Charles Wilson.  Use `eval' and
1306         adjusted quoting so the expansion doesn't already happen in the
1307         testsuite commands.
1308         * HACKING: Update.
1310 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1312         Assume C89 for included headers, and throughout the testsuite.
1314         * NEWS: Update.
1315         * libltdl/argz.c: Do not include strings.h nor memory.h, include
1316         string.h unconditionally.
1317         Patch by Simon Josefsson <jas@extundo.com>.
1318         * libltdl/libltdl/lt__private.h: Likewise.
1319         * libltdl/m4/ltdl.m4 (LTDL_INIT): Do not check for string.h,
1320         strings.h, memory.h.
1321         * tests/cdemo/configure.ac: Assume presence of math.h.
1322         * tests/cdemo/foo.c: Likewise.
1323         * tests/demo/configure.ac: Likewise for math.h, string.h.
1324         Assume 'const'.  Drop obsolete AC_EXEEXT.
1325         * tests/demo/dlmain.c: Likewise.
1326         * tests/demo/foo.c: Likewise.
1327         * tests/depdemo/configure.ac: Likewise.
1328         * tests/depdemo/l4/l4.c: Likewise.
1329         * tests/f77demo/configure.ac: Likewise.  Also drop obsolete
1330         AC_OBJEXT.
1331         * tests/fcdemo/configure.ac: Likewise.
1332         * tests/mdemo/configure.ac: Likewise.
1333         * tests/mdemo/foo1.c: Likewise.
1334         * tests/mdemo/foo2.c: Likewise.
1335         * tests/mdemo2/configure.ac: Likewise.
1336         * tests/pdemo/configure.ac: Likewise.
1337         * tests/pdemo/longer_file_name_dlmain.c:
1338         * tests/pdemo/longer_file_name_foo.c: Likewise.
1339         * tests/pdemo/longer_file_name_foo2.c: Likewise.
1340         * tests/tagdemo/configure.ac: Likewise.
1341         * tests/tagdemo/foo.cpp: Likewise.
1343 2007-01-24  Reuben Thomas <rrt@sc3d.org>  (tiny change)
1345         * doc/libtool.texi (Inter-library dependencies): Fix typo.
1347 2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1349         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [cygwin, mingw]:
1350         Use `lib -OUT' rather than `lib /OUT' to avoid MSYS path
1351         translation mangling.  Report by Christopher Hulbert.
1352         * THANKS: Update.
1354         * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
1355         suffixes matching `[fF][09].', for Fortran.
1356         * tests/suffix.test: Also test F90, F95, f03, F03.
1358         * Makefile.am (EXTRA_DIST): Add ChangeLog.2006.
1359         * ChangeLog.2006: New, rotated, from...
1360         * ChangeLog: ...here.
1362 2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1364         * doc/libtool.texi: Typo fixes.
1365         * TODO: Likewise.
1367 Continued in ChangeLog.2006