mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-25 07:28:20 +00:00
Byte-compile the in-tree loaddefs.el files
* lisp/Makefile.in (all): Add "autoloads", which now otherwise won't be done. ($(lisp)/loaddefs.el): Remove this target, since it's always done, and would then trigger a re-compilation of loaddefs.elc. * lisp/loadup.el: Load loaddefs.elc (if it exists). * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Don't include no-byte-compile cookies in the Emacs build. * src/Makefile.in ($(pdmp)): Depend on loaddefs.elc to ensure that it's built by this point. ($(etc)/DOC): Don't scan loaddefs.el for doc strings, since they are now picked up from the .elc file (bug#53024).
This commit is contained in:
parent
6fb206329f
commit
261d6afd6e
@ -123,10 +123,10 @@ SUBDIRS_FINDER = $(filter-out ${srcdir}/leim%,${SUBDIRS_ALMOST})
|
||||
## All subdirectories in which we might want to create subdirs.el.
|
||||
SUBDIRS_SUBDIRS = $(filter-out ${srcdir}/cedet% ${srcdir}/leim%,${SUBDIRS})
|
||||
|
||||
# cus-load and finder-inf are not explicitly requested by anything, so
|
||||
# we add them here to make sure they get built.
|
||||
# cus-load, finder-inf and autoloads are not explicitly requested by
|
||||
# anything, so we add them here to make sure they get built.
|
||||
all: compile-main $(lisp)/cus-load.el $(lisp)/finder-inf.el generate-ja-dic \
|
||||
org-manuals
|
||||
org-manuals autoloads
|
||||
|
||||
PHONY_EXTRAS =
|
||||
.PHONY: all custom-deps finder-data autoloads update-subdirs $(PHONY_EXTRAS) \
|
||||
@ -196,13 +196,10 @@ org-manuals: main-first
|
||||
# from ../src rules, but that doesn't seem possible due to the various
|
||||
# non-trivial dependencies.
|
||||
|
||||
# We make $(lisp)/loaddefs.el a dependency of .PHONY to cause Make to
|
||||
# ignore its time stamp. That's because the real dependencies of
|
||||
# loaddefs.el aren't known to Make, they are implemented in
|
||||
# loaddefs-generate--emacs-batch.
|
||||
|
||||
autoloads .PHONY: $(lisp)/loaddefs.el
|
||||
$(lisp)/loaddefs.el: gen-lisp $(LOADDEFS) $(lisp)/emacs-lisp/loaddefs-gen.elc
|
||||
# That's because the real dependencies of loaddefs.el aren't known to
|
||||
# Make, they are implemented in loaddefs-generate--emacs-batch, so
|
||||
# autoloads is an "all" dependency.
|
||||
autoloads:
|
||||
$(AM_V_GEN)$(emacs) \
|
||||
-l $(lisp)/emacs-lisp/loaddefs-gen.elc \
|
||||
-f loaddefs-generate--emacs-batch ${SUBDIRS_ALMOST}
|
||||
|
@ -588,7 +588,8 @@ If GENERATE-FULL, don't update, but regenerate all the loaddefs files."
|
||||
(with-temp-buffer
|
||||
(if (and updating (file-exists-p loaddefs-file))
|
||||
(insert-file-contents loaddefs-file)
|
||||
(insert (loaddefs-generate--rubric loaddefs-file nil t))
|
||||
(insert (loaddefs-generate--rubric
|
||||
loaddefs-file nil t include-package-version))
|
||||
(search-backward "\f")
|
||||
(when extra-data
|
||||
(insert extra-data)
|
||||
|
@ -185,9 +185,10 @@
|
||||
;; should be updated by overwriting it with an up-to-date copy of
|
||||
;; loaddefs.el that is not corrupted by local changes.
|
||||
;; admin/update_autogen can be used to update ldefs-boot.el periodically.
|
||||
(condition-case nil (load "loaddefs.el")
|
||||
;; In case loaddefs hasn't been generated yet.
|
||||
(file-error (load "ldefs-boot.el")))
|
||||
(condition-case nil
|
||||
(load "loaddefs")
|
||||
(file-error
|
||||
(load "ldefs-boot.el")))
|
||||
|
||||
(let ((new (make-hash-table :test #'equal)))
|
||||
;; Now that loaddefs has populated definition-prefixes, purify its contents.
|
||||
|
@ -635,7 +635,7 @@ Emacs.pdmp: $(pdmp)
|
||||
endif
|
||||
|
||||
ifeq ($(DUMPING),pdumper)
|
||||
$(pdmp): emacs$(EXEEXT)
|
||||
$(pdmp): emacs$(EXEEXT) $(lispsource)/loaddefs.elc
|
||||
LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=pdump \
|
||||
--bin-dest $(BIN_DESTDIR) --eln-dest $(ELN_DESTDIR)
|
||||
cp -f $@ $(bootstrap_pdmp)
|
||||
@ -652,13 +652,11 @@ endif
|
||||
## for the first time, this prevents any variation between configurations
|
||||
## in the contents of the DOC file.
|
||||
##
|
||||
$(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(doc_obj) $(lispsource)/loaddefs.el
|
||||
$(etc)/DOC: $(libsrc)/make-docfile$(EXEEXT) $(doc_obj)
|
||||
$(AM_V_GEN)$(MKDIR_P) $(etc)
|
||||
$(AM_V_at)rm -f $(etc)/DOC
|
||||
$(AM_V_at)$(libsrc)/make-docfile -d $(srcdir) \
|
||||
$(SOME_MACHINE_OBJECTS) $(doc_obj) > $(etc)/DOC
|
||||
$(AM_V_at)$(libsrc)/make-docfile -a $(etc)/DOC -d $(lispsource) \
|
||||
loaddefs.el
|
||||
|
||||
$(libsrc)/make-docfile$(EXEEXT) $(libsrc)/make-fingerprint$(EXEEXT): \
|
||||
$(lib)/libgnu.a
|
||||
|
Loading…
Reference in New Issue
Block a user