libltdl belongs to System/Libraries
[platform/upstream/libtool.git] / ChangeLog.2007
1 2007-11-30  Stefan Sperling  <stsp@elego.de>  (tiny change)
2
3         * doc/libtool.texi (Linking executables): Reorder paragraphs.
4
5 2007-11-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6
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>.
10
11 2007-11-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12
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.
18
19         * libltdl/config/ltmain.m4sh (func_extract_an_archive)
20         (func_extract_archives): Add some quoting.
21
22 2007-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23
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.
34
35 2007-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36
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.
42
43 2007-11-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44
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.
48
49 2007-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50
51         * tests/runpath-in-lalib.at: New test.
52         * Makefile.am: Update.
53         Report by Benoit SIGOURE <tsuna@lrde.epita.fr>.
54
55 2007-10-16  Eric Blake  <ebb9@byu.net>
56
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.
60
61 2007-10-12  Eric Blake  <ebb9@byu.net>
62
63         Whitespace cleanup.
64         * libltdl/m4/ltsugar.m4: Avoid space-tab in indents.
65         * libltdl/m4/libtool.m4: Avoid trailing space.
66
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.
74
75 2007-10-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76
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.
80
81 2007-10-11  Eric Blake  <ebb9@byu.net>
82
83         * libltdl/.cvsignore: Ignore argz.h.
84
85 2007-10-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86
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.
93
94 2007-10-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95
96         * libltdl/config/ltmain.m4sh (func_mode_compile): Accept
97         extension `.sx'.
98         * tests/suffix.test: Test it.
99
100 2007-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101
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.
106
107 2007-09-05  Eric Blake  <ebb9@byu.net>
108
109         * libltdl/ltdl.c (lt_dlcaller_get_data): Work even when no caller
110         has set data.
111
112 2007-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113
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.
126
127 2007-09-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
128
129         * NEWS: Update.
130
131         * libltdl/ltdl.c (trim): Fix possible write beyond array bound.
132
133         * libltdl/ltdl.c (lt_dlopenadvise): Instead of asserting, return
134         FILE_NOT_FOUND if the filename is "".
135
136         * libltdl/ltdl.c (try_dlopen): Fix computation of extension,
137         avoids subtracting pointer from NULL pointer.
138
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.
143
144         * libltdl/ltdl.c (tryall_dlopen_module): Fix string length
145         computation: do not allocate more than needed.
146
147 2007-08-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
148
149         * libltdl/loaders/preopen.c (vm_close): `module' is unused.
150         Coverity report CID 158 via Jeff Squyres.
151
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.
155
156         * libltdl/ltdl.c (has_library_ext): Remove dead code.
157         Coverity report CID 561 against Open MPI via Jeff Squyres.
158
159 2007-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
160
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.
164
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.
172
173 2007-08-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
174
175         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]
176         [ k*bsd*-gnu ] <shlibpath_overrides_runpath>: Avoid spurious
177         output in runpath test.
178
179 2007-08-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
180
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>.
184
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.
190
191 2007-08-15  Dirk Mueller  <dmueller@suse.de>  (tiny change)
192             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
193
194         * libltdl/ltdl.c (parse_dotla_file): Avoid a strlen.  When
195         reading .la files, cope with files that are not
196         newline-terminated.
197
198 2007-08-05  Tilman Koschnick  <til@subnetz.org>  (tiny change)
199
200         * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC, _LT_LANG_CXX_CONFIG)
201         [ linux ]: Treat pgcpp as Portland Group C++ compiler as well.
202
203 2007-08-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
204
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.
209
210 2007-07-27  Peter Rosin  <peda@lysator.liu.se>
211
212         * Makefile.am: Pass STRIP through to the testsuite, so that
213         tests that run configure will use the same strip program.
214
215 2007-07-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
216
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.
221
222 2007-07-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
223
224         * doc/fdl.texi: Update to GFDL 1.2.
225         * doc/libtool.texi: Adjust.  Put License in Appendix.
226
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>.
231
232 2007-07-23  Eric Blake  <ebb9@byu.net>
233
234         * libltdl/config/ltmain.m4sh: Whitespace cleanup.
235
236         * libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src)
237         <chase_symlinks>: Avoid compiler warning.
238
239 2007-07-22  Peter Rosin  <peda@lysator.liu.se>
240
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.
244
245 2007-07-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
246
247         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [linux]:
248         Ignore lines in ld.so.conf starting with 'hwcap '.
249
250 2007-07-16  Charles Wilson  <libtool@cwilson.fastmail.fm>
251
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.
269
270 2007-07-14  Peter Rosin  <peda@lysator.liu.se>
271
272         * AUTHORS, THANKS: Peter Ekberg got married, now Peter Rosin.
273
274 2007-07-13  Charles Wilson  <libtool@cwilson.fastmail.fm>
275
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.
285
286 2007-07-12  Peter Rosin  <peda@lysator.liu.se>
287
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.
291
292 2007-07-06  Peter O'Gorman  <peter@pogma.com>
293
294         * libltdl/config/libtool.m4sh: Don't pass -msg_* through to the
295         linker.
296         Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
297
298 2007-07-04  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
299
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.
306
307 2007-07-04  Eric Blake  <ebb9@byu.net>
308
309         * libltdl/ltdl.c (advise_dup): Delete function no longer used
310         after memleak fix three days ago.
311
312 2007-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
313
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>.
317
318 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
319
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>.
326
327         * libltdl/ltdl.c (tryall_dlopen): Rename argument to have typed
328         alias of `advise' instead of allocating a copy.  Fixes memleak.
329
330 2007-06-30  Peter Breitenlohner  <peb@mppmu.mpg.de>
331
332         * libltdl/m4/libtool.m4 (LT_SYS_DLOPEN_SELF): Correct a typo
333         ("-dld" instead of "-ldld").
334
335 2007-06-24  Gary V. Vaughan  <gary@gnu.org>
336
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:
342
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.
376
377 2007-06-24  Gary V. Vaughan  <gary@gnu.org>
378
379         Reenable compilation of libltdl with C++:
380
381         * libltdl/ltdl.c (tryall_dlopen): Rename the try variable to
382         attempt, and cast explicitly.
383         (advise_dup): Add explicit cast.
384
385 2007-06-22  Peter O'Gorman  <peter@pogma.com>
386
387         * libltdl/config/ltmain.m4sh (version-number) [irix]: Don't subtract
388         1 from major as it may be less than age.
389
390 2007-06-21  Noah Misch  <noah@cs.caltech.edu>
391
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>.
397
398 2007-06-19  Charles Wilson  <libtool@cwilson.fastmail.fm>
399
400         * AUTHORS: Add myself.
401
402 2007-06-18  Charles Wilson  <libtool@cwilson.fastmail.fm>
403
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.
440
441 2007-06-17  Noah Misch  <noah@cs.caltech.edu>
442
443         * AUTHORS: Add myself.
444
445 2007-06-17  Peter O'Gorman  <peter@pogma.com>
446
447         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): add quotes to
448         the test -n.
449
450 2007-06-17  Charles Wilson  <libtool@cwilson.fastmail.fm>
451
452         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): ensure stderr
453         is redirected even when getconf does not exist.
454
455 2007-06-09  Charles Wilson  <libtool@cwilson.fastmail.fm>
456
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.
477
478 2007-06-07  Charles Wilson  <libtool@cwilson.fastmail.fm>
479
480         * libltdl/config/ltmain.m4sh (func_emit_libtool_cwrapperexe_source):
481         ensure that generated source follows GCS as nearly as
482         possible.
483
484 2007-06-07  Charles Wilson  <libtool@cwilson.fastmail.fm>
485
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)
506
507 2007-06-03  Peter O'Gorman  <peter@pogma.com>
508
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>
516
517 2007-06-01  Steve Ellcey  <sje@cup.hp.com>
518
519         * libltdl/m4/libtool.m4 (LT_CMD_MAX_LEN): Try using getconf
520         to set lt_cv_sys_max_cmd_len.
521
522 2007-05-28  Peter O'Gorman  <peter@pogma.com>
523
524         * libltdl/config/ltmain.m4sh (func_mode_link),
525         libltdl/m4/libtool.m4 [darwin]: Only use ${wl} in verstring
526         with xlc.
527
528 2007-05-22  Gary V. Vaughan  <gary@gnu.org>
529
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.
536
537 2007-05-10  Noah Misch  <noah@cs.caltech.edu>
538
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.
542
543         * libltdl/config/general.m4sh (func_echo): Use $* instead of
544         ${1+"$@"}.
545
546 2007-05-09  Eric Blake  <ebb9@byu.net>
547
548         * libltdl/libltdl/lt_error.h (LT_ERROR_LEN_MAX): Adjust, to fix
549         buffer overflow in previous patch.
550
551 2007-05-09  Gary V. Vaughan  <gary@gnu.org>
552
553         * tests/lt_dladvise.at: Commit missing file from below.
554
555 2007-05-08  Gary V. Vaughan  <gary@gnu.org>
556
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:
562
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.
601
602 2007-05-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
603
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.
610
611 2007-05-03  Reuben Thomas  <rrt@sc3d.org>  (tiny change)
612
613         * doc/libtool.texi (Libltdl interface): Fix typo.
614
615 2007-05-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
616
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.
623
624 2007-04-27  Noah Misch  <noah@cs.caltech.edu>
625
626         * tests/ctor.at: New file.
627         * Makefile.am (TESTSUITE_AT): Add tests/ctor.at.
628
629 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
630
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>.
636
637 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
638             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
639
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.
648
649 2007-04-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
650
651         * README, README.alpha: Document how to test an arbitrary
652         installed libtool script.
653
654 2007-04-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
655
656         * tests/cmdline_wrap.at: Avoid `AT_CAPTURE_FILE' if it not
657         defined (Autoconf < 2.60).
658         * tests/shlibpath.at: Add `libtool' keyword.
659
660         * tests/indirect_deps.at: New file, with tests to ensure
661         `link_all_deplibs=no' does not break functionality.
662         * Makefile.am: Adjust.
663
664 2007-04-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
665
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.
673
674 2007-04-23  Charles Wilson  <libtool@cwilson.fastmail.fm>
675
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.
686
687 2007-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
688
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.
692
693 2007-04-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
694
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.
700
701 2007-03-30   Matthieu Herrb  <matthieu.herrb@laas.fr>
702
703         * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG)
704         [ openbsd ]: Add an explicit check for shared libraries support.
705
706 2007-03-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
707
708         * Makefile.am ($(srcdir)/$(m4dir)/ltversion.m4): Fix quoting
709         error.
710
711 2007-03-28  Gary V. Vaughan  <gary@gnu.org>
712
713         * HACKING (Abstraction layers in libltdl): Rewritten somewhat
714         for (hopefully) better clarity.
715
716 2007-03-26  Gary V. Vaughan  <gary@gnu.org>
717
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:
723
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.
733
734 2007-03-25  Gary V. Vaughan  <gary@gnu.org>
735
736         * HACKING (LGPL with Libtool exception clause): Typo.
737         Reported by Tim Van Holder  <tim.van.holder@telenet.be>
738
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.
843
844 2007-03-19  Gary V. Vaughan  <gary@gnu.org>
845
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.
850
851 2007-03-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
852
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.
858
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>.
865
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.
870
871 2007-03-09  Gary V. Vaughan  <gary@gnu.org>
872
873         * libtoolize.m4sh: Replace literal tab chars in help comment
874         with spaces to align columns in --help output.
875
876 2007-03-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
877
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.
882
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.
888
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.
892
893 2007-03-05  Gary V. Vaughan  <gary@gnu.org>
894
895         * libtoolize.m4sh (func_check_macros): Display m4 quotes correctly
896         in AC_CONFIG_MACRO_DIR diagnostics.
897
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.
904
905 2007-02-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
906
907         * tests/lt_dlexit.at: Allow test to pass on static-only systems
908         and with disable-shared.
909
910         * NEWS: Rewrite all news since 1.9f and put in categories,
911         update.
912
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.
919
920 2007-02-26  Gary V. Vaughan  <gary@gnu.org>
921
922         * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fix regexp typo.
923
924         * clcommit.m4sh: Look in the right directory for helper scripts.
925
926 2007-02-25  Gary V. Vaughan  <gary@gnu.org>
927
928         * Makefile.am ($(srcdir)/libltdl/Makefile.am): Fixup regex to
929         match Copyright notice change below.
930
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.
941
942 2007-02-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
943
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.
947
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.
956
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.
964
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.
968
969 2007-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
970
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.
974
975         * doc/libtool.texi (LT_INIT): Fix typo.
976
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.
993
994         * bootstrap: Also set GREP, FGREP, EGREP, LN_S, when creating a
995         preliminary ltmain.sh script.
996
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.
1001
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.
1021
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.
1031
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.
1036
1037 2007-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1038
1039         Fix -export-symbols and -export-symbols-regex for links that
1040         exceed the command line length and use convenience archives.
1041
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.
1048
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.
1062
1063         * libltdl/config/ltmain.m4sh (func_mode_link): Avoid setting
1064         `$libobjs' to a single space; set it to empty in that case.
1065
1066 2007-02-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1067
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'.
1072
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).
1077
1078 2007-02-23  Ralf Menzel  <menzel@ls6.cs.uni-dortmund.de>  (tiny change)
1079
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.
1083
1084 2007-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1085
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.
1089
1090 2007-02-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1091
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.
1096
1097         * tests/template.at: Reformat, add M4 quoting.  Use $LDFLAGS
1098         consistently for link mode.
1099
1100 2007-02-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1101
1102         * tests/static.at: Use the right names for the broken libs.
1103
1104 2007-02-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1105
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.
1109
1110         * libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux |
1111         k*bsd*-gnu ]: Fix eval quoting in the DT_RUNPATH test.
1112
1113         * HACKING: Update.
1114
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.
1120
1121 2007-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1122
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.
1128
1129 2007-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1130
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.
1134
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.
1140
1141 2007-02-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1142
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.
1147
1148         * tests/lt_dlexit.at: Add casts and `extern "C"' to let the test
1149         pass with a C++ compiler.
1150
1151         * libltdl/config/ltmain.m4sh: Remove duplicate marker for
1152         generated shell functions.
1153
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'.
1159
1160 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1161
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.
1167
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.
1173
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.
1180
1181 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1182
1183         Eliminate roughly a third of the script execution time overhead
1184         for all modes except for link/relink and uninstall/clean.
1185
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.
1191
1192 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1193
1194         * doc/libtool.texi: Update copyright years.
1195
1196 2007-02-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1197
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.
1201
1202 2007-02-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1203
1204         * tests/testsuite.at (LT_AT_TAG): Skip also if the compiler
1205         variable is set to `no', not only if it is empty.
1206
1207 2007-02-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1208
1209         * tests/lt_dlexit.at: Do not compile main object with libtool.
1210
1211         * tests/cmdline_wrap.at: Pass $abs_top_srcdir and $abs_builddir
1212         to inner testsuite.
1213
1214         * Makefile.am (TESTSUITE_AT): Move destdir.at after
1215         search-path.at so the banners fit better.
1216
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.
1224
1225         * libltdl/ltdl.c (lt_dlexit): Add casts to fix compilation with
1226         C++ compiler again.
1227
1228         * tests/destdir.at: Add `libtool' keyword to tests.
1229
1230 2007-02-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1231
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.
1237
1238 2007-01-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1239
1240         * tests/lt_dlexit.at: Use $abs_top_srcdir, not $top_srcdir,
1241         in the new testsuite.
1242
1243 2007-01-29  Samuel Thibault <samuel.thibault@ens-lyon.org>
1244
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.
1248
1249 2007-01-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
1250
1251         * NEWS: Update for Cygwin changes.
1252
1253 2007-01-28  Brian W. Barrett <bbarrett@lanl.gov>
1254
1255         * libltdl/config/ltmain.m4sh [darwin]: Use otool64 if otool fails.
1256
1257 2007-01-28  Dave Brolley  <brolley@redhat.com>,
1258             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1259
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.
1267
1268 2007-01-28  Mike Frysinger  <vapier@gentoo.org>
1269
1270         * libltdl/config/ltmain.m4sh (func_mode_link): Pass through
1271         `-p' and `-fprofile-*' for GCC.
1272
1273 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1274
1275         * libltdl/libltdl/lt_system.h: Adjust copyright years.
1276
1277 2007-01-28  Charles Wilson  <libtool@cwilson.fastmail.fm>
1278
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.
1282
1283 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1284
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.
1289
1290 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1291
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.
1296
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.
1309
1310 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1311
1312         Assume C89 for included headers, and throughout the testsuite.
1313
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.
1342
1343 2007-01-24  Reuben Thomas <rrt@sc3d.org>  (tiny change)
1344
1345         * doc/libtool.texi (Inter-library dependencies): Fix typo.
1346
1347 2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1348
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.
1353
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.
1357
1358         * Makefile.am (EXTRA_DIST): Add ChangeLog.2006.
1359         * ChangeLog.2006: New, rotated, from...
1360         * ChangeLog: ...here.
1361
1362 2007-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1363
1364         * doc/libtool.texi: Typo fixes.
1365         * TODO: Likewise.
1366
1367 Continued in ChangeLog.2006
1368 -- 
1369   Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
1370   2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
1371
1372   This file is part of GNU Libtool.
1373
1374 Copying and distribution of this file, with or without modification,
1375 are permitted in any medium without royalty provided the copyright
1376 notice and this notice are preserved.  This file is offered as-is,
1377 without warranty of any kind.