1 2004-02-15 Peter O'Gorman <peter@pogma.com>
3 * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds.
5 2004-02-13 Scott James Remnant <scott@netsplit.com>
7 * ltmain.in, libtoolize.in, commit, config/mailnotify: Correctly
8 quote usage of $basename and $dirname to avoid (unlikely) path
11 * tests/sh.test: Test the config/ltmain.sh and libtoolize in the
12 build directory not the source directory, where they won't exist
13 during 'make distcheck'.
14 * ltmain.in: Revert one line of previous intendation clean-up
15 to enable one of the sh.test checks to pass.
17 * tests/cdemo/configure.ac: Drop AC_PREREQ back to 2.54, this
18 was debris from Gary's cvsapply going mad and wasn't backed
21 * Makefile.am (pkgmacro_DATA): We have to distribute
22 m4/ltversion.m4 because it can be needed before the Makefile
23 that generates it exists.
25 2004-02-13 Gary V. Vaughan <gary@gnu.org>
27 * commit (MKSTAMP): Look for mkstamp in the right place.
29 2004-02-12 Scott James Remnant <scott@netsplit.com>
31 * Makefile.maint, Makefile: Move rules intended for Libtool
32 maintainers only out of the Makefile we distribute and into one
33 that we only need keep in CVS.
34 * README-alpha: Add -fMakefile.maint to the instructions where
37 2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>
38 Scott James Remnant <scott@netsplit.com>
40 * ltmain.in: Fix typo: duplcations -> duplications,
41 Fix indentation of a handful of badly indented blocks,
42 Fix last remaining use of 'grep' to $GREP,
43 Remove unnecessary trailing slash where we break a line on a
45 * m4/libtool.m4: Also remove unnecessary trailing slash where
46 we break a line on a command separator.
48 2004-02-12 Scott James Remnant <scott@netsplit.com>
50 * m4/ltoptions.m4: This got committed by an over-keen Gary,
51 but the support for this isn't ready yet and if aclocal decides
52 to m4_include this (which it will) you'll get a non-functioning
55 * ltmain.in: Remove duplicated version checking block.
57 * bootstrap, m4/libtool.m4: Argh, Gary went crazy after cvsapply
58 went crazy and backed out more than he should've. This patch puts
59 some of it back again.
61 * ltmain.in, libtoolize.in, commit, config/mailnotify: Remove
62 $SED from definitions of $dirname and $basename and prefix each
63 use with it instead. Some shells (zsh) treat the expansion as
64 a single command instead of a command with arguments.
66 * config/mailnotify (func_sendmail): Look for sendmail in a
67 couple of common non-PATH locations as well.
69 * ltmain.in: Fix typo: macro's -> macros.
71 * ltmain.in: Correct definition of basename sed expression to
72 not include single quotes.
74 2004-02-12 Gary V. Vaughan <gary@gnu.org>
76 * libtoolize.in: Use $progpath as for ltmain.in to work around the
77 IRIX bug described below.
78 * commit, config/mailnotify: Ditto. Resynch with cvs-utils HEAD.
80 2004-02-12 Albert Chin-A-Young <china@thewrittenword.com>,
81 Gary V. Vaughan <gary@gnu.org>
83 * ltmain.in (progpath): Work around backward compatibility issue
84 on IRIX 6.5. On IRIX 6.4+, sh is ksh but when the shell is invoked
85 as "sh" and the current value of the _XPG environment variable is
86 not equal to 1 (one), the special positional parameter $0, within
87 a function call, is the name of the function. So, rather than
88 using "$0" in functions, we set $progpath in the body and use that
89 everywhere instead (incase of code refactoring later).
90 (EXIT_SUCCESS, EXIT_FAILURE, EXIT_MISMATCH): For clarity.
92 2004-02-12 Gary V. Vaughan <gary@gnu.org>
94 * Makefile.am (EXTRA_DIST): Remove config/mailnotify after all; it
95 is of no use in a distribution tarball.
97 2004-02-11 Gary V. Vaughan <gary@gnu.org>
99 * commit: Fix cut-n-paste error.
101 * commit: Completely change CVS/Root->name sed script to actually
102 work when :ext: is not shown.
104 * commit: Improve CVS/Root->name sed script to work when :ext: is
107 2004-02-11 Albert Chin-A-Young <china@thewrittenword.com>
109 * m4/libtool.m4: Fix typo: testring -> teststring.
111 2004-02-11 Gary V. Vaughan <gary@gnu.org>
113 * commit: Mail a nicer commit notification.
115 2004-02-10 Gary V. Vaughan <gary@gnu.org>
117 * NEWS, bootstrap, configure.ac, ltmain.in, m4/libtool.m4:
118 * m4/lt~obsolete.m4, tests/cdemo/configure.ac: Arghh. cvsapply just
119 went crazy and committed a bunch of stuff that shouldn't have been
120 in the last changeset. The patch backs it all out.
122 * config/mailnotify: New file for mailing commit notifications,
123 imported from cvs-utils.
124 * commit: Updated from cvs-utils and tweaked for libtool.
125 * Makefile.am (EXTRA_DIST): Add config/mailnotify.
127 2004-02-06 Gary V. Vaughan <gary@gnu.org>
129 * bootstrap: Remove vcl.tmp, otherwise it can interfere with make.
130 * Makefile.am (vcl.tmp): Move comment out of multi-line command,
131 as this rule is called from bootstrap as if it were a Makefile.
133 * m4/ltversion.in: New file to capture what version number macros
135 * Makefile.am (m4/ltversion.m4): New rule to create it from
137 (nodist_pkgmacro_DATA): Add m4/ltversion.m4.
138 (EXTRA_DIST): Add m4/ltversion.in.
139 * m4/libtool.m4 (AC_LIBTOOL_SETUP): AC_REQUIRE LTVERSION_VERSION
141 * bootstrap: Call the Makefile.am to create an initial
143 * ltmain.in: Diagnose version mismatches of various flavours.
144 * TODO: Remove mismatch item.
147 * Makefile.am ($(top_builddir)/config.status): Removed.
148 * configure.ac (CONFIG_STATUS_DEPENDENCIES): This substitution is
149 how automake-1.8 now informs all Makefiles when config.status
151 Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
153 * configure.ac (AC_CONFIG_FILES): Generate libtoolize from here.
154 * Makefile.am (libtool, libtoolize): These rules are redundant.
155 Automake generates better rules for remaking these files.
157 * m4/libtool.m4 (AC_LIBTOOL_SETUP): Catch unexpanded macros with
158 beginning with LT_ and _LT_.
159 * configure.ac (LT_MAJOR, LT_MINOR, LT_MICRO, LT_ALPHA): Renamed
160 to lt_major, lt_minor, lt_micro, lt_alpha to save triggering the
161 unexpanded macros error.
163 * m4/libtool.m4 (AC_PROVIDE_IFELSE): Removed. We now require
164 Autoconf 2.58, which ships this macro anyway.
166 * Makefile.am: Comment typo.
168 * m4/libtool.m4 (LT_PREREQ): Declare the minimum release number
169 that is required for the calling code.
170 * doc/libtool.texi (AC_PROG_LIBTOOL): Document it.
173 2004-02-05 Peter O'Gorman <peter@pogma.com>
175 * ltmain.in (infer_tag, win32_libid): Style changes. Rename
176 infer_tag to func_infer_tag and win32_libid to func_win32_libid.
177 * m4/libtool.m4 (cygwin): rename win32_libid to func_win32_libid.
179 2004-02-04 Peter O'Gorman <peter@pogma.com>
181 * ltmain.in (infer_tag): Move tag inferrence to a shell function.
182 Also test $base_compile against $CC with escaped arguments. Bug
183 reported by Geoff Keating <geoffk@apple.com>.
185 2004-02-03 Scott James Remnant <scott@netsplit.com>
187 * Makefile.am (install-data-hook): Manually make config.guess
188 and config.sub executable after they are installed as _DATA.
189 We can't use _SCRIPTS because the various program name
190 transforms may be applied to them.
191 (dist_pkgdata_DATA): List config.guess and config.sub here
192 (pkgdata_SCRIPTS): instead of here.
194 2003-02-03 Scott James Remnant <scott@netsplit.com>
196 * ltmain.in: Create temporary directory under a strict umask
197 rather than running chmod afterwards, preventing a race
198 condition where the directory could be replaced with a symbolic
199 link in the time between the two commands.
201 2004-01-31 Peter O'Gorman <peter@pogma.com>
203 * m4/libtool.m4 (_LT_CONFIG_STATUS_DECLARE): Change `echo to
204 `$echo, causes problems when builtin echo is broken. Reported
205 by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
207 2004-01-27 Scott James Remnant <scott@netsplit.com>
209 This fixes release procedure problems discovered whilst making
212 * Makefile.am (cvs-dist): Because we check whether ChangeLog
213 has been committed, this rule can't be run with uncommitted
214 source so we can't run 'commit' and don't need to run
215 'make dist' a second time. Fix CVS tag as it should be
216 "release-X" not "Release-X".
217 (cvs_commit): New rule for the cvs-release chain that runs
219 (cvs-release): Depend on cvs-commit, depend on deltas instead of
221 (cvs-diff): Removed, replaced with delta-diff.
222 (delta-diff): Unpack and diff the old and new tarballs rather
223 than using CVS, so we get a genuinely complete diff.
224 (xdelta): Removed, replaced with delta-xdelta.
225 (got-xdelta): New rule for improved reading.
226 (delta-xdiff): Copied and cleaned up version of old xdelta rule.
227 (deltas): Depends on delta-diff and delta-xdelta (make deltas).
228 (cvs-news): Don't depend on timestamps, cvs-dist itself does now.
229 (prev-tarball): This is the only place we need a LASTRELEASE check
230 so copy the code here and remove the CHECK_RELEASE variable.
231 (new-tarball): Check there's a new tarball (did cvs-dist work?)
232 (FETCHFILES): Remove obsolete libltdl mentions.
233 * README-alpha: Update CVS instructions as everything's changed
235 (Release procedure): Update NEWS and ChangeLog after changing
236 the version number (both times); Run 'make fetch' after running
237 'configure' (difficult to do it beforehand); Require 'commit'
238 before 'make cvs-dist' as that checks ChangeLog is committed;
239 'make deltas' instead of 'cvs-diff' and 'xdelta', pass LASTRELEASE
240 to make instead of OLDVERSION (and it's mandatory); Clean up
241 uploading paragraph; Clearer announcement sending instruction;
242 Removed ftp-upload@gnu.org mail as that's not necessary now;
243 Make web page updating instructions a bit clearer; Add an instruction
244 to update the manual for non-alphas.
245 (Alpha release note template): Add a Subject; update CVS instructions.
246 (Full release note template): Add a Subject; update CVS instructions.
247 * configure.ac: Add dist-bzip2 to AM_INIT_AUTOMAKE as we talk
248 about bz2 files in our release announcements; remove old reference
251 2004-01-25 Scott James Remnant <scott@netsplit.com>
253 * NEWS: Include 1.5.2 release information.
255 2004-01-22 Gary V. Vaughan <gary@gnu.org>
257 This fixes a bug in the libtoolize ltdl source installation rules,
258 which were copying Makefile.in from the libtool tree into the
259 package running libtoolize. Now we explicitly list the files to
260 copy to force the package to generate its own Makefile.in:
262 * libltdl/Makefile.am (libltdl_la_SOURCES, libltdlc_la_SOURCES):
264 (ltdldatadir): New variable for installation directory of
265 libtoolize --ltdl files.
266 (ltdldata_DATA): Tell automake what files to copy there at install
267 time (and remove at unistall time!).
268 (local-install-files): Removed. This hack is not required
269 anymore, the automake generated install rules are much more
271 * Makefile.am (install-data-hook, uninstall-local): Removed.
272 Libltdl files for libtoolize are installed by their own Makefile
275 2004-01-22 Jeff Squyres <jsquyres@lam-mpi.org>
277 * m4/libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): Some compilers
278 (e.g. Intel Linux icc compiler) write temporary files to the current
279 directory. These compilers do support -c and -o simultaneously but
280 wrongly fail the test due to the failure to create temporary
281 files. It is incorrect to penalize compilers which write temporary
282 files to the current directory so the 'chmod -w .' is therefore
285 2004-01-22 Gary V. Vaughan <gary@gnu.org>
287 * m4/libtool.m4 (LT_AC_PROG_EGREP): Wrapper for AC_PROG_GREP.
288 AIX has a brain-dead grep that only handles lines < 2048
289 characters. Default GREP incase we are not using a future
290 autoconf that sets it for us :-) Changed all callers to use $GREP
291 instead of grep, and to AC_REQUIRE LT_AC_PROG_EGREP.
292 Declare GREP as a libtool config var.
294 * tests/sh.test (scripts): Accept `if $GREP "^foo=bar"' by
295 tightening the regexp.
296 Reported by Albert Chin-A-Young <china@thewrittenword.com>
298 2004-01-21 Nick Hudson <skrll@netbsd.org>
300 * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [netbsd*]: Remove
301 gratuitous ${libname}${release}${shared_ext} from
304 2004-01-21 Peter O'Gorman <peter@pogma.com>
306 * m4/libtool.m4 (AC_PROG_LD_RELOAD_FLAG): On darwin change the
307 reload_cmds to use $CC, otherwise ld will thin out any fat
310 2004-01-18 Benjamin Reed <ranger@befunk.com>
312 * ltmain.in: Fix handling of frameworks in search paths. Also
313 a one-liner fix to eval shrext in the libtool library search.
315 2004-01-16 Gary V. Vaughan <gary@gnu.org>
317 * configure.ac (AM_INIT_AUTOMAKE): Require 1.8 for bootstrap, or
318 else aclocal.m4 is huge, and m4 directory is not distributed.
320 * configure.ac (AC_CONFIG_HEADERS): Create config.h in
322 * m4/ltdl.m4 (AC_LIB_LTDL): Run AC_CONFIG_HEADERS for the user if
323 necessary. Calculate filename from first argument to
324 AC_CONFIG_HEADERS, and substitute as CONFIG_H.
325 * libltdl/Makefile.am (AM_CPPFLAGS): Make sure we are searching in
326 $top_srcdir for headers.
327 (DEFS): Override the default HAVE_CONFIG_H with the config.h
329 (ltdl.lo): Reference config.h via $(CONFIG_H).
330 * libltdl/ltdl.c (HAVE_CONFIG_H): Ditto.
332 2004-01-15 Scott James Remnant <scott@netsplit.com>
334 * m4/lt~obsolete.m4: Add a file containing aclocal-fooling
335 macro definitions which stop the contents of an installed
336 libtool.m4 ending up in our aclocal.m4 when we bootstrap.
337 * Makefile.am (pkgmacro_DATA): Note that we don't need to add
338 lt~obsolete.m4 to this list.
340 2004-01-12 Gary V. Vaughan <gary@gnu.org>
342 * m4/libtool.m4 (_LT_COPYING): Factor out copyright message so it
343 only needs to be updated in one place.
344 (AC_LIBTOOL_CONFIG): Refactor to be more readable. Only add
345 tags if a compiler was found; ie if you have no gcj compiler,
346 don't tack the GCJ tag onto the generated libtool script.
348 2004-01-13 Peter O'Gorman <peter@pogma.com>
350 * m4/libtool.m4: Quote shrext as it is evaled in ltmain.
352 2004-01-11 Scott James Remnant <scott@netsplit.com>
354 * ltmain.in: new -precious-files-regex link mode option
355 to prevent removal of matching files from the temporary
358 * doc/libtool.texi: document the new option.
359 * NEWS: announce the new option.
361 2004-01-11 Gary V. Vaughan <gary@gnu.org>
363 * libtoolize.in (func_copy_all_files): s/xfunc_copy/Xfunc_copy.
364 Now the test can actually succeed sometimes.
366 2004-01-09 Gary V. Vaughan <gary@gnu.org>
368 * libtoolize.in: Break out of the command argument parse loop when
371 2004-01-08 Gary V. Vaughan <gary@gnu.org>
373 * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep
376 2004-01-07 Gary V. Vaughan <gary@gnu.org>
378 * Makefile.am (aclocal_macros, aclocal_DATA): Removed.
379 (EXTRA_DIST): Remove m4 macro files; they are automatically
381 (pkgmacrodir): Where to install libtool macro files.
382 (pkgmacro_DATA): List installable libtool macro files.
383 (install-data-local): Remove previous versions of ltdl.m4 and
384 libtool.m4 from their old location.
385 * libtoolize.in: Use new pkgmacrodir installed macros when
386 libtoolizing a project. Treat libtool.m4 and ltdl.m4 specially,
387 and func_serial_update() any other files from pkgmacrodir.
388 (pkgmacrodir): Where to find installed libtool macro files.
389 (aclocaldir): Removed.
390 (func_copy_all_files): Add an optional callback parameter to
391 control how files are copied. If the callback is passed, don't
392 tell it whether it can copy or not.
393 (func_serial): Exchange parameters and make macro_regex optional,
394 so that this function can be used to extract serial numbers from
395 files with the traditional /^# serial [1-9][0-9]*$/ syntax.
397 (func_serial_update): Make macro_regex optional last parameter, so
398 that this function can be used as a callback for
399 func_copy_all_files(). Changed all callers.
400 * m4/ltsugar.m4: Add a serial number.
402 2004-01-07 Gary V. Vaughan <gary@gnu.org>
404 A complete rewrite of the m4 code involved in the generation of
405 libtool via config.status. The old way involved manually
406 synchronising disparate bits of shell code in several macros, to
407 quote a copy of a shell variable, put that in config.status, maybe
408 add it to some quotation loops to prevent early expansion, and
409 then add a block to _LT_CONFIG_COMMANDS to bring it into the
410 libtool script. The new way is to mark shell variables for
411 propogation using _LT_DECL for language independent variables, or
412 _LT_TAGDECL for those that need to be propogated in several
413 language flavours. The marking can be done in the macro that
414 probes the variables, and this new m4 machinery takes care of
415 synchronising all the other bits of code at autoconf time:
417 * m4/ltsugar.m4: New file. Macros that are useful outside the
418 context of libtool. Initially, contains some generalised list
419 management macros, and the scaffolding for dictionary type data
420 storage and retrieval.
421 * Makefile.am (aclocal_macros): Install ltsugar.m4.
422 * m4/libtool.m4 (_LT_DECL): Mark a shell variable for export to
423 the libtool script, along with a comment, and hints for quoting
425 (_LT_TAGDECL): Similarly mark a tagged shell variable for export
427 (lt_decl_tag_varnames, lt_decl_quote_varnames)
428 (lt_decl_dquote_varnames, lt_decl_varnames_tagged)
429 (lt_decl_all_varnames): New utility macros for managing lists of
430 shell variable names from _LT_DECL and _LT_TAGDECL.
431 (_LT_CONFIG_STATUS_DECLARATIONS, _LT_CONFIG_STATUS_DECLARE):
432 Expand to correctly quoted variable declarations in config.status
433 from all marked shell variables.
434 (_LT_LIBTOOL_DECLARE): Expand to commented and quoted variable
435 declaration for libtool tag section.
436 (_LT_LIBTOOL_CONFIG_VARS, _LT_LIBTOOL_TAG_VARS): Pass all marked
437 variables to _LT_LIBTOOL_DECLARE.
438 (_LT_CONFIG_COMMANDS): Use _LT_CONFIG_STATUS_DECLARATIONS and
439 friends to generate all the variable passing shell code for
440 config.status, to get marked variables from libtool.m4 into
441 libtool itself eventually.
442 (AC_LIBTOOL_CONFIG): Generate marked variable code for libtool tag
443 configuration. Changed all client macros to mark variables
444 suitably rather than the hand pasting that was necessary
446 (AC_PROG_SED): Renamed from LT_AC_PROG_SED.
447 (LT_AC_PROG_SED): Wrap AC_PROG_SED, and mark shell variables for
448 propogation to the libtool script.
450 2004-01-07 Gary V. Vaughan <gary@gnu.org>
452 * libtoolize.in (seen_gettext): Removed unused variable.
454 2004-01-06 Gary V. Vaughan <gary@gnu.org>
456 * libtoolize.in (func_scan_files): Don't assume the existence of
457 aclocal.m4. Make the comment more descriptive.
458 Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>
460 * NEWS: Note libtoolize changes.
462 * ChangeLog.2003: New file, containing all the ChangeLog entries
463 from 2003. Trimmed ChangeLog accordingly.
465 * ltmain.in: Output 2004 in the copyright from libtool --version.
467 2004-01-03 Stefan Nordhausen <nordhaus@informatik.hu-berlin.de>
468 Scott James Remnant <scott@netsplit.com>
470 * ltmain.in: Don't use the mkdir -p option when creating a
471 temporary output directory so a symlink attack can't be used to
472 arbitrarily chmod other directories on the system if libtool
475 2004-01-02 Peter O'Gorman <peter@pogma.com>
477 * m4/libtool.m4: Ensure that ${ZSH_VERSION+set} is properly escaped.
479 * m4/libtool.m4 (CDPATH): Change the CDPATH setting so that it
480 allows for zsh differences, as noted in the autoconf manual's
481 Portable Shell - Special Shell Variables section.
483 2004-01-02 Scott James Remnant <scott@netsplit.com>
485 * .cvsignore: Ignore stamp-vcl created by the Makefile.
487 2004-01-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
488 Joe Orton <joe@manyfish.co.uk>
490 * m4/libtool.m4 (AC_LIBTOOL_CONFIG): Add extra blackslash
491 in front of all the inner double-quotes as this is removed
492 on Solaris, IRIX and AIX leading to broken definitions
495 2004-01-02 Scott James Remnant <scott@netsplit.com>
497 * NEWS: Next release will be in 2004.
499 Continued in ChangeLog.2003