Re: [PATCH v2] build: do not automatically reconfigure unless configure.ac changed
- From
Stefano Lattarini <stefano.lattarini@gmail.com>
- Date
- Jan 2, 2013, 20:53 UTC
- Message-ID
- <50E49E54.9050009@gmail.com>
- In-Reply-To
- <7vbod72uze.fsf@alter.siamese.dyndns.org>
On 01/02/2013 09:25 PM, Junio C Hamano wrote:
Show 21 quoted lines
> Stefano Lattarini <stefano.lattarini@gmail.com> 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