* m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds.
[libtool.git] / ChangeLog
blobd2926f7d0d4a265568d1c19ef94aa02f7abbb83e
1 2004-02-15  Peter O'Gorman  <peter@pogma.com>
3         * m4/libtool.m4, ltmain.in: Rename shrext to shrext_cmds.
4         
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
9         expansion.
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
19         out.
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
35         needed.
36         
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
44         command separator.
45         * m4/libtool.m4: Also remove unnecessary trailing slash where
46         we break a line on a command separator.
47             
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
53         libtool.  Removed.
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
105         not shown.
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
134         are being used.
135         * Makefile.am (m4/ltversion.m4): New rule to create it from
136         m4/ltversion.in.
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
140         from ltversion.m4.
141         * bootstrap: Call the Makefile.am to create an initial
142         m4/ltversion.m4.
143         * ltmain.in: Diagnose version mismatches of various flavours.
144         * TODO: Remove mismatch item.
145         * NEWS: Updated.
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
150         needs to be rebuilt.
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.
171         * NEWS: Updated.
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
210         the 1.5.2 release.
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
218         'commit'
219         (cvs-release): Depend on cvs-commit, depend on deltas instead of
220         cvs-diff and xdelta.
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
234         on Savannah.
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
249         to OLDVERSION.
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):
263         Add ltdl.h.
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
270         advanced than this.
271         * Makefile.am (install-data-hook, uninstall-local): Removed.
272         Libltdl files for libtoolize are installed by their own Makefile
273         now.
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
283         removed.
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.
293         * ltmain.in: Use it.
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
302         library_names_spec.
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
308         objects.
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
321         $top_srcdir.
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
328         filename.
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
356         output directory.
357         (Debian Bug #221420)
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
369         -- is encountered.
371 2004-01-08  Gary V. Vaughan  <gary@gnu.org>
373         * libtoolize.in (func_copy_all_files): s/test "x/test "X/ to keep
374         tests/sh.test happy.
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
380         added by automake.
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.
396         Changed all callers.
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
424         and renaming.
425         (_LT_TAGDECL): Similarly mark a tagged shell variable for export
426         in each tag.
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
445         previously.
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
473         gets run as root.
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
493         in config.status.
495 2004-01-02  Scott James Remnant  <scott@netsplit.com>
497         * NEWS: Next release will be in 2004.
499 Continued in ChangeLog.2003
501         $Revision$ $Date$