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: Stefan Monnier
Subject: Re: extraclean and admin/grammars [was Re: Git master head build failure?]
Date: Thu, 01 Apr 2021 13:15:56 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> Emacs use of extraclean is really an abuse - see comments in the
> top-level Makefile. IIRC, the only differences between extraclean
> and bootstrap-clean are:

>From a theoretical standpoint, I think `bootstrap-clean` should delete the
files that are both:
A) generated.
B) not faithfully described by the makefile dependencies.

In practice, very few of our generated files have 100% of their
dependencies  faithfully described in our makefiles, so the theory needs
to be taken with a large grain of salt.

Others less theoretical and more pragmatic factors that can be important are
C) used during the generation of other files.
D) changes frequently.

(C) can be important because it can cause not just errors down the line
when using the corresponding functionality, but also errors during the
build itself.

> 1) bootstrap-clean does not delete the generated leim files.
> This is because they are slow to rebuild and the sources rarely change.

AFAIK these don't satisfy B very much, (nor C nor D) so I don't see much
need to delete them in `bootstrap-clean`, indeed.

> 2) bootstrap-clean does not delete the generated semantic grammars.
> These are not slow to rebuild.  As my comment in
> admin/grammars/Makefile.in says, these could easily be deleted in
> bootstrap-clean.  I don't even really remember why I did it that
> way now.

I think for those we could also improve the makefile dependencies.

E.g. a first step could be to move `grammar-wy.el` to `grm-wy-boot.el` like we
do with `ldefs-boot.el` (see patch below) to break the
circular dependency.
WDYT?


        Stefan




reply via email to

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