Re: Makefile dependency from 'configure' to 'GIT-VERSION-FILE'
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jan 2, 2013, 07:21 UTC
- Message-ID
- <20130102072141.GB18974@elie.Belkin>
- In-Reply-To
- <CANiSa6jt7_ixi7L6U9sfpV2mvT_7zgYV+m+sLiXjkDsFehAuwA@mail.gmail.com>
Hi Martin,
Martin von Zweigbergk wrote:
Show 5 quoted lines
> I use autoconf with git.git. I have noticed lately, especially when > doing things like "git rebase -i --exec make", that ./configure is run > every time. If I understand correctly, this is because of 8242ff4 > (build: reconfigure automatically if configure.ac changes, > 2012-07-19).
How about this patch (untested)?
-- >8 -- Subject: build: do not automatically reconfigure unless configure.ac changed
Starting with v1.7.12-rc0~4^2 (build: reconfigure automatically if configure.ac changes, 2012-07-19), "config.status --recheck" is automatically run every time the "configure" script changes. In particular, that means the configuration procedure repeats whenever the version number changes (since the configure script changes to support "./configure --version" and "./configure --help"), making bisecting painfully slow.
The intent was to make the reconfiguration process only trigger for changes to configure.ac's logic. Tweak the Makefile rule to match that intent by depending on configure.ac instead of configure.
Reported-by: Martin von Zweigbergk <martinvonz@gmail.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- [...]
Show 8 quoted lines
> --- a/Makefile > +++ b/Makefile > @@ -2267,12 +2267,9 @@ $(patsubst %.py,%,$(SCRIPT_PYTHON)): % : unimplemented.sh > mv $@+ $@ > endif # NO_PYTHON > > -configure: configure.ac GIT-VERSION-FILE > +configure: configure.ac
[...]
Show 11 quoted lines
> --- a/configure.ac
> +++ b/configure.ac
> @@ -142,7 +142,10 @@ fi
> ## Configure body starts here.
>
> AC_PREREQ(2.59)
> -AC_INIT([git], [@@GIT_VERSION@@], [git@vger.kernel.org])
> +AC_INIT([git],
> + m4_esyscmd([ ./GIT-VERSION-GEN &&
> + { sed -ne 's/GIT_VERSION = //p' GIT-VERSION-FILE | xargs echo -n; } ]),
> + [git@vger.kernel.org])I don't think that would warrant dropping the GIT-VERSION-FILE dependency, since the resulting configure script still hard-codes the version number.
Sane?
Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile index 736ecd45..2a22041f 100644 --- a/Makefile +++ b/Makefile @@ -2275,7 +2275,7 @@ configure: configure.ac GIT-VERSION-FILE $(RM) $<+ ifdef AUTOCONFIGURED -config.status: configure +config.status: configure.ac $(QUIET_GEN)if test -f config.status; then \ ./config.status --recheck; \ else \
-- 1.8.1