* m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun,
[libtool.git] / ChangeLog
blob9653a906fcdc864073edad8a515ed83bfe1d352c
1 2004-05-18  Peter O'Gorman  <peter@pogma.com>
3         * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Make this an m4_defun,
4         test the tags compiler to see if it is GCC, not the CC compiler.
6 2004-05-16  Alexandre Duret-Lutz  <adl@gnu.org>
8         * doc/libtool.texi (Invoking libtool): Mention --tag=TAG.
9         (Tags, Trace interface): New nodes.
10         * m4/libtool.m4 (LT_SUPPORTED_TAG): New macro.
11         (_LT_LANG): Call it.
12         * tests/tagtrace.test: New file.
13         * tests/Makefile.am
14         (TESTS): Add tagtrace.test.
15         * tests/defs: Define AUTOCONF.
17 2004-05-14  Mike Gorchak  <lestat@i.com.ua>
19         * ltmain.in: Add new qnx version type support.
20         * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it.  Set
21         ldqnx.so linker type.
22         (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib
23         checking, so use pass_all.
24         (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX.
25         (_LT_LANG_CXX_CONFIG): QNX can make shared libraries.
26         * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on
27         dlopen.
28         * NEWS: Updated.
30 2004-05-05  Peter O'Gorman  <peter@pogma.com>
32         * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space
33         around = for a test and a comma between runpath_var and $1. Bug
34         reported by Max Bowsher.
36 2004-04-22  Gary V. Vaughan  <gary@gnu.org>
38         * libltdl/argz.h: Moved from here...
39         * libltdl/argz_.h: ...to here, so as not to shadow system
40         argz.h when we `#include <argz.h>' for example.
41         #include stdlib.h and sys/types.h to ensure we get a size_t
42         definition.
43         * libltdl/argz.c (HAVE_CONFIG_H): Set it up how ltdl likes it when
44         used by another client.
45         * m4/argz.m4: New file.
46         (gl_FUNC_ARGZ): Try to find an error_t definition, and a system
47         argz.h.
48         * m4/ltdl.m4: Use it.
49         (AC_LTDL_FUNC_ARGZ): Removed.
50         * libltdl/lt__glibc.h: #include <argz.h> to pick up either the
51         system argz.h or our libltdl/argz.h if necessary.
52         * libltdl/Makefile.am (libltdl_la_SOURCES): Move argz.h from
53         here...
54         (ltdldata_DATA): ...here. Along with argz.c.
55         (argz.h): Generate from argz_.h if the system file is missing.
56         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58 2004-04-22  Gary V. Vaughan  <gary@gnu.org>
60         According to Howard Chu <hyc@highlandsun.com>:
61         Applications should assume that the native dlopen is NOT
62         thread-safe, and take care of locking themselves. All application
63         calls into libltdl should thus be protected by the caller.
65         * libltdl/lt_mutex.c, libltdl/lt_mutex.h: Removed.
66         * libltdl/Makefile.am (pkginclude_HEADERS): Removed lt_mutex.h.
67         (libltdl_la_SOURCES): Removed lt_mutex.c and lt_mutex.h.
68         * libltdl/ltdl.h: Don't include lt_mutex.h.
69         * libltdl/lt__private.h (LT__MUTEX_GETERROR, LT__MUTEX_SETERROR)
70         (LT__MUTEX_SETERRORSTR): Renamed to...
71         (LT__GETERROR, LT__SETERROR, LT__SETERRORSTR): ...this.  Changed
72         all callers.
73         (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, lt_dlmutex_lock)
74         (lt_dlmutex_unlock, lt_dlmutex_seterror, lt_dlmutex_geterror):
75         Removed.  Changed all callers.
76         * doc/libtool.texi (Thread Saftey in libltdl):
77         * NEWS: Updated.
79 2004-04-19  Gary V. Vaughan  <gary@gnu.org>
81         * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Detect Intel C++ compiler
82         version more idiomatically.
84 2004-04-19  Albert Chin-A-Young  <china@thewrittenword.com>
86         * m4/libtool.m4: Use cc rather than ld to created
87         a shared library on HP-UX 11.x. On HP-UX 10.x, the
88         C compiler doesn't grok -b so we continue to use ld.
90         * m4/libtool.m4: Use cc rather than ld to create a
91         shared library on Solaris. When using the Sun
92         Workshop compiler 5.0 (and I presume any previous
93         version), revert to ld due to compiler errors.
95         * m4/libtool.m4: Use cc rather than ld to created
96         a shared library on Tru64 UNIX.
98         * m4/libtool.m4: Use cc rather than ld to created
99         a shared library on IRIX.
101         * libltdl/loader-shl_load.c: Fix typos during reorg.
103 2004-04-19  Alexandre Duret-Lutz  <adl@gnu.org>
105         * doc/libtool.texi (LT_INIT): Properly display options in a table.
107 2004-04-19  Gary V. Vaughan  <gary@gnu.org>
109         * m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Intel C++ compiler 8.0 and
110         newer adds predep_objects and postdep_objects itself, so don't
111         duplicate them in $archive_cmds and $archive_expsym_cmds.
112         * NEWS: Updated.
113         Reported by Roberto Bagnare <bagnara@cs.unipr.it>
115 2004-04-17  Peter O'Gorman  <peter@pogma.com>
117         * libltdl/loader-dyld.c: Fix compilation issues. Set Original author
118         to me.
120 2004-04-17  Todd Vierling  <tv@duh.org>,
121         Peter O'Gorman  <peter@pogma.com>
123         * m4/libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use sysctl to get the
124         max cmd length on BSD* and darwin. Make sure that there is a safety
125         factor too.
127 2004-04-15  Scott James Remnant  <scott@netsplit.com>
129         * m4/libtool.m4 (_LT_LANG_DEFAULT_CONFIG): Remove code to handle 'none'
130         and 'all' options, this now always assumes automatic mode as that
131         works so well.
132         (_LT_LANG_DEFAULT): Remove definition
133         * m4/ltoptions.m4: Remove 'no-lang', 'auto-lang' and 'all-lang' options.
134         * configure.ac: Invoke LT_LANG for each desired supported language.
135         * doc/libtool.texi: Remove documentation for the LT_INIT options,
136         rewrite LT_LANG documentation.
138 2004-04-14  Alexandre Duret-Lutz  <adl@gnu.org>
140         * bootstrap: Delete acinclude.m4.
142 2004-04-14  Gary V. Vaughan  <gary@gnu.org>
144         * libtoolize.in (configure_ac): Don't complain about the lack of
145         aclocal.m4.
146         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
148 2004-04-13  Gary V. Vaughan  <gary@gnu.org>
150         * m4/ltdl.m4 (AC_LIB_LTDL): Remove AC_REPLACE_FUNCS for memmove
151         and strcpy.
153         * libltdl/lt__pre89.h, libltdl/memcpy.c, libltdl/memmove.c,
154         libltdl/strchr.c, libltdl/strcmp.c, libltdl/strrchr.c: Remove
155         half-assed pre-c89 support entirely.
156         * libltdl/lt__private.h: Don't refer to lt__pre89.h.
157         * libltdl/Makefile.am (ltdldata_DATA): Remove references to
158         deleted files.
159         * NEWS: Mention it.
161         * libltdl/lt__pre89.h, libltdl/ltdl.c, libltdl/ltdl.h, libltdl/argz.c,
162         libltdl/argz.h, libltdl/lt__glibc.h, libltdl/lt_dlloader.h,
163         libltdl/lt__dirent.c, libltdl/lt__dirent.h, libltdl/lt__private.h,
164         libltdl/lt__alloc.c, libltdl/lt__alloc.h, libltdl/lt_system.h,
165         libltdl/loader-dld_link.c, libltdl/loader-dlopen.c,
166         libltdl/loader-dyld.c,  libltdl/loader-loadlibrary.c,
167         libltdl/loader-shl_load.c, libltdl/lt_error.h, libltdl/lt_mutex.h:
168         Autoconf either defines to 1 or undefs the discovery macros it
169         puts in config.h, and many (non-GNU) compilers throw a spurious
170         warning when testing an #undef macro with #if.  For consistency,
171         while we are touching all these lines, use defined(MACRO) style
172         throughout.
173         Reported by Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
175 2004-04-13  Gary V. Vaughan  <gary@gnu.org>
177         Factor out the individual loaders, in preparation for preloading
178         them as libtool modules.  Currently loader-preopen.c is linked
179         unconditionally and other appropriate loaders discovered by
180         AC_LTDL_DLLIB are built and linked in:
182         * libltdl/Makefile.am (libltdl_la_SOURCES): Add loader-preopen
183         module.
184         * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate
185         loaders to libltdl.
186         * libltdl/lt_system.h (LT_SCOPE): Moved to here.
187         * libltdl/ltdl.h (lt_dlloader, lt_user_data, lt_module)
188         (lt_module_open, lt_module_close, lt_find_sym, lt_dlloader_exit)
189         (struct lt_user_dlloader, lt_dlloader_next, lt_dlloader_find)
190         (lt_dlloader_name, lt_dlloader_data, lt_dlloader_add)
191         (lt_dlloader_remove): Moved declarations...
192         * libltdl/lt_loader.h: ...to here.
193         * libltdl/ltdl.c: Include lt_loader.h.  Move loader implementation
194         code from here...
195         * libltdl/loader-dld_link.c, libltdl/loader-dlopen.c,
196         libltdl/loader-dyld.c, libltdl/loader-load_add_on.c,
197         libltdl/loader-loadlibrary.c, libltdl/loader-preopen.c,
198         libltdl/loader-shl_load.c: ...to here.
199         * tests/cdemo/Makefile.am, tests/demo/Makefile.am,
200         tests/depdemo/Makefile.am, tests/f77demo/Makefile.am,
201         tests/mdemo/Makefile.am, tests/mdemo2/Makefile.am,
202         tests/pdemo/Makefile.am, tests/tagdemo/Makefile.am (AM_CPPFLAGS):
203         Add -I$(top_srcdir)/../.. so that libltdl include files can be
204         written as #include <libltdl/lt_dlloader.h> and found correctly.
206 2004-04-13  Gary V. Vaughan  <gary@gnu.org>
208         Factor out the mutex handling and error handling into their own
209         modules.  Mutex handling is not currently useful in combination
210         with posix threads, and should be easier to replace if it is in a
211         separate module.  Additionally, we can factor out the loaders in
212         such a way as to depend on only the portability layer and these
213         new mutex and error modules now:
215         * libltdl/Makefile.am (pkginclude_HEADERS): Install lt_error.h and
216         lt_mutex.h to $includedir/libltdl.
217         (libltdl_la_SOURCES): Build lt_error and lt_mutex objects.
218         * libltdl/ltdl.h (LT_SCOPE): Moved from here...
219         * libltdl/lt_system.h (LT_SCOPE): ...to here.
220         * libltdl/ltdl.c (lt_dlerror_strings, LT_DLSTRERROR): Moved from
221         here...
222         * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to
223         here as additional internal interfaces to lt_error.  Changed all
224         callers.
225         * libltdl/ltdl.c (LT_DLMUTEX_LOCK, LT_DLMUTEX_UNLOCK)
226         (LT_DLMUTEX_SETERROR, LT_DLMUTEX_GETERROR, lt_dlmutex_lock_func)
227         (lt_dlmutex_unlock_func, lt_dlmutex_geterror_func)
228         (lt_dllast_error): Moved from here...
229         (LT__MUTEX_LOCK, LT__MUTEX_UNLOCK, LT__MUTEX_SETERRORSTR)
230         (LT__MUTEX_GETERROR, lt__mutex_lock_func, lt__mutex_unlock_func)
231         (lt__mutex_geterror_func, lt__last_error): ...to here as
232         additional internal interfaces to lt_mutex.  Changed all callers.
233         (LT_MUTEX_SETERROR): Take an errorcode rather than a string.
234         Changed all callers.
235         * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from
236         here...
237         * libltdl/lt_mutex.c, libltdl/lt_mutex.h (lt_dlmutex_register):
238         ...to here. New files.
239         * libltdl/ltdl.c, libltdl/ltdl.h (lt_dladderror, lt_dlseterror)
240         (lt_dlerror_table):
241         Moved from here...
242         * libltdl/lt_error.c, libltdl/lt_error.h (lt_dladderror)
243         (lt_dlseterror, lt_dlerror_table): ...to here. New files.
245 2004-04-13  Scott James Remnant  <scott@netsplit.com>
247         * Makefile.am (XDELTA_OPTIONS): Remove --pristine as that
248         generates huge xdeltas.
250 2004-04-08  Gary V. Vaughan  <gary@gnu.org>
252         * libltdl/ltdl.c (argz_append, argz_create_sep, argz_insert)
253         (argz_next, argz_stringify): Move from here...
254         * libltdl/argz.c: New file. ...to here.
255         * libltdl/lt__glibc.h: New file. Rename global symbols into the
256         lt__ namespace.
257         * libltdl/lt__private.h: Include lt__glibc.h.
258         * libltdl/Makefile.am (libltdl_la_SOURCES): Add new files.
259         (AM_CPPFLAGS): Add -DLTDL.
260         * libltdl/argz.h (argz_append, argz_create_sep, argz_insert)
261         (argz_next, argz_stringify): New file. Declare argz functions
262         here, including lt__glibc.h when LTDL is defined to rename global
263         symbols for libltdl.
264         * m4/ltdl.m4 (AC_LTDL_FUNC_ARGZ): Add argz to AC_LIBOBJ if any of
265         our argz_* functions are missing from the system libraries.
267         * libltdl/ltdl.c: Move standard headers and preprocessor guards
268         from here...
269         * libltdl/lt__private.h: ...to here.  New file to declare ltdl's
270         internal interfaces.
271         * libltdl/ltdl.c: Include lt__private.h.
272         * m4/ltdl.m4 (AC_LIB_LTDL): Add lt_dirent to AC_LIBOBJ if all of
273         opendir, readdir and closedir are missing.
274         (AC_CHECK_HEADERS): Remove assert.h, ctype.h, errno.h, malloc.h,
275         stdio.h and stdlib.h; these headers are all available in standard
276         c89 environments and newer.
277         * libltdl/lt__private.h: Include them here unconditionally.
278         * libltdl/lt__dirent.c (opendir, readdir, closedir): New file.
279         Windows dirent emulation functions moved to here...
280         * libltdl/ltdl.c (opendir, readdir, closedir): ...from here.
281         * libltdl/lt__dirent.h: New file.  Rename the global symbols from
282         lt__dirent.c into the lt__ namespace so they don't clash with
283         other libraries.
285 2004-04-08  Gary V. Vaughan  <gary@gnu.org>
287         Factor out the bottom portability layer from ltdl.  Code in this
288         layer has global symbols renamed by lt__pre89.h, and may not
289         refer to any symbols except those provided by the system libraries
290         or other code in the portability layer:
292         * libltdl/lt__pre89.h: New file.  Rename all the symbols from
293         LTLIBOBJS into the lt__ namespace so that they don't clash with
294         other libraries.
295         * libltdl/ltdl.c (rpl_memcpy, rpl_memmove, rpl_strchr, rpl_strcmp)
296         (rpl_strrchr): Moved from here...
297         * libltdl/memcpy.c (memcpy): ...to here, and fixed void *
298         dereference bug...
299         * libltdl/memmove.c (memmove): ...to here, and fixed void *
300         dereference bug...
301         * libltdl/strchr.c (strchr): ...to here...
302         * libltdl/strcmp.c (strcmp): ...here...
303         * libltdl/strrchr.c (strrchr): ...and here.
304         * libltdl/Makefile.am (libltdl_la_SOURCES): Add lt__pre89.h.
305         (libltdl_la_LIBADD, libltdlc_la_LIBADD): Add $(LTLIBOBJS).
306         (ltdldata_DATA): Add replacement sources files.
307         * m4/ltdl.m4 (AC_LIB_LTDL): Do careful config.h and LTLIBOBJ
308         setting for missing pre89 functions.
310 2004-04-08  Gary V. Vaughan  <gary@gnu.org>
312         * libltdl/ltdl.h (LT_PARAMS): Removed.  Changed all users to
313         ANSI prototypes.
314         (lt_ptr): Keep backwards compatibility stub.
315         * libtldl/ltdl.c, libltdl/ltdl.h: Use ANSI function declarations
316         throughout.  s/lt_ptr/void */g.
318 2004-04-08  Fredrik Estreen  <estreen@algonet.se>
320         * m4/ltdl.m4: Rename shrext to shrext_cmds here too.
322 2004-04-06  Gary V. Vaughan  <gary@gnu.org>
324         There was no clean separation of abstraction layers in libltdl.
325         The first step in fixing this is to factor out the memory
326         management abstraction, making a start on removing promiscuity
327         from the underlying portability layer:
329         * doc/libtool.texi (Libltdl interface): Remove lt_dlmalloc,
330         lt_dlrealloc and lt_dlfree references.  The memory management
331         layer used by libltdl is now private.
332         * libltdl/lt_system.h: New installed header for system portability
333         abstraction.
334         * libltdl/ltdl.h: Use it.
335         * libltdl/lt__alloc.c, libltdl/lt__alloc.h: New module above
336         system portability layer to abstract ltdl's memory management.
337         * libltdl/ltdl.c: Use lt__alloc.h.
338         (closedir): Use free.
339         (opendir): Use malloc/free.
340         (lt__xalloc_die_callback): Report memory failures through
341         lt_dlerror.
342         (lt_dlinit): Use it to initialise memory management.
343         (LT_DLMALLOC, LT_DLREALLOC, LT_DLFREE, LT_EMALLOC, LT_EREALLOC)
344         (rpl_strdup, rpl_realloc, lt_estrdup, lt_emalloc, lt_erealloc):
345         Removed in favour of...
346         (lt__strdup, lt__memdup, MALLOC, REALLOC, FREE): ...these calls
347         from libltdl/lt__alloc.h.  Changed all callers.
348         (rpl_argz_append, rpl_argz_create_sep, rpl_argz_insert): As part
349         of the portability layer, these functions no longer use libltdl
350         memory management API.
351         (free_vars): Factored out.
352         (LT_DLMEM_REASSIGN): While redoing memory handling, renamed...
353         * libltdl/lt__alloc.h (MEMREASSIGN): ...to this.
354         * libltdl/Makefile.am (AUTOMAKE_OPTIONS): Let automake track
355         dependencies automatically.
356         (pkgincludedir): Override from parent package's setting.
357         (pkginclude_HEADERS): Install lt_system.h.
358         (libltdl_la_SOURCES): Add new files.
359         * NEWS: Updated.
360         Reported by Dalibor Topic <robilad@kaffe.org>
362 2004-04-01  Peter O'Gorman  <peter@pogma.com>
364         * ltmain.in: Remove an extra eval concat_cmds that some idiot added.
365         Fixes double eval on AIX, reported by Albert Chin and Uwe Moeller.
367         * NEWS: Add a news item about xlc support that I forgot yesterday.
369 2004-03-31  Peter O'Gorman  <peter@pogma.com>
371         * m4/libtool.m4, ltmain.in (darwin): Support IBM's xlc and xlc++.
373 2004-03-31  Gary V. Vaughan  <gary@gnu.org>
375         * m4/libtool.m4 (_LT_LANG_C_CONFIG): If $compiler is not set, then
376         don't call the macros that test it.
377         (_LT_LANG_CXX_CONFIG): Ditto.
378         (_LT_LANG_F77_CONFIG): Ditto.
379         (_LT_LANG_GCJ_CONFIG): Ditto.
380         (_LT_LANG_RC_CONFIG): Ditto.
382 2004-03-30  Gary V. Vaughan  <gary@gnu.org>
384         * libtoolize.in (func_scan_files): sed BRE have no alternation, so
385         break LT_INIT matcher out.
386         (func_serial): Don't escape literal parens for grep BRE.
388         * m4/libtool.m4 (LT_INIT): aclocal can't see AC_DEFUN_ONCE, so use
389         AC_DEFUN and m4_define.
390         * libtoolize.in (func_serial): No longer accept AC_DEFUN_ONCE...
391         (func_grep): ...so mere grep is sufficient again...
392         (EGREP): ...and this is no longer required.
394 2004-03-29  Gary V. Vaughan  <gary@gnu.org>
396         * m4/libtool.m4: Use LT_INIT as #serial tag.
397         * libtoolize.in: Grok LT_INIT!  Pass A[CM]_PROG_LIBTOOL to...
398         (func_serial_update): ...here, we now take an additional parameter
399         containing another regex to match ancient serialed files.
400         (func_serial): Accept AC_DEFUN_ONCE of the #serial tag...
401         (func_grep): ...which requires egrep...
402         (EGREP): ...substituted by config.status.
403         (func_scan_files): Set seen_libtool if LT_INIT goes by.
405         * Makefile.am (pkgmacro_DATA): Install ltoptions.m4.
407         * libltdl/Makefile.am (AM_CPPFLAGS): Also check $top_builddir for
408         config.h.
409         (ltdl.o): config.h is in $top_builddir.
411 2004-03-24  Scott James Remnant  <scott@netsplit.com>
413         * NEWS: Explain more fully why we no longer load libraries
414         with global symbol resolution.
415         * doc/libtool.texi (libtool script contents): Add missing
416         documentation for 'inherit_rpath' variable.
418         * configure.ac: Catch errors during calls to AC_PROG_CXX,
419         AC_PROG_CXXCPP and AC_PROG_F77 before LT_INIT.  Only set the
420         HAVE_CXX and HAVE_F77 conditions to true if an error didn't
421         occur (AC_PROG_CXX leaves CXX="g++" even if it didn't find one).
422         Set HAVE_GCJ and HAVE_RC to true correctly as well.
423         * m4/libtool.m4 (LT_PROG_GCJ): If AC_PROG_GCJ or AM_PROG_GCJ are
424         defined, expand to the definition of those instead of our own.
425         Define GCJ to '' instead of 'no' if not found.
426         (LT_PROG_RC) Define RC to '' instead of 'no' if not found.
427         (_LT_LANG_GCJ_CONFIG): Require LT_PROG_GCJ to be expanded first.
428         (_LT_LANG_RC_CONFIG): Require LT_PROG_RC to be expanded first.
430         * libltdl/ltdl.c (sys_dl_open): Don't load libraries with global
431         symbol resolution.
432         * NEWS: Updated.
434 2004-03-24  Albert Chin-A-Young  <china@thewrittenword.com>
436         * m4/libtool.m4: Add new variable, inherit_rpath, if the
437         RPATHs of the libraries being linked are inherited in
438         the output file. For systems with a linker exhibiting
439         this feature, programs/libraries must be relinked at
440         installation time.
442         * m4/libtool.m4: When linking convenience libraries on Solaris
443         with the Sun C++ compiler, pass convenience libraries through
444         to the linker with -Qoption between allextract/defaultextract.
445         The Sun C++ compiler bundles -Qoption arguments so
446         convenience libraries are linked with defaultextract
447         otherwise.
448         * tagdemo/Makefile.am, tagdemo/main.cpp, tagdemo/conv.h,
449         tagdemo/conv.cpp: Augment tagdemo test to link a convenience
450         library with a libtool library.
452         * ltmain.in: Piecewise linking doesn't work when the output
453         file is an absolute path, use the basename only instead.
455         * ltmain.in: When a library is installed, dependent on a
456         convenience library, and it involves relinking, the object
457         files extracted from the convenience library are not removed
458         after the relink. This is a problem if you build as non-root,
459         install as root, then try to remove the build directory as
460         non-root; Clean up properly if relink fails; Change
461         "$realname"U to ${realname}T to be consistent.
463 2004-03-24  Scott James Remnant  <scott@netsplit.com>
465         * ltmain.in <prog linkmode>: Always add -L options to
466         $newlib_search_path instead of just in scan mode to ensure that
467         non-libtool libraries in user-specified directories can be found.
469 2004-03-22  Scott James Remnant  <scott@netsplit.com>
471         * m4/libtool.m4 (_LT_CONFIG): Remove unneeded else condition
472         code, now the support determination is done in m4.
473         (_LT_LANG): Correct comment, unexpected leak from keybuk-lt-tag.patch.
475 2004-03-21  Scott James Remnant  <scott@netsplit.com>
477         * libltdl/Makefile.am (libltdl_la_LDFLAGS): Increment CURRENT
478         and AGE of libltdl, warranted by the addition of lt_dlhandle_find()
479         since 1.5.2.
481 2004-03-21  Scott James Remnant  <scott@netsplit.com>
483         Further sweeping changes to the user interface to libtool from
484         `configure.ac' to allow users to better control the list of
485         supported languages.  Three LT_INIT options 'no-lang', 'all-lang'
486         and 'auto-lang' (the default) control the initial list and others
487         may be added with LT_LANG.
489         * m4/libtool.m4 (_LT_CONFIG): Renamed AC_LIBTOOL_CONFIG to _LT_CONFIG
490         which is more consistent with our own namespace and gets us further out
491         of Autoconf's.
492         (_LT_LIBTOOL_TAGS): Output available_tags variable based entirely
493         on the value of _LT_TAGS.
494         (_LT_COPYING): Call _LT_LIBTOOL_TAGS to output available tags,
495         always append tag configuration if the tag is available.
496         (LT_LANG): New macro to enable support for a language that accepts
497         tag names (eg. "CXX") or human language names (eg. "C++").
498         (_LT_LANG): Internal support macro for above that appends the
499         tag to _LT_TAGS and calls the appropriate config macro.
500         (LT_INIT): Ensure that LT_LANG is not called before LT_INIT.
501         (AC_LIBTOOL_TAGS): Removed, call LT_LANG for each language now.
502         (_LT_AC_TAG_CHECK): Removed, _LT_LANG handles duplicate calls.
503         (_LT_LANG_DEFAULT_CONFIG): Macro to set initial language support
504         based on options passed to LT_INIT.
505         (_LT_SETUP): Call _LT_LANG_DEFAULT_CONFIG.
506         (_LT_AC_TAG_CONFIG): Removed, handled by _LT_LANG_DEFAULT_CONFIG.
507         (_LT_AC_LANG_CXX, _LT_AC_LANG_F77, _LT_AC_LANG_GCJ): Removed,
508         automatic language support inclusion now handled by
509         _LT_LANG_DEFAULT_CONFIG.
510         (AC_LIBTOOL_CXX): Obsolete macro, update to LT_LANG(C++).
511         (AC_LIBTOOL_F77): Obsolete macro, update to LT_LANG(Fortran 77).
512         (AC_LIBTOOL_GCJ): Obsolete macro, update to LT_LANG(Java).
513         (AC_LIBTOOL_LANG_C_CONFIG_: Removed.
514         (_LT_AC_LANG_C_CONFIG): Renamed to _LT_LANG_C_CONFIG, call
515         _LT_CONFIG instead of AC_LIBTOOL_CONFIG.
516         (_LT_SETUP): Replace call to AC_LIBTOOL_LANG_C_CONFIG with call to
517         new _LT_LANG_C_CONFIG macro.
518         (AC_LIBTOOL_LANG_CXX_CONFIG): Removed.
519         (_LT_AC_LANG_CXX_CONFIG): Renamed to _LT_LANG_CXX_CONFIG, call
520         _LT_CONFIG instead of AC_LIBTOOL_CONFIG.
521         (AC_LIBTOOL_LANG_F77_CONFIG): Removed.
522         (_LT_AC_LANG_F77_CONFIG): Renamed to _LT_LANG_F77_CONFIG, call
523         _LT_CONFIG instead of AC_LIBTOOL_CONFIG.
524         (AC_LIBTOOL_LANG_GCJ_CONFIG): Removed.
525         (_LT_AC_LANG_GCJ_CONFIG): Renamed to _LT_LANG_GCJ_CONFIG, call
526         _LT_CONFIG instead of AC_LIBTOOL_CONFIG.
527         (AC_LIBTOOL_LANG_RC_CONFIG): Removed.
528         (_LT_AC_LANG_RC_CONFIG): Renamed to _LT_LANG_RC_CONFIG, call
529         _LT_CONFIG instead of AC_LIBTOOL_CONFIG.
530         (LT_AC_PROG_GCJ): Renamed to LT_PROG_GCJ.
531         (LT_AC_PROG_RC): Renamed to LT_PROG_RC.
532         * m4/ltoptions.m4: Define new 'no-lang', 'auto-lang' and 'all-lang'
533         options which set the default for _LT_LANG_DEFAULT_CONFIG.
534         * m4/lt~obsolete.m4: Removed AC_LIBTOOL_CONFIG, _LT_AC_LANG_C_CONFIG,
535         _LT_AC_LANG_GCJ_CONFIG, _LT_AC_LANG_RC_CONFIG; all of which are no
536         long referenced in any way.
537         * configure.ac: Enable all languages.
538         * tests/cdemo/configure.ac, tests/demo/configure,ac,
539         tests/depdemo/configure.ac, tests/f77demo/configure.ac,
540         tests/mdemo/configure.ac, tests/pdemo/configure,ac,
541         tests/tagdemo/configure.ac: Remove calls to AC_LIBTOOL_TAGS,
542         the default 'auto-lang' mode now does the right thing.
543         * doc/libtool.texi (The LT_INIT macro): Add documentation for
544         new LT_INIT options and the LT_LANG macro, replacing the old
545         documentation of AC_LIBTOOL_TAGS which is no more.
546         * NEWS: Updated.
548 2004-03-17  Scott James Remnant  <scott@netsplit.com>
550         * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP
551         which is no more.
552         * m4/lt~obsolete.m4: As AC_LIBTOOL_SETUP is no longer referenced,
553         it can be removed from this file.  Remove _AC_PROG_LIBTOOL also.
555 2004-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
557         * m4/libtool.m4: Remove newlines from lt_ld_extra, so
558         variable can safely be stored in config.cache.
560 2004-03-14  Michael Pruett  <michael@68k.org>
562         * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS0 [irix]: Define
563         archive_expsym_cmds so that --export-symbols will work.
565 2004-03-11  Peter O'Gorman  <peter@pogma.com>
567         * ltmain.in (link_all_deplibs,darwin): Link libraries in the
568         correct order. Bug from Zachary Pincus <zpincus@stanford.edu>.
570 2004-03-14  Scott James Remnant  <scott@netsplit.com>
572         * m4/ltmain.in: Only check precious_files_regex if it is not empty.
574 2004-03-14  Gary V. Vaughan  <gary@gnu.org>
576         * doc/libtool.texi (Autoconf and LTLIBOBJS): The correct version
577         of Autoconf is 2.54.
578         From Alexandre Duret-Lutz  <adl@src.lip6.fr>
580 2004-03-13  Gary V. Vaughan  <gary@gnu.org>
582         * doc/libtool.texi (Using Automake): Cite correct Automake version
583         for -dlopen quoting.
584         (Autoconf and LTLIBOBJS): Cite correct Autoconf versions
585         throughout.
586         (Distributing libltdl): Use AM_CPPFLAGS; INCLUDES is deprecated.
587         From Alexandre Duret-Lutz  <adl@src.lip6.fr>
589 2004-03-05  David Edelsohn  <edelsohn@gnu.org>
591         * m4/libtool.m4: Disable building static libraries if building
592         shared libraries on AIX 5L.
594 2004-03-05  Gary V. Vaughan  <gary@gnu.org>
596         * libtoolize.in: Remove --ltdl-tar.  It doesn't work with the
597         current implementation, and seems more or less pointless.
598         * doc/libtool.texi (Invoking libtoolize): Updated.
599         * NEWS: Updated.
601         * doc/libtool.texi: This manual has not been maintained properly
602         for a number of years.  Much of what it said was outdated, or
603         plain wrong with reference to modern autotools.  This change
604         represents a first pass edit to clean up the obviously wrong.
606 2004-03-02  Gary V. Vaughan  <gary@gnu.org>
608         * bootstrap: Prune out my arch mirror dir before running
609         amok through the tree with 'rm -rf'!
611 2004-03-02  Patrick Welche  <prlw1@newn.cam.ac.uk>
613         * doc/libtool.texi (LT_INIT): Dumb typos fixed.
615 2004-02-23  Gary V. Vaughan  <gary@gnu.org>
617         * ltmain.in <install mode>: Add missing --help doc for
618         -inst-prefix option.
620         * ltmain.in <link mode>: Add missing --help doc for -shrext
621         option.
623         * ltmain.in (IFS): Move '\n' to beginning of IFS so that emacs
624         doesn't offer to strip trailing ' \t' on every save.
626         * ltmain.in: Add missing --help doc for --preserve-dup-deps.
628 2004-02-22  Gary V. Vaughan  <gary@gnu.org>
630         * Makefile.maint (web-manual): Generate the web manual carefully
631         so that links will still work when it is uploaded to gnu.org.
632         * README-alpha: Note that this rule should be used at release
633         time.
635 2004-02-20  Gary V. Vaughan  <gary@gnu.org>
637         Sweeping changes to the user interface to libtool from
638         `configure.ac' to be more like AC_INIT and accept a space
639         delimited list of options.  Instead of calling `AC_LIBTOOL_DLOPEN;
640         AC_PROG_LIBTOOL', we now recommend `LT_INIT([dlopen])':
642         * m4/libtool.m4 (AC_PROG_LIBTOOL, _AC_PROG_LIBTOOL)
643         (AC_LIBTOOL_SETUP): Removed.  Added AU_DEFUNs.
644         (LT_INIT): Replace with an Autoconf like interface which accepts a
645         version number as a minimum required libtool release at configure
646         time.
647         * m4/ltoptions.m4: New file inspired by automake/m4/amoptions.m4,
648         which additionally flags an error if the configuring libtool
649         macros are not new enough according to LT_INIT.
650         (LT_OPTION_DEFINE): New macro to declare option handlers.
651         (dlopen, win32-dll, shared, disable-shared, static)
652         (disable-static, fast-install, disable-fast-install, pic-only)
653         (no-pic): Newly LT_OPTION_DEFINEd option handlers that use...
654         (_LT_ENABLE_SHARED, _LT_ENABLE_STATIC, _LT_ENABLE_FAST_INSTALL)
655         (_LT_WITH_PIC, _LT_WIN32_DLL): New macros to handle
656         LT_LIBTOOL_INIT options...
657         * m4/libtool.m4 (AC_ENABLE_SHARED, AC_ENABLE_STATIC)
658         (AC_ENABLE_FAST_INSTALL, AC_LIBTOOL_DLOPEN, AC_LIBTOOL_WIN32_DLL):
659         ...to replace these user interface macros, now defined as
660         AU_DEFUNs.
661         (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL):
662         Removed.  No longer required with LT_INIT_LIBTOOL interface.
663         Added AU_DEFUNs.
664         (AM_ENABLE_SHARED, AM_DISABLE_SHARED, AM_ENABLE_STATIC)
665         (AM_DISABLE_STATIC): Changed AU_DEFUNs to match new interface.
666         (_LT_SETUP): Internal to LT_INIT, replaces AC_LIBTOOL_SETUP.
667         * m4/lt~obsolete.m4 (AC_LIBTOOL_SETUP, _AC_PROG_LIBTOOL)
668         (_LT_PROG_LTMAIN):  More AC_DEFUNs that have been retracted.
669         * configure.ac: Use new interface.
670         * doc/libtool.texi: Document new interface.
671         * NEWS: Updated.
673 2004-02-18  Gary V. Vaughan  <gary@gnu.org>
675         * commit (SHELL): Set it explicitly, incase some madman is using
676         tcsh as their login shell :-b
678 2004-02-15  Scott James Remnant  <scott@netsplit.com>
680         * Makefile.am (m4/ltversion.m4): Generate serial number by
681         removing initial '1.' from the revision, replace @MACRO_SERIAL@
682         with this new variable.
683         * m4/ltversion.in: Use @MACRO_SERIAL@ for the serial number
684         as some shells don't like a '.' when using test.
686         * m4/ltversion.in: Add a serial number to this file otherwise
687         libtoolize will refuse to copy it into $pkgdatadir, where it
688         is needed by m4/libtool.m4.
690 2004-02-15  Peter O'Gorman  <peter@pogma.com>
692         * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds.
694 2004-02-13  Scott James Remnant  <scott@netsplit.com>
696         * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly
697         quote usage of $basename and $dirname to avoid (unlikely) path
698         expansion.
700         * tests/sh.test: Test the config/ltmain.sh and libtoolize in the
701         build directory not the source directory, where they won't exist
702         during 'make distcheck'.
703         * ltmain.in: Revert one line of previous intendation clean-up
704         to enable one of the sh.test checks to pass.
706         * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this
707         was debris from Gary's cvsapply going mad and wasn't backed
708         out.
710         * Makefile.am (pkgmacro_DATA): We have to distribute
711         m4/ltversion.m4 because it can be needed before the Makefile
712         that generates it exists.
714 2004-02-13  Gary V. Vaughan  <gary@gnu.org>
716         * commit (MKSTAMP): Look for mkstamp in the right place.
718 2004-02-12  Scott James Remnant  <scott@netsplit.com>
720         * Makefile.maint, Makefile: Move rules intended for Libtool
721         maintainers only out of the Makefile we distribute and into one
722         that we only need keep in CVS.
723         * README-alpha: Add -fMakefile.maint to the instructions where
724         needed.
726 2004-02-12  Albert Chin-A-Young  <china@thewrittenword.com>
727         Scott James Remnant  <scott@netsplit.com>
729         * ltmain.in: Fix typo: duplcations -> duplications,
730         Fix indentation of a handful of badly indented blocks,
731         Fix last remaining use of 'grep' to $GREP,
732         Remove unnecessary trailing slash where we break a line on a
733         command separator.
734         * m4/libtool.m4: Also remove unnecessary trailing slash where
735         we break a line on a command separator.
737 2004-02-12  Scott James Remnant  <scott@netsplit.com>
739         * m4/ltoptions.m4: This got committed by an over-keen Gary,
740         but the support for this isn't ready yet and if aclocal decides
741         to m4_include this (which it will) you'll get a non-functioning
742         libtool.  Removed.
744         * ltmain.in: Remove duplicated version checking block.
746         * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply
747         went crazy and backed out more than he should've.  This patch puts
748         some of it back again.
750         * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove
751         $SED from definitions of $dirname and $basename and prefix each
752         use with it instead.  Some shells (zsh) treat the expansion as
753         a single command instead of a command with arguments.
755         * config/mailnotify (func_sendmail): Look for sendmail in a
756         couple of common non-PATH locations as well.
758         * ltmain.in: Fix typo: macro's -> macros.
760         * ltmain.in: Correct definition of basename sed expression to
761         not include single quotes.
763 2004-02-12  Gary V. Vaughan  <gary@gnu.org>
765         * libtoolize.in: Use $progpath as for ltmain.in to work around the
766         IRIX bug described below.
767         * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD.
769 2004-02-12  Albert Chin-A-Young  <china@thewrittenword.com>,
770             Gary V. Vaughan  <gary@gnu.org>
772         * ltmain.in (progpath): Work around backward compatibility issue
773         on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked
774         as "sh" and the current value of the _XPG environment variable is
775         not equal to 1 (one), the special positional parameter $0, within
776         a function call, is the name of the function. So, rather than
777         using "$0" in functions, we set $progpath in the body and use that
778         everywhere instead (incase of code refactoring later).
779         (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity.
781 2004-02-12  Gary V. Vaughan  <gary@gnu.org>
783         * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it
784         is of no use in a distribution tarball.
786 2004-02-11  Gary V. Vaughan  <gary@gnu.org>
788         * commit: Fix cut-n-paste error.
790         * commit: Completely change CVS/Root->name sed script to actually
791         work when :ext: is not shown.
793         * commit: Improve CVS/Root->name sed script to work when :ext: is
794         not shown.
796 2004-02-11  Albert Chin-A-Young  <china@thewrittenword.com>
798         * m4/libtool.m4: Fix typo: testring -> teststring.
800 2004-02-11  Gary V. Vaughan  <gary@gnu.org>
802         * commit: Mail a nicer commit notification.
804 2004-02-10  Gary V. Vaughan  <gary@gnu.org>
806         * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4:
807         * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh.  cvsapply just
808         went crazy and committed a bunch of stuff that shouldn't have been
809         in the last changeset.  The patch backs it all out.
811         * config/mailnotify: New file for mailing commit notifications,
812         imported from cvs-utils.
813         * commit: Updated from cvs-utils and tweaked for libtool.
814         * Makefile.am (EXTRA_DIST): Add config/mailnotify.
816 2004-02-06  Gary V. Vaughan  <gary@gnu.org>
818         * bootstrap: Remove vcl.tmp, otherwise it can interfere with make.
819         * Makefile.am (vcl.tmp): Move comment out of multi-line command,
820         as this rule is called from bootstrap as if it were a Makefile.
822         * m4/ltversion.in: New file to capture what version number macros
823         are being used.
824         * Makefile.am (m4/ltversion.m4): New rule to create it from
825         m4/ltversion.in.
826         (nodist_pkgmacro_DATA): Add m4/ltversion.m4.
827         (EXTRA_DIST): Add m4/ltversion.in.
828         * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION
829         from ltversion.m4.
830         * bootstrap: Call the Makefile.am to create an initial
831         m4/ltversion.m4.
832         * ltmain.in: Diagnose version mismatches of various flavours.
833         * TODO: Remove mismatch item.
834         * NEWS: Updated.
836         * Makefile.am ($(top_builddir)/config.status): Removed.
837         * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is
838         how automake-1.8 now informs all Makefiles when config.status
839         needs to be rebuilt.
840         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
842         * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here.
843         * Makefile.am (libtool, libtoolize): These rules are redundant.
844         Automake generates better rules for remaking these files.
846         * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with
847         beginning with LT_ and _LT_.
848         * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed
849         to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the
850         unexpanded macros error.
852         * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed.  We now require
853         Autoconf 2.58, which ships this macro anyway.
855         * Makefile.am: Comment typo.
857         * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number
858         that is required for the calling code.
859         * doc/libtool.texi (AC_PROG_LIBTOOL): Document it.
860         * NEWS: Updated.
862 2004-02-05  Peter O'Gorman  <peter@pogma.com>
864         * ltmain.in (infer_tag, win32_libid): Style changes. Rename
865         infer_tag to func_infer_tag and win32_libid to func_win32_libid.
866         * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid.
868 2004-02-04  Peter O'Gorman  <peter@pogma.com>
870         * ltmain.in (infer_tag): Move tag inferrence to a shell function.
871         Also test $base_compile against $CC with escaped arguments. Bug
872         reported by Geoff Keating <geoffk@apple.com>.
874 2004-02-03  Scott James Remnant  <scott@netsplit.com>
876         * Makefile.am (install-data-hook): Manually make config.guess
877         and config.sub executable after they are installed as _DATA.
878         We can't use _SCRIPTS because the various program name
879         transforms may be applied to them.
880         (dist_pkgdata_DATA): List config.guess and config.sub here
881         (pkgdata_SCRIPTS): instead of here.
883 2003-02-03  Scott James Remnant  <scott@netsplit.com>
885         * ltmain.in: Create temporary directory under a strict umask
886         rather than running chmod afterwards, preventing a race
887         condition where the directory could be replaced with a symbolic
888         link in the time between the two commands.
890 2004-01-31  Peter O'Gorman  <peter@pogma.com>
892         * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to
893         `$echo, causes problems when builtin echo is broken. Reported
894         by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
896 2004-01-27  Scott James Remnant  <scott@netsplit.com>
898         This fixes release procedure problems discovered whilst making
899         the 1.5.2 release.
901         * Makefile.am (cvs-dist): Because we check whether ChangeLog
902         has been committed, this rule can't be run with uncommitted
903         source so we can't run 'commit' and don't need to run
904         'make dist' a second time.  Fix CVS tag as it should be
905         "release-X" not "Release-X".
906         (cvs_commit): New rule for the cvs-release chain that runs
907         'commit'
908         (cvs-release): Depend on cvs-commit, depend on deltas instead of
909         cvs-diff and xdelta.
910         (cvs-diff): Removed, replaced with delta-diff.
911         (delta-diff): Unpack and diff the old and new tarballs rather
912         than using CVS, so we get a genuinely complete diff.
913         (xdelta): Removed, replaced with delta-xdelta.
914         (got-xdelta): New rule for improved reading.
915         (delta-xdiff): Copied and cleaned up version of old xdelta rule.
916         (deltas): Depends on delta-diff and delta-xdelta (make deltas).
917         (cvs-news): Don't depend on timestamps, cvs-dist itself does now.
918         (prev-tarball): This is the only place we need a LASTRELEASE check
919         so copy the code here and remove the CHECK_RELEASE variable.
920         (new-tarball): Check there's a new tarball (did cvs-dist work?)
921         (FETCHFILES): Remove obsolete libltdl mentions.
922         * README-alpha: Update CVS instructions as everything's changed
923         on Savannah.
924         (Release procedure): Update NEWS and ChangeLog after changing
925         the version number (both times); Run 'make fetch' after running
926         'configure' (difficult to do it beforehand); Require 'commit'
927         before 'make cvs-dist' as that checks ChangeLog is committed;
928         'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
929         to make instead of OLDVERSION (and it's mandatory); Clean up
930         uploading paragraph; Clearer announcement sending instruction;
931         Removed ftp-upload@gnu.org mail as that's not necessary now;
932         Make web page updating instructions a bit clearer; Add an instruction
933         to update the manual for non-alphas.
934         (Alpha release note template): Add a Subject; update CVS instructions.
935         (Full release note template): Add a Subject; update CVS instructions.
936         * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
937         about bz2 files in our release announcements; remove old reference
938         to OLDVERSION.
940 2004-01-25  Scott James Remnant  <scott@netsplit.com>
942         * NEWS: Include 1.5.2 release information.
944 2004-01-22  Gary V. Vaughan  <gary@gnu.org>
946         This fixes a bug in the libtoolize ltdl source installation rules,
947         which were copying Makefile.in from the libtool tree into the
948         package running libtoolize.  Now we explicitly list the files to
949         copy to force the package to generate its own Makefile.in:
951         * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES):
952         Add ltdl.h.
953         (ltdldatadir): New variable for installation directory of
954         libtoolize --ltdl files.
955         (ltdldata_DATA): Tell automake what files to copy there at install
956         time (and remove at unistall time!).
957         (local-install-files): Removed.  This hack is not required
958         anymore, the automake generated install rules are much more
959         advanced than this.
960         * Makefile.am (install-data-hook, uninstall-local): Removed.
961         Libltdl files for libtoolize are installed by their own Makefile
962         now.
964 2004-01-22  Jeff Squyres  <jsquyres@lam-mpi.org>
966         * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers
967         (e.g. Intel Linux icc compiler) write temporary files to the current
968         directory. These compilers do support -c and -o simultaneously but
969         wrongly fail the test due to the failure to create temporary
970         files. It is incorrect to penalize compilers which write temporary
971         files to the current directory so the 'chmod -w .' is therefore
972         removed.
974 2004-01-22  Gary V. Vaughan  <gary@gnu.org>
976         * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP.
977         AIX has a brain-dead grep that only handles lines < 2048
978         characters.  Default GREP incase we are not using a future
979         autoconf that sets it for us :-)  Changed all callers to use $GREP
980         instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP.
981         Declare GREP as a libtool config var.
982         * ltmain.in: Use it.
983         * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by
984         tightening the regexp.
985         Reported by Albert Chin-A-Young  <china@thewrittenword.com>
987 2004-01-21  Nick Hudson  <skrll@netbsd.org>
989         * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove
990         gratuitous ${libname}${release}${shared_ext} from
991         library_names_spec.
993 2004-01-21  Peter O'Gorman  <peter@pogma.com>
995         * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the
996         reload_cmds to use $CC, otherwise ld will thin out any fat
997         objects.
999 2004-01-18  Benjamin Reed  <ranger@befunk.com>
1001         * ltmain.in: Fix handling of frameworks in search paths.  Also
1002         a one-liner fix to eval shrext in the libtool library search.
1004 2004-01-16  Gary V. Vaughan  <gary@gnu.org>
1006         * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or
1007         else aclocal.m4 is huge, and m4 directory is not distributed.
1009         * configure.ac (AC_CONFIG_HEADERS): Create config.h in
1010         $top_srcdir.
1011         * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if
1012         necessary. Calculate filename from first argument to
1013         AC_CONFIG_HEADERS, and substitute as CONFIG_H.
1014         * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in
1015         $top_srcdir for headers.
1016         (DEFS): Override the default HAVE_CONFIG_H with the config.h
1017         filename.
1018         (ltdl.lo): Reference config.h via $(CONFIG_H).
1019         * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto.
1021 2004-01-15  Scott James Remnant  <scott@netsplit.com>
1023         * m4/lt~obsolete.m4: Add a file containing aclocal-fooling
1024         macro definitions which stop the contents of an installed
1025         libtool.m4 ending up in our aclocal.m4 when we bootstrap.
1026         * Makefile.am (pkgmacro_DATA): Note that we don't need to add
1027         lt~obsolete.m4 to this list.
1029 2004-01-12  Gary V. Vaughan  <gary@gnu.org>
1031         * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it
1032         only needs to be updated in one place.
1033         (AC_LIBTOOL_CONFIG): Refactor to be more readable.  Only add
1034         tags if a compiler was found; ie if you have no gcj compiler,
1035         don't tack the GCJ tag onto the generated libtool script.
1037 2004-01-13  Peter O'Gorman  <peter@pogma.com>
1039         * m4/libtool.m4: Quote shrext as it is evaled in ltmain.
1041 2004-01-11  Scott James Remnant  <scott@netsplit.com>
1043         * ltmain.in: new -precious-files-regex link mode option
1044         to prevent removal of matching files from the temporary
1045         output directory.
1046         (Debian Bug #221420)
1047         * doc/libtool.texi: document the new option.
1048         * NEWS: announce the new option.
1050 2004-01-11  Gary V. Vaughan  <gary@gnu.org>
1052         * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy.
1053         Now the test can actually succeed sometimes.
1055 2004-01-09  Gary V. Vaughan  <gary@gnu.org>
1057         * libtoolize.in: Break out of the command argument parse loop when
1058         -- is encountered.
1060 2004-01-08  Gary V. Vaughan  <gary@gnu.org>
1062         * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep
1063         tests/sh.test happy.
1065 2004-01-07  Gary V. Vaughan  <gary@gnu.org>
1067         * Makefile.am (aclocal_macros, aclocal_DATA): Removed.
1068         (EXTRA_DIST): Remove m4 macro files; they are automatically
1069         added by automake.
1070         (pkgmacrodir): Where to install libtool macro files.
1071         (pkgmacro_DATA): List installable libtool macro files.
1072         (install-data-local): Remove previous versions of ltdl.m4 and
1073         libtool.m4 from their old location.
1074         * libtoolize.in: Use new pkgmacrodir installed macros when
1075         libtoolizing a project.  Treat libtool.m4 and ltdl.m4 specially,
1076         and func_serial_update() any other files from pkgmacrodir.
1077         (pkgmacrodir): Where to find installed libtool macro files.
1078         (aclocaldir): Removed.
1079         (func_copy_all_files): Add an optional callback parameter to
1080         control how files are copied.  If the callback is passed, don't
1081         tell it whether it can copy or not.
1082         (func_serial): Exchange parameters and make macro_regex optional,
1083         so that this function can be used to extract serial numbers from
1084         files with the traditional /^# serial [1-9][0-9]*$/ syntax.
1085         Changed all callers.
1086         (func_serial_update): Make macro_regex optional last parameter, so
1087         that this function can be used as a callback for
1088         func_copy_all_files().  Changed all callers.
1089         * m4/ltsugar.m4: Add a serial number.
1091 2004-01-07  Gary V. Vaughan  <gary@gnu.org>
1093         A complete rewrite of the m4 code involved in the generation of
1094         libtool via config.status.  The old way involved manually
1095         synchronising disparate bits of shell code in several macros, to
1096         quote a copy of a shell variable, put that in config.status, maybe
1097         add it to some quotation loops to prevent early expansion, and
1098         then add a block to _LT_CONFIG_COMMANDS to bring it into the
1099         libtool script.  The new way is to mark shell variables for
1100         propogation using _LT_DECL for language independent variables, or
1101         _LT_TAGDECL for those that need to be propogated in several
1102         language flavours.  The marking can be done in the macro that
1103         probes the variables, and this new m4 machinery takes care of
1104         synchronising all the other bits of code at autoconf time:
1106         * m4/ltsugar.m4:  New file.  Macros that are useful outside the
1107         context of libtool.  Initially, contains some generalised list
1108         management macros, and the scaffolding for dictionary type data
1109         storage and retrieval.
1110         * Makefile.am (aclocal_macros): Install ltsugar.m4.
1111         * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to
1112         the libtool script, along with a comment, and hints for quoting
1113         and renaming.
1114         (_LT_TAGDECL): Similarly mark a tagged shell variable for export
1115         in each tag.
1116         (lt_decl_tag_varnames, lt_decl_quote_varnames)
1117         (lt_decl_dquote_varnames, lt_decl_varnames_tagged)
1118         (lt_decl_all_varnames):  New utility macros for managing lists of
1119         shell variable names from _LT_DECL and _LT_TAGDECL.
1120         (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE):
1121         Expand to correctly quoted variable declarations in config.status
1122         from all marked shell variables.
1123         (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable
1124         declaration for libtool tag section.
1125         (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked
1126         variables to _LT_LIBTOOL_DECLARE.
1127         (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and
1128         friends to generate all the variable passing shell code for
1129         config.status, to get marked variables from libtool.m4 into
1130         libtool itself eventually.
1131         (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag
1132         configuration.  Changed all client macros to mark variables
1133         suitably rather than the hand pasting that was necessary
1134         previously.
1135         (AC_PROG_SED): Renamed from LT_AC_PROG_SED.
1136         (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for
1137         propogation to the libtool script.
1139 2004-01-07  Gary V. Vaughan  <gary@gnu.org>
1141         * libtoolize.in (seen_gettext): Removed unused variable.
1143 2004-01-06  Gary V. Vaughan  <gary@gnu.org>
1145         * libtoolize.in (func_scan_files): Don't assume the existence of
1146         aclocal.m4.  Make the comment more descriptive.
1147         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
1149         * NEWS: Note libtoolize changes.
1151         * ChangeLog.2003: New file, containing all the ChangeLog entries
1152         from 2003.  Trimmed ChangeLog accordingly.
1154         * ltmain.in: Output 2004 in the copyright from libtool --version.
1156 2004-01-03  Stefan Nordhausen  <nordhaus@informatik.hu-berlin.de>
1157         Scott James Remnant  <scott@netsplit.com>
1159         * ltmain.in: Don't use the mkdir -p option when creating a
1160         temporary output directory so a symlink attack can't be used to
1161         arbitrarily chmod other directories on the system if libtool
1162         gets run as root.
1164 2004-01-02  Peter O'Gorman  <peter@pogma.com>
1166         * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped.
1168         * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it
1169         allows for zsh differences, as noted in the autoconf manual's
1170         Portable Shell - Special Shell Variables section.
1172 2004-01-02  Scott James Remnant  <scott@netsplit.com>
1174         * .cvsignore: Ignore stamp-vcl created by the Makefile.
1176 2004-01-02  Bob Friesenhahn  <bfriesen@simple.dallas.tx.us>
1177         Joe Orton  <joe@manyfish.co.uk>
1179         * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash
1180         in front of all the inner double-quotes as this is removed
1181         on Solaris, IRIX and AIX leading to broken definitions
1182         in config.status.
1184 2004-01-02  Scott James Remnant  <scott@netsplit.com>
1186         * NEWS: Next release will be in 2004.
1188 Continued in ChangeLog.2003
1190         $Revision$ $Date$