emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 7520932dbe 1/2: Still mark ldefs-boot.el as non-byte-compilable


From: Lars Ingebrigtsen
Subject: master 7520932dbe 1/2: Still mark ldefs-boot.el as non-byte-compilable
Date: Thu, 4 Aug 2022 00:53:42 -0400 (EDT)

branch: master
commit 7520932dbe79ee61bc41718099acfbfbb49f2e86
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Still mark ldefs-boot.el as non-byte-compilable
    
    * lisp/Makefile.in (ldefs-boot.el): Mark ldefs-boot.el as
    non-byte-compiled.
---
 lisp/Makefile.in | 43 ++++++++++++++++---------------------------
 1 file changed, 16 insertions(+), 27 deletions(-)

diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 315b1fcf7b..7c1f872939 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -171,49 +171,38 @@ org-manuals: main-first
 
 ## Comments on loaddefs generation:
 
-# loaddefs depends on gen-lisp for two reasons:
-# 1) In ../src, the emacs target depends on loaddefs but not on eg leim-list.
+# In ../src, the emacs target depends on loaddefs but not on eg leim-list.
 # So having leim as a dependency of loaddefs (via gen-lisp) ensures leim-list
 # gets created before the final emacs is dumped.  Having leim
 # dependencies in ../src as well would create a parallel race condition.
 #
-# FIXME: 2) is no longer correct, so perhaps we could add unidata to
-# gen-lisp now?
+# FIXME: Is the following true any more?
 #
-# 2) Files that are marked no-update-autoloads still get recorded in loaddefs.
-# So those files should be generated before we make autoloads, if we
-# don't want a successive make autoloads to change the output file.
-# Said changes are trivial (only comments in the "files without autoloads"
-# section), but still can be annoying.  Of course, if generated lisp files
-# do contain autoloads, it is essential they be built before make autoloads.
-# (Also, if a generated file is not written atomically, it is possible that
-# in a parallel build, make autoloads could read a partial version of it.)
-#
-# We'd really like to add "make -C ../admin/unidata all" to gen-lisp
-# because of 2) above, but it causes a race condition in parallel
-# builds because ../src also runs that rule.  Given the limitations of
-# recursive make, the only way to fix that would be to remove unidata
-# from ../src rules, but that doesn't seem possible due to the various
-# non-trivial dependencies.
-
-# 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.
+# We'd really like to add "make -C ../admin/unidata all" to gen-lisp,
+# but it causes a race condition in parallel builds because ../src
+# also runs that rule.  Given the limitations of recursive make, the
+# only way to fix that would be to remove unidata from ../src rules,
+# but that doesn't seem possible due to the various non-trivial
+# dependencies.
+
+# 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}
 
-# autoloads only runs when loaddefs.el is nonexistent, although it
-# generates a number of different files. Provide a force option to enable
-# regeneration of all these files.
+# autoloads always runs, but only updates when there's something new.
+# Provide a force option to enable regeneration of all loaddefs files.
 .PHONY: autoloads-force
 autoloads-force:
        rm -f $(lisp)/loaddefs.el
        $(MAKE) autoloads
 
 ldefs-boot.el: autoloads-force
-       cp  $(lisp)/loaddefs.el $(lisp)/ldefs-boot.el
+       sed '/^;; Local Variables:/a ;; no-byte-compile: t'\
+               < $(lisp)/loaddefs.el > $(lisp)/ldefs-boot.el
 
 # This is required by the bootstrap-emacs target in ../src/Makefile, so
 # we know that if we have an emacs executable, we also have a subdirs.el.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]