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.
12 * tests/tagtrace.test: New file.
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
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
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
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
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
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
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):
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.
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
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
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
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
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
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
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
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
184 * m4/ltdl.m4 (AC_LTDL_DLLIB): Use AC_LIBOBJ to add appropriate
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
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
222 * libltdl/lt__private.h (lt__error_strings, LT__STRERROR): ...to
223 here as additional internal interfaces to lt_error. Changed all
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.
235 * libltdl/ltdl.c, libltdl/ltdl.h (lt_dlmutex_register): Moved from
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)
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
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
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
269 * libltdl/lt__private.h: ...to here. New file to declare ltdl's
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
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
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 *
299 * libltdl/memmove.c (memmove): ...to here, and fixed void *
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
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
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
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.
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
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
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
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
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()
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
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.
548 2004-03-17 Scott James Remnant <scott@netsplit.com>
550 * m4/libtool.m4: Removed AC_BEFORE references to AC_LIBTOOL_SETUP
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
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
584 (Autoconf and LTLIBOBJS): Cite correct Autoconf versions
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.
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
620 * ltmain.in <link mode>: Add missing --help doc for -shrext
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
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
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
661 (AC_DISABLE_SHARED, AC_DISABLE_STATIC, AC_DISABLE_FAST_INSTALL):
662 Removed. No longer required with LT_INIT_LIBTOOL interface.
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.
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
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
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
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
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
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
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
824 * Makefile.am (m4/ltversion.m4): New rule to create it from
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
830 * bootstrap: Call the Makefile.am to create an initial
832 * ltmain.in: Diagnose version mismatches of various flavours.
833 * TODO: Remove mismatch item.
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
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.
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
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
908 (cvs-release): Depend on cvs-commit, depend on deltas instead of
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
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
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):
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
960 * Makefile.am (install-data-hook, uninstall-local): Removed.
961 Libltdl files for libtoolize are installed by their own Makefile
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
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.
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
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
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
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
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
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
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
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
1114 (_LT_TAGDECL): Similarly mark a tagged shell variable for export
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
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
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
1184 2004-01-02 Scott James Remnant <scott@netsplit.com>
1186 * NEWS: Next release will be in 2004.
1188 Continued in ChangeLog.2003