[Top][All Lists]

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

Re: Annoyingly cautious make rules

From: Stephen J. Turnbull
Subject: Re: Annoyingly cautious make rules
Date: Sat, 03 Dec 2011 13:26:13 +0900

Eli Zaretskii writes:
 > > From: Andreas Schwab <address@hidden>
 > > Date: Fri, 02 Dec 2011 13:13:32 +0100
 > > Cc: address@hidden
 > > 
 > > Richard Stallman <address@hidden> writes:
 > > 
 > > > The cache used to be enabled automatically.  How do you enable it now?

 > Why is the default OFF?

Because *persistently* caching information about system configurations
is a very bad idea, *especially* a GNU system.  (I don't think I've
ever had an Emacs build break due to a Linux upgrade, so I'll leave
Linux out of this. :-)  I would guess I have to rebuild my stable
Emacsen about once a month because some library "just disappears" (ie,
the SO version gets bumped and the old library gets removed because my
local Emacs builds don't have dependencies recorded in portage) in a
Gentoo upgrade, and they won't run at all.  I would imagine subtle
changes that should be reconfirmed by configure are happening almost

This is especially useful in the case of occasional beta testers, who
(like me) tend to upgrade system utilities a lot and get bit by such
issues all the time.  Emacs evidently has a more complex process and
needs the bootstrap stage which is more costly than XEmacs's "start
from scratch" process, but in XEmacs the biggest improvement we made
in the process for testers to get a clean build first time after
pulling new code into their source tree was disabling the cache.

This can be a bit annoying for developers who don't work on configure
(of course those of us who do work on configure need to run it often) 
but developers know how to type "./configure --help" and/or send mail
to the dev list, so we shouldn't need to worry about them too much.

It's a different matter if you do a lot of recursive configuration, of
course.  Then the cache is the way you communicate that checks have
already been done to configure subprocesses.  XEmacs does very little
so disabling the cache is obviously TRT.  I don't know about Emacs (I
just run "./configure && make" and go teach class :-).

reply via email to

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