[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: |
Mon, 21 Nov 2016 22:03:15 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
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.
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 <=
- Re: replacing ldefs-boot.el, Phillip Lord, 2016/11/25
- 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