emacs-devel
[Top][All Lists]
Advanced

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

Re: Enabling native compilation by default when libgccjit is present


From: Stefan Monnier
Subject: Re: Enabling native compilation by default when libgccjit is present
Date: Wed, 08 Dec 2021 08:52:01 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

> But how are those warnings different from what the user will get if he
> runs `package-install' on a package that causes warnings from the
> byte-compiler?

- By default, package-install compiles all the new files, one after the
  other, in the current Emacs session.  So it tends to emit fewer
  warnings than the native compilation (which compiles each file in
  a fresh new process) because many more packages have already been
  loaded.  This same difference can cause the native-compiled files to
  be miscompiled (because of a lack of `require`s) while the .elc files
  generated during `package-install` work properly.

- Native compilation of a package kicks in when a package that has been
  byte-compiled gets loaded in an Emacs session.
  So the warnings emitted by native-compilation are always *in addition*
  to the warnings that were emitted during `package-install`.

- `.eln` files are specific to a particular Emacs executable, so all the
  `.elc` files you use will be *re*compiled to `.eln` every time you
  start using a new Emacs executable.  For "normal" users this means
  every time they upgrade to a new release.  For people who track
  `master` it can mean "every other day".


        Stefan




reply via email to

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