bug-m4
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] missing: retore back-compat for use by older automake


From: Eric Blake
Subject: Re: [PATCH] missing: retore back-compat for use by older automake
Date: Tue, 26 Jun 2012 11:39:36 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120615 Thunderbird/13.0.1

On 06/26/2012 11:26 AM, Stefano Lattarini wrote:
> On 06/26/2012 06:40 PM, Eric Blake wrote:
>> Commit a22717dffe3 removed the --run argument, since our new preferred
>> calling conventions now imply it; but if a newer 'missing' is mixed
>> with an already built project that used an older Automake version, then
>> the 'Makefile' in that project will fail due to passing the --run
>> option when trying to bring the project up-to-date.
>>
>> * lib/missing: Parse and ignore --run.
>> ---
>>
> Thanks.  I've applied the patch (after tweaking the commit message a bit),
> and will push shortly if there are no objections.  FYI, here is the new
> commit message:
> 
>     missing: --run is supported again (as a no-op) for use by older automake
> 
>     Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch
>     timestamps; only warn for out-of-date files") has removed the '--run'
>     option, since our new preferred calling conventions now imply it; but
>     if a newer 'missing' is mixed with an already built project that used
>     an older Automake version (this happened in practice fro GNU m4; see:
>     <http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then
>     the 'Makefile' in that project will fail due to passing the '--run'
>     option when trying to bring the project up-to-date.
> 
>     * lib/missing: Parse and ignore '--run'.

Works for me.  Thanks for the touchup.

Meanwhile, I went looking, and found other uses of 'missing --run'
outside of what older automake generates; for example, this line in
m4.git/doc/Makefile.am:

HELP2MAN = $(SHELL) $(top_srcdir)/build-aux/missing --run help2man

In order to allow multiple developers to bootstrap m4, some with older
automake and some with 1.13, then this hard-coded line must use the
older syntax (the alternative is to blindly force anyone working on GNU
m4 to manually upgrade to the latest automake, rather than relying on
the distro version).

And while looking into how M4 differs from coreutils, I noticed that
coreutils uses this via a .m4 file included into its configure.ac:

  AM_MISSING_PROG(HELP2MAN, help2man)

which is roughly supposed to set $(HELP2MAN) to 'path/to/missing [--run]
help2man', depending on the version of automake used, without
hard-coding it as M4 had done.  Maybe M4 could use this trick instead of
open-coding its use of 'missing --run', but there's a flaw in that plan
- AM_MISSING_PROG is an undocumented macro, and I'm trying hard to keep
M4 using only documented interfaces.

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org



Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]