[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
- replacing ldefs-boot.el, Phillip Lord, 2016/11/20
- Re: replacing ldefs-boot.el, Eli Zaretskii, 2016/11/20
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/20
- Re: replacing ldefs-boot.el, Eli Zaretskii, 2016/11/20
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/21
- Re: replacing ldefs-boot.el,
Phillip Lord <=
- Re: replacing ldefs-boot.el, Eli Zaretskii, 2016/11/25
- Re: replacing ldefs-boot.el, Paul Eggert, 2016/11/25
- Re: replacing ldefs-boot.el, Eli Zaretskii, 2016/11/25
- Re: replacing ldefs-boot.el, Stefan Monnier, 2016/11/25
- Re: replacing ldefs-boot.el, Eli Zaretskii, 2016/11/26
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/27
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/25
- Re: replacing ldefs-boot.el, Óscar Fuentes, 2016/11/25
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/27
- Re: replacing ldefs-boot.el, Nicolas Petton, 2016/11/27