emacs-devel
[Top][All Lists]
Advanced

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

Re: replacing ldefs-boot.el


From: Phillip Lord
Subject: Re: replacing ldefs-boot.el
Date: Fri, 25 Nov 2016 11:23:25 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

address@hidden (Phillip Lord) writes:

> Eli Zaretskii <address@hidden> writes:
>
>>> From: address@hidden (Phillip Lord)
>>> Cc: address@hidden
>>> Date: Sun, 20 Nov 2016 21:28:49 +0000
>>> 
>>> This is a reasonable significant change in the bootstrap build, and
>>> there may be implications that I have not foreseen. Hence it makes sense
>>> to ask first.
>>
>> Then please describe the bootstrap and the normal build in detail,
>> because I'm not sure I understood the implications by just looking at
>> the diffs.
>
> Currently, emacs builds like so (in f make syntax)-- 
>
> temacs: *.c
>
> bootstrap-emacs: temacs
>       ## temacs loads ldefs-boot.el during loadup or it crashes
>
> compile-first: bootstrap-emacs
>
> loaddefs.el: compile-first
>      ## now we generate loaddefs.el
>
>
> Afterwards, we do:
>
> temacs: *.c
>
> bootstrap-emacs: temacs
>       ## temacs loads ldefs-boot-manual.el and -auto.el during
>       ## loadup or it crashes
>
> loaddefs.el: bootstrap-emacs
>      ## now we generate loaddefs.el
>
> compile-first: loaddefs.el
>
>
> So, loaddefs.el is available before compile-first happens.
>
>
>> What are those additional files, and how and when they are
>> generated?
>
> ldefs-boot-auto.el is now autogenerated from a make target at top level.
> It works but augmenting eval.c, so that when an autoload happens, Emacs
> writes to system stdout the equivalent autoload form. A complete
> bootstrap build will, therefore, print all the autoloads that are
> actually used. There's some lisp in admin/ldefs-clean.el which removes
> everything except these lisp forms.
>
> Advantages:
>
>  - we still have an autogenerated file in the repo, but it is very much
>    smaller (160 lines vs 40k).
>
> Disadvantages:
>
>  - generating ldefs-boot-auto is a lot slower (i.e. cp loaddefs.el
>    ldefs-boot.el vs a complete bootstrap build of Emacs).
>
> Invariants:
>
>  - to my testing there is negligable difference in build time.


Have you had a chance to look at this yet?

Phil



reply via email to

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