Subject: Re: [PATCH v2] build: do not automatically reconfigure unless configure.ac changed

From: Stefano Lattarini <[email-masked]>
Date: Wed, 02 Jan 2013 21:53:40 +0100

On 01/02/2013 09:25 PM, Junio C Hamano wrote:
> Stefano Lattarini <[email-masked]> writes:
> 
>>>  ifdef AUTOCONFIGURED
>>> -config.status: configure
>>> -	$(QUIET_GEN)if test -f config.status; then \
>>> +# We avoid depending on 'configure' here, because it gets rebuilt
>>> +# every time GIT-VERSION-FILE is modified, only to update the embedded
>>> +# version number string, which config.status does not care about.
>>>
>> Alas, config.status *do* care about it, in that the '@PACKAGE_VERSION@',
>> '@PACKAGE_STRING@' and '@DEFS@' substitutions are affected by what is
>> hard-coded in configure as the version number [1].  But if we do not
>> use those substitutions in any of our files (and I believe we don't),
>> then *we* can happily not care about the configure embedded version
>> number string, and thus avoid the extra configure runs.  Phew.
>>
>>  [1] Yes, this is a mess.  We know.  Sorry!
> 
> Heh.  Should we warn against the use of these symbols somewhere in
> configure.ac, perhaps, then?
>
Actually, they should be checked against in files processed by
'config.status', i.e., files listed in AC_CONFIG_FILES calls in
'configure.ac'.  But I honestly believe that would be overkill;
I say we simply adjust your comment to read something like:

  # We avoid depending on 'configure' here, because it gets rebuilt
  # every time GIT-VERSION-FILE is modified, only to update the
  # embedded version number string, which we however do not
  # substitute in any file processed by config.status.

Thanks,
  Stefano