Subject: Re: bug#9106: 24.0.50; ./configure causes massive recompilation

From: Eli Zaretskii <[email-masked]>
Date: Mon, 18 Jul 2011 21:37:02 +0300

> From: Glenn Morris <[email-masked]>
> Cc: [email-masked]
> Date: Mon, 18 Jul 2011 13:48:45 -0400
> 
> Eli Zaretskii wrote:
> 
> > Invocation of the `configure' script causes recompilation of many
> > source files, even though nothing has really changed.
> 
> Why do you want to re-run configure - can you get away with just `make'?

How can I know?  I just did a "bzr up", and I don't want to analyze
every file that got updated to see if a mere "make" will do.  E.g.,
what if some Makefile.in got updated?

It used to be the case that if the results of running `configure'
didn't change anything of essence, "make" would do nothing.  This
worked by producing the generated files under temporary names and by
using move-if-change to overwrite the old files if the new ones were
different.  Why cannot we extend this method to the additional files
we generate now?

> In principle, almost anything could have changed if you have re-run
> configure (?). Eg you could in principle be compiling for a different
> arch now. I'm not sure it's possible to distinguish those cases from
> cases where nothing has really changed.

Of course, it's possible: several files, such as src/config.h, will be
different.  We just need to compare them before we overwrite the old
ones with new.