diff options
author | Phillip Lord <phillip.lord@russet.org.uk> | 2016-10-27 08:07:05 +0100 |
---|---|---|
committer | Phillip Lord <phillip.lord@russet.org.uk> | 2016-12-13 22:15:32 +0000 |
commit | c27b645956a11fab1dd8fa189254d525390958f5 (patch) | |
tree | a32dc7bbc8758a5656b2be8f712614a9085592d6 /Makefile.in | |
parent | 9e6618becaa15b104f18d54371f35f065f430f81 (diff) | |
download | emacs-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 'Makefile.in')
-rw-r--r-- | Makefile.in | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Makefile.in b/Makefile.in index 2fead76c1ce..d7e30a8206a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1117,7 +1117,9 @@ check-info: info # * Run autogen.sh. # * Rebuild Makefile, to update the build procedure itself. # * Do the actual build. -bootstrap: bootstrap-clean +bootstrap: | bootstrap-clean bootstrap-build + +bootstrap-build: cd $(srcdir) && ./autogen.sh $(MAKE) MAKEFILE_NAME=force-Makefile force-Makefile $(MAKE) all @@ -1180,3 +1182,18 @@ check-declare: exit 1; \ fi $(MAKE) -C lisp $@ + +## Generating ldefs-boot-auto.el requires a completely clean build so +## that we can see which autoloads are actually called. The build has +## to complete because we use Emacs to clean the results up! We use +## loaddefs.el in place of ldefs-boot-auto, because if we are running +## this there is the possibility that ldefs-boot-auto is not +## sufficient for bootstrap. +generate-ldefs-boot: all + echo "Generating Bootstrap ldefs" + cp lisp/loaddefs.el lisp/ldefs-boot-auto.el + $(MAKE) -j 1 bootstrap \ + GENERATE_LDEFS_BOOT="generate-ldefs-boot" \ + 2>&1 | tee lisp/ldefs-boot-auto.temp + $(EMACS) -batch --load admin/ldefs-clean.el --funcall ldefs-clean + rm lisp/ldefs-boot-auto.temp |