summaryrefslogtreecommitdiff
path: root/lisp/loadup.el
diff options
context:
space:
mode:
authorPhillip Lord <phillip.lord@russet.org.uk>2016-10-27 08:07:05 +0100
committerPhillip Lord <phillip.lord@russet.org.uk>2016-12-13 22:15:32 +0000
commitc27b645956a11fab1dd8fa189254d525390958f5 (patch)
treea32dc7bbc8758a5656b2be8f712614a9085592d6 /lisp/loadup.el
parent9e6618becaa15b104f18d54371f35f065f430f81 (diff)
downloademacs-c27b645956a11fab1dd8fa189254d525390958f5.tar.gz
Replace ldefs-boot with a much smaller file
* Makefile.in (bootstrap-build,generate-ldefs-boot): New targets. (bootstrap): Depend on bootstrap-build. * admin/ldefs-clean.el: New file. * lisp/Makefile.in (compile-first): Depend on loaddefs.el * lisp/ldefs-boot.el: Remove. * lisp/ldefs-boot-auto.el: New file. * lisp/ldefs-boot-manual.el: New file. * lisp/loadup.el: Load ldefs-boot-manual.el. * src/emacs.c (generating_ldefs_boot): New variable. (main): Check whether we are generating ldefs. * src/eval.c (autoload-do-load): Dump autoload forms to stderr when requested. * src/lisp.h (generating_ldefs_boot): New variable. * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright, lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el, lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to ldefs-boot. * admin/update_autogen: Alter mechanism for ldefs-boot generation.
Diffstat (limited to 'lisp/loadup.el')
-rw-r--r--lisp/loadup.el24
1 files changed, 13 insertions, 11 deletions
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 5c16464282b..e9dd683b283 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -143,19 +143,21 @@
(load "button")
;; We don't want to store loaddefs.el in the repository because it is
-;; a generated file; but it is required in order to compile the lisp files.
-;; When bootstrapping, we cannot generate loaddefs.el until an
-;; emacs binary has been built. We therefore compromise and keep
-;; ldefs-boot.el in the repository. This does not need to be updated
-;; as often as the real loaddefs.el would. Bootstrap should always
-;; work with ldefs-boot.el. Therefore, Whenever a new autoload cookie
-;; gets added that is necessary during bootstrapping, ldefs-boot.el
-;; should be updated by overwriting it with an up-to-date copy of
-;; loaddefs.el that is uncorrupted by local changes.
-;; autogen/update_autogen can be used to periodically update ldefs-boot.
+;; a generated file; but it is required in order to compile the lisp
+;; files. When bootstrapping, we cannot generate loaddefs.el until an
+;; emacs binary has been built. We therefore support the build with
+;; two files, ldefs-boot-manual.el and ldefs-boot-auto.el, which
+;; contain the autoloads that are actually called during bootstrap.
+;; These do not need to be updated as often as the real loaddefs.el
+;; would. Bootstrap should always work with ldefs-boot-manual.el.
+;; Therefore, Whenever a new autoload cookie gets added that is
+;; necessary during bootstrapping, ldefs-boot-auto.el should be
+;; updated using the "generate-ldefs-boot" make target.
+;; autogen/update_autogen can be used to periodically update
+;; ldefs-boot.
(condition-case nil (load "loaddefs.el")
;; In case loaddefs hasn't been generated yet.
- (file-error (load "ldefs-boot.el")))
+ (file-error (load "ldefs-boot-manual.el")))
(let ((new (make-hash-table :test 'equal)))
;; Now that loaddefs has populated definition-prefixes, purify its contents.