From: Alan Mackenzie <acm@muc.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: Speeding up the bootstrap build - a quick hack.
Date: Wed, 19 Jan 2022 11:50:43 +0000 [thread overview]
Message-ID: <Yef7E+5tLJyEGHCj@ACM> (raw)
In-Reply-To: <jwvzgnsn5a0.fsf-monnier+emacs@gnu.org>
Hello, Stefan.
On Tue, Jan 18, 2022 at 15:48:23 -0500, Stefan Monnier wrote:
> >> >> > -.PHONY: compile-first compile-main compile compile-always
> >> >> > +.PHONY: compile-zeroth compile-first compile-main compile compile-always
> >> >> > -compile-first: $(COMPILE_FIRST)
> >> >> > +compile-zeroth: $(COMPILE_ZEROTH)
> >> >> > +compile-first: compile-zeroth $(COMPILE_FIRST)
> >> >> Is this necessary, or is it just helpful to debug the Makefile?
> >> > I'm not sure. I'm a little confused, still.
> > It seems to be necessary. At any rate, changing the mix slightly gave
> > rise to unwanted results. In particular...
> >> At least I can't see why `compile-first` should need to depend on
> >> `compile-zeroth` since the
> >> %.elc: %.el $(COMPILE_ZEROTH)
> > If I change that line to
> > %.elc: %.el compile-zeroth
> > , then Emacs builds, but redundantly ELC's all the .el files which are
> > preloaded, taking 15 seconds longer to do so. I don't understand why
> > this happens.
> > Even more notably, if I eliminate compile-zeroth, putting in instead
> > $(COMPILE_ZEROTH) everywhere needed, then make creates and deletes the
> > ..elc0 files four times, and also redundantly runs ELC on the preloaded
> > ..el files, despite them already being .eln's. This run took 2½ minutes
> > longer than expected, too. I don't understand why all that happened,
> > either.
> But what if you don't define `compile-zeroth`, and you keep:
> compile-first: $(COMPILE_FIRST)
> and
> %.elc: %.el $(COMPILE_ZEROTH)
> ?
I think that is what I have just tried again. The results are as in my
paragraph above beginning "Even more notably, ....".
I don't understand at all what's happening. Maybe it's something to do
with compile-zeroth being declared .PHONY. It also might have to do with
make somehow regarding *.elc0 as "intermediate files", and is thus "safe"
to delete them (four times deleted in total).
> >> rule should already give the same result. So I'd suggest you drop
> >> this part of the patch and see if that causes any kind of trouble.
> > As above, it caused all sorts of trouble.
> Maybe I'm confused but IIUC none of what you tried corresponds to just
> not using the above hunk.
I think I'm confused. make isn't a simple program.
> Stefan
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2022-01-19 11:50 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-17 20:26 Speeding up the bootstrap build - a quick hack Alan Mackenzie
2022-01-17 20:55 ` Stefan Monnier
2022-01-18 11:56 ` Alan Mackenzie
2022-01-18 13:14 ` Stefan Monnier
2022-01-18 20:27 ` Alan Mackenzie
2022-01-18 20:48 ` Stefan Monnier
2022-01-19 11:50 ` Alan Mackenzie [this message]
2022-01-19 14:34 ` Stefan Monnier
2022-01-19 15:24 ` Stefan Monnier
2022-01-18 13:16 ` Robert Pluim
2022-01-18 14:04 ` Alan Mackenzie
2022-01-18 14:13 ` Robert Pluim
2022-01-18 14:24 ` Stefan Monnier
2022-01-18 14:35 ` Robert Pluim
2022-01-18 15:13 ` Robert Pluim
2022-01-18 16:50 ` Eli Zaretskii
2022-01-18 16:09 ` Andrea Corallo
2022-01-18 18:36 ` Stefan Monnier
2022-01-18 14:05 ` Stefan Monnier
2022-01-18 14:18 ` Robert Pluim
2022-01-17 21:03 ` Lars Ingebrigtsen
2022-01-18 0:46 ` Po Lu
2022-01-18 14:17 ` Eli Zaretskii
2022-01-18 18:40 ` Stefan Monnier
2022-01-18 19:34 ` Eli Zaretskii
2022-01-18 20:28 ` Stefan Monnier
2022-01-18 20:35 ` Alan Mackenzie
2022-01-18 20:50 ` Stefan Monnier
2022-01-19 11:10 ` Alan Mackenzie
2022-01-19 11:46 ` Eli Zaretskii
2022-01-19 16:50 ` Alan Mackenzie
2022-01-19 17:03 ` Eli Zaretskii
2022-01-19 21:32 ` Alan Mackenzie
2022-01-20 9:25 ` Robert Pluim
2022-01-20 11:35 ` Alan Mackenzie
2022-01-20 13:18 ` Robert Pluim
2022-01-20 14:54 ` Robert Pluim
2022-01-20 18:48 ` Alan Mackenzie
2022-01-20 22:29 ` Stefan Monnier
2022-01-21 8:17 ` Robert Pluim
2022-01-21 10:18 ` Stephen Leake
2022-01-21 10:42 ` David Engster
2022-01-21 10:51 ` Robert Pluim
2022-01-24 19:43 ` Andrea Corallo
2022-01-24 19:54 ` Eli Zaretskii
2022-01-24 20:15 ` Andrea Corallo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yef7E+5tLJyEGHCj@ACM \
--to=acm@muc.de \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).