aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhillip Lord2017-02-27 21:23:35 +0000
committerPhillip Lord2017-02-28 21:32:49 +0000
commit7b5e1c8238ef961fd3305b1dce053b9bced684ba (patch)
treea992d47052b5186a1c344a1f4a86d6b8aadc84ff /src
parent75727406535572fb8d18e0c4d92f5a033a1a0933 (diff)
downloademacs-7b5e1c8238ef961fd3305b1dce053b9bced684ba.tar.gz
emacs-7b5e1c8238ef961fd3305b1dce053b9bced684ba.zip
Speed generation of ldefs-boot-auto
Previously, generation of ldefs-boot-auto required at least one full bootstrap and, in extreme cases, two. Now, from build system, it requires the same time as taken to dump Emacs. * Makefile.in: Remove all calls, pass to src. * admin/ldefs-clean.el: Update for changed messages. * lisp/Makefile.in (compile-first-delete): Add. * lisp/ldefs-boot-auto.el: Update. * src/Makefile.in (generate-ldefs-boot): Add.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index ab319837249..730f79801c3 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -761,9 +761,30 @@ endif
761 @: Compile some files earlier to speed up further compilation. 761 @: Compile some files earlier to speed up further compilation.
762 $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)" 762 $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"
763 763
764shortlisp-keep=loadup.el loaddefs.el
765
766## Generating ldefs-boot-auto.el requires that we dump both emacs and
767## the bootstrap-emacs so that we can see which autoloads are actually
768## called. This is a slightly messy affair as we must ensure that
769## they are build as if from clean, which means deleting all the build
770## files first. We use loaddefs.el to make sure that we can build
771## from bootstrap; obviously, this assumes that loaddefs.el already
772## exists or we have a bootstrap problem!
773generate-ldefs-boot: $(lispsource)/loaddefs.el
774 echo Cleaning to enable generate-ldefs-boot
775 mv $(lispsource)/loaddefs.el $(lispsource)/ldefs-boot-auto.el
776 $(MAKE) -C $(lispsource) compile-first-delete
777 -for f in $(filter-out $(shortlisp-keep), $(shortlisp)); do test -e $(lispsource)/$$f && rm -v $(lispsource)/$$f; done
778 - rm bootstrap-emacs$(EXEEXT)
779 - rm emacs$(EXEEXT)
780 echo Building generate-ldefs-boot
781 $(MAKE) -j 1 emacs$(EXEEXT) \
782 GENERATE_LDEFS_BOOT="generate-ldefs-boot" \
783 2>&1 | tee $(lispsource)/ldefs-boot-auto.temp
784 echo Reformatting ldefs-boot-auto.el
785 emacs$(EXEEXT) -batch --load ../admin/ldefs-clean.el --funcall ldefs-clean
786 rm ../lisp/ldefs-boot-auto.temp
764 787
765generate-ldefs-boot: bootstrap-emacs$(EXEEXT)
766 $(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap
767 788
768ifeq ($(AUTO_DEPEND),yes) 789ifeq ($(AUTO_DEPEND),yes)
769-include $(ALLOBJS:%.o=${DEPDIR}/%.d) 790-include $(ALLOBJS:%.o=${DEPDIR}/%.d)