Subject: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Andy Moreton <[email-masked]>
Date: Sat, 27 Feb 2021 21:58:25 +0000

On Sat 27 Feb 2021, Andy Moreton wrote:

> On Sat 27 Feb 2021, Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote:
>
>> Andy Moreton <[email-masked]> writes:
>>> There are still some elisp files that did not get native compiled when
>>> the build was done with "make -j8 NATIVE_FULL_AOT=1", and so get async
>>> compiled when running the built emacs:
>>>
>>>   ansi-color auth_source byte-opt bytecomp cconv cl-extra cl-lib cl-macs
>>>   cl-seq comint comp comp-cstr cus-edit cus-start desktop
>>>   display-fill-column-indicator easy-mmode easymenu edmacro eieio
>>>   eieio-core frameset gv help-mode hl-line image-file info json kmacro
>>>   map minibuf-eldef package paren password-cache pcase pp ring rx seq
>>>   subr-x time-date warnings wid-edit
>>>
>>> That may be a result of the error during the build.
>>
>> Mmmmh, that's strange some of these are even compiled as COMPILE_FIRST
>> therfore are certainly native compiled.
>
> I suspect that the issue may be with parallel builds (note the "-j8"
> above). Repeating the build with "-j1" appears to be building the
> missing .eln files as expected.

Now that the -j1 build has completed (without error), all of the lisp
files have been compiled AOT as expected, and running the resulting
emacs does not rebuild any of those .eln files.

So I think there are still some other issues with dependencies and
handling parallel builds, but this bug has been fixed.

Thanks,

    AndyM