GNU bug report logs - #74382
`compile-first` Make rule is no longer using `load-prefer-newer`

Previous Next

Package: emacs;

Reported by: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>

Date: Sat, 16 Nov 2024 15:12:02 UTC

Severity: normal

Tags: notabug

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: gerd.moellmann <at> gmail.com, 74382 <at> debbugs.gnu.org
Subject: bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer`
Date: Mon, 18 Nov 2024 16:12:08 +0300
On Mon, 2024-11-18 at 14:59 +0200, Eli Zaretskii wrote:
> > From: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>
> > Cc: Eli Zaretskii <eliz <at> gnu.org>, acm <at> muc.de, 74382 <at> debbugs.gnu.org
> > Date: Mon, 18 Nov 2024 13:05:54 +0300
> > 
> > Btw, thank you, this bit of history indeed is interesting. During
> > whole
> > discussion I had a question on the back of my mind: how this
> > "distribute pre-built elc in tarballs" idea initially came to be. I
> > mean, it's kind of nice from POV of saving a bit of energy around
> > the
> > world on CI machines, but I don't see much beyond that. Building
> > elc
> > files is not *that* bad for elc distribution to be strictly
> > necessary.
> 
> Once again, building all the *.elc files takes a long time, even on
> modern systems.  I have a 32-core screamer, and it still takes a few
> minutes to byte-compile everything.  On an older system, it used to
> take me 15 minutes even in parallel (-j4) builds.
> 
> Computers got much faster, but people know that, so they have less
> patience.  Thus, avoiding recompilation of the *.elc files (and Info,
> and other derived files) is still important to make the build faster.
> A release tarball builds in less than 1 min due to these measures.

3 and even 15 minutes of compilation once a few months at worst (the
time between Emacs releases) is not a big deal. Besides, the endusers
don't typically compile releases, instead distro packagers do that, and
they are typically using CI.

Emacs by far is not the slowest project to compile from scratch. AFAIR
LibreOffce and Linux Kernel take longer to build.

> > Now that you told this, I realize it's just a solution to a problem
> > from 25 years old back, from times when that actually was a
> > problem.
> 
> I don't understand this conclusion.  What problem existed 25 years
> ago
> that is related to "make clean" or to load-prefer-newer, and doesn't
> exist anymore?

This is tangentially related to `make clean` discussoin. I was just
curious how come that Emacs started distributing elc files in release
tarballs. Like, was there someone who asked for that, or anything… Now
I see it's just a feature from long past. I am not saying it's bad or
good, because that's a separate question (there are both pros and
cons).




This bug report was last modified 216 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.