emacs-devel
[Top][All Lists]
Advanced

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

Re: extraclean and admin/grammars [was Re: Git master head build failure


From: chad
Subject: Re: extraclean and admin/grammars [was Re: Git master head build failure?]
Date: Sat, 3 Apr 2021 15:36:51 -0700


On Sat, Apr 3, 2021 at 7:16 AM Eli Zaretskii <eliz@gnu.org> wrote:
> I still don't understand what mean here, since it's been demonstrated
> several times that (in certain circumstances) people have to say "make
> extraclean" to build a working Emacs executable.

"make extraclean" is only needed when doing something very drastic,
like switching to a very different branch.  That is an extremely rare
(if not improbable) use case, so IMO having everyone pay for it is
unjustified.

> So "make bootstrap" doesn't do what it says on the tin

But it does: it bootstraps the current configuration of Emacs by doing
what is necessary, but not more than that.

It sounds like you think that "make bootstrap" is equivalent to
checking out a pristine clone.  But that is not the case, at least not
for most people who use that target.

Without getting too caught up in the details of who-said-what-when, when I read the Makefile, this text:

# make bootstrap
#      Removes all the compiled files to force a new bootstrap from a
#      clean slate, and then build in the normal way.

..it makes me think something much closer to what I think Lars was saying "make bootstrap" should do than "only use this if you don't have src/{t,}emacs", which is roughly how I interpret (perhaps wrongly) what Eli is suggesting "make boostrap" is for. It also surprises me that emacs' build system needs clean, mostlyclean, distclean, maintainer-clean, extraclean, and bootstrap, but that overhead seems very low, mostly confusion around which to use. 

Probably, I'm biased by my own use-case, which is roughly: I periodically (multiple times a week) pull and bootstrap emacs using a custom build script, so I can test the latest and greatest of emacs-devel. When I do work on specific changes myself, I use "make all" nearly all the time (I have memories of needing to bootstrap now and then, but I can't recall the circumstances). That said, I'm using a moderately performant machine, (currently 3 years old, before that up to 8 years old) and typically run -j6.

Hope that helps.
~Chad

reply via email to

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