Skip to content

Commit

Permalink
Revert "Speed generation of ldefs-boot-auto"
Browse files Browse the repository at this point in the history
This reverts commit 7b5e1c8.

This commit has been reverted because the new mechanism was too
sensitive to changes in the lisp source, generation of new ldefs-boot
files was platform specific and resulted in warnings about undefined
variables.

See also 11436e2890d.
  • Loading branch information
phillord committed Mar 7, 2017
1 parent 11436e2 commit 8f58747
Show file tree
Hide file tree
Showing 5 changed files with 69 additions and 36 deletions.
17 changes: 14 additions & 3 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -1186,6 +1186,17 @@ check-declare:
fi
$(MAKE) -C lisp $@

generate-ldefs-boot:
echo "Generating ldefs-boot-auto.el"
$(MAKE) -C src generate-ldefs-boot
## 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
5 changes: 4 additions & 1 deletion admin/ldefs-clean.el
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
;; We need to record autoloads till the point that emacs (as opposed
;; to bootstrap-emacs) is dumped. After this point, we are not
;; bootstrapping any more.
(search-backward "-l loadup dump")
(beginning-of-line)
(delete-region (point) (point-max))
(keep-lines "(autoload" (point-min) (point-max))
(sort-lines nil (point-min) (point-max))
(ldefs-clean-uniquify-buffer-lines)
Expand All @@ -57,6 +60,6 @@


(defun ldefs-clean ()
(find-file "../lisp/ldefs-boot-auto.temp")
(find-file "lisp/ldefs-boot-auto.temp")
(ldefs-clean-up)
(write-file "ldefs-boot-auto.el"))
3 changes: 0 additions & 3 deletions lisp/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -285,9 +285,6 @@ $(THEFILE)c:

compile-first: loaddefs.el $(COMPILE_FIRST)

compile-first-delete:
-for f in ${COMPILE_FIRST}; do test ! -f $$f || rm $$f; done

# In 'compile-main' we could directly do
# ... | xargs $(MAKE)
# and it works, but it generates a lot of messages like
Expand Down
55 changes: 49 additions & 6 deletions lisp/ldefs-boot-auto.el
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,36 @@
(autoload 'Info-directory "info" nil nil nil)
(autoload 'Info-index "info" nil nil nil)
(autoload 'View-exit-and-edit "view" nil nil nil)
(autoload 'add-change-log-entry "add-log" nil nil nil)
(autoload 'add-log-current-defun "add-log" nil nil nil)
(autoload 'batch-byte-compile "bytecomp" nil nil nil)
(autoload 'batch-update-autoloads "autoload" nil nil nil)
(autoload 'bounds-of-thing-at-point "thingatpt" nil nil nil)
(autoload 'browse-url "browse-url" nil nil nil)
(autoload 'buffer-face-mode "face-remap" nil nil nil)
(autoload 'byte-compile "bytecomp" nil nil nil)
(autoload 'byte-compile-disable-warning "bytecomp" nil nil nil)
(autoload 'byte-compile-enable-warning "bytecomp" nil nil nil)
(autoload 'byte-compile-file "bytecomp" nil nil nil)
(autoload 'byte-compile-inline-expand "byte-opt" nil nil nil)
(autoload 'byte-compile-unfold-lambda "byte-opt" nil nil nil)
(autoload 'byte-optimize-form "byte-opt" nil nil nil)
(autoload 'byte-optimize-lapcode "byte-opt" nil nil nil)
(autoload 'byte-recompile-directory "bytecomp" nil nil nil)
(autoload 'char-displayable-p "mule-util" nil nil nil)
(autoload 'cl-member "cl-seq" nil nil nil)
(autoload 'cl-position "cl-seq" nil nil nil)
(autoload 'color-name-to-rgb "color" nil nil nil)
(autoload 'comint-redirect-results-list-from-process "comint" nil nil nil)
(autoload 'comint-redirect-send-command-to-process "comint" nil nil nil)
(autoload 'compilation-mode "compile" nil nil nil)
(autoload 'compilation-shell-minor-mode "compile" nil nil nil)
(autoload 'compilation-start "compile" nil nil nil)
(autoload 'completing-read-multiple "crm" nil nil nil)
(autoload 'conf-mode "conf-mode" nil nil nil)
(autoload 'create-glyph "disp-table" nil nil nil)
(autoload 'create-image "image" nil nil nil)
(autoload 'cursor-sensor-mode "cursor-sensor" nil nil nil)
(autoload 'custom-save-all "cus-edit" nil nil nil)
(autoload 'customize-face "cus-edit" nil nil nil)
(autoload 'customize-group "cus-edit" nil nil nil)
(autoload 'customize-option "cus-edit" nil nil nil)
(autoload 'customize-push-and-save "cus-edit" nil nil nil)
Expand All @@ -41,26 +49,46 @@
(autoload 'describe-function-1 "help-fns" nil nil nil)
(autoload 'describe-package "package" nil nil nil)
(autoload 'describe-variable "help-fns" nil nil nil)
(autoload 'desktop-save "desktop" nil nil nil)
(autoload 'diff-mode "diff-mode" nil nil nil)
(autoload 'dired "dired" nil nil nil)
(autoload 'dired-copy-file "dired-aux" nil nil nil)
(autoload 'dired-goto-subdir "dired-aux" nil nil nil)
(autoload 'dired-hide-subdir "dired-aux" nil nil nil)
(autoload 'dired-insert-subdir "dired-aux" nil nil nil)
(autoload 'dired-kill-subdir "dired-aux" nil nil nil)
(autoload 'dired-mark-subdir-files "dired-aux" nil nil nil)
(autoload 'dired-mode "dired" nil nil nil)
(autoload 'dired-noselect "dired" nil nil nil)
(autoload 'dired-query "dired-aux" nil nil nil)
(autoload 'dired-rename-file "dired-aux" nil nil nil)
(autoload 'display-call-tree "bytecomp" nil nil nil)
(autoload 'display-table-slot "disp-table" nil nil nil)
(autoload 'display-warning "warnings" nil nil nil)
(autoload 'easy-menu-create-menu "easymenu" nil nil nil)
(autoload 'easy-menu-do-define "easymenu" nil nil nil)
(autoload 'edebug-basic-spec "edebug" nil nil nil)
(autoload 'ediff-patch-file "ediff" nil nil nil)
(autoload 'edit-kbd-macro "edmacro" nil nil nil)
(autoload 'extract-rectangle "rect" nil nil nil)
(autoload 'find-definition-noselect "find-func" nil nil nil)
(autoload 'find-function-search-for-symbol "find-func" nil nil nil)
(autoload 'find-lisp-object-file-name "help-fns" nil nil nil)
(autoload 'find-variable-noselect "find-func" nil nil nil)
(autoload 'format-kbd-macro "edmacro" nil nil nil)
(autoload 'goto-address-mode "goto-addr" nil nil nil)
(autoload 'grep-compute-defaults "grep" nil nil nil)
(autoload 'help-C-file-name "help-fns" nil nil nil)
(autoload 'help-buffer "help-mode" nil nil nil)
(autoload 'help-insert-xref-button "help-mode" nil nil nil)
(autoload 'help-make-xrefs "help-mode" nil nil nil)
(autoload 'help-mode "help-mode" nil nil nil)
(autoload 'help-setup-xref "help-mode" nil nil nil)
(autoload 'help-with-tutorial "tutorial" nil nil nil)
(autoload 'help-xref-button "help-mode" nil nil nil)
(autoload 'hi-lock-face-buffer "hi-lock" nil nil nil)
(autoload 'html-mode "sgml-mode" nil nil nil)
(autoload 'image-type "image" nil nil nil)
(autoload 'image-type-auto-detected-p "image" nil nil nil)
(autoload 'image-type-available-p "image" nil nil nil)
(autoload 'image-type-from-buffer "image" nil nil nil)
(autoload 'image-type-from-data "image" nil nil nil)
Expand All @@ -74,29 +102,42 @@
(autoload 'insert-rectangle "rect" nil nil nil)
(autoload 'isearch-process-search-multibyte-characters "isearch-x" nil nil nil)
(autoload 'jka-compr-uninstall "jka-compr" nil nil nil)
(autoload 'log-edit "log-edit" nil nil nil)
(autoload 'log-view-mode "log-view" nil nil nil)
(autoload 'lookup-nested-alist "mule-util" nil nil nil)
(autoload 'make-display-table "disp-table" nil nil nil)
(autoload 'make-glyph-code "disp-table" nil nil nil)
(autoload 'multi-isearch-buffers "misearch" nil nil nil)
(autoload 'multi-isearch-buffers-regexp "misearch" nil nil nil)
(autoload 'multi-isearch-files "misearch" nil nil nil)
(autoload 'multi-isearch-files-regexp "misearch" nil nil nil)
(autoload 'nxml-mode "nxml-mode" nil nil nil)
(autoload 'open-network-stream "network-stream" nil nil nil)
(autoload 'package-initialize "package" nil nil nil)
(autoload 'parse-time-string "parse-time" nil nil nil)
(autoload 'pp "pp" nil nil nil)
(autoload 'pp-buffer "pp" nil nil nil)
(autoload 'print-buffer "lpr" nil nil nil)
(autoload 'quail-defrule "quail" nil nil nil)
(autoload 'quail-defrule-internal "quail" nil nil nil)
(autoload 'read-kbd-macro "edmacro" nil nil nil)
(autoload 'regexp-opt "regexp-opt" nil nil nil)
(autoload 'regexp-opt-depth "regexp-opt" nil nil nil)
(autoload 'rx "rx" nil nil t)
(autoload 'seconds-to-string "time-date" nil nil nil)
(autoload 'seconds-to-time "time-date" nil nil nil)
(autoload 'server-save-buffers-kill-terminal "server" nil nil nil)
(autoload 'server-start "server" nil nil nil)
(autoload 'set-nested-alist "mule-util" nil nil nil)
(autoload 'skeleton-insert "skeleton" nil nil nil)
(autoload 'smerge-mode "smerge-mode" nil nil nil)
(autoload 'smerge-start-session "smerge-mode" nil nil nil)
(autoload 'standard-display-8bit "disp-table" nil nil nil)
(autoload 'standard-display-default "disp-table" nil nil nil)
(autoload 'tags-query-replace "etags" nil nil nil)
(autoload 'tags-search "etags" nil nil nil)
(autoload 'text-scale-increase "face-remap" nil nil nil)
(autoload 'thing-at-point "thingatpt" nil nil nil)
(autoload 'time-to-days "time-date" nil nil nil)
(autoload 'timezone-make-date-arpa-standard "timezone" nil nil nil)
(autoload 'tmm-menubar "tmm" nil nil nil)
(autoload 'tool-bar-add-item-from-menu "tool-bar" nil nil nil)
(autoload 'truncate-string-to-width "mule-util" nil nil nil)
Expand All @@ -108,16 +149,18 @@
(autoload 'ucs-normalize-NFKD-region "ucs-normalize" nil nil nil)
(autoload 'url-handler-mode "url-handlers" nil nil nil)
(autoload 'variable-at-point "help-fns" nil nil nil)
(autoload 'vc-register "vc" nil nil nil)
(autoload 'vc-responsible-backend "vc" nil nil nil)
(autoload 'vc-transfer-file "vc" nil nil nil)
(autoload 'view-buffer "view" nil nil nil)
(autoload 'view-buffer-other-window "view" nil nil nil)
(autoload 'view-file "view" nil nil nil)
(autoload 'view-mode "view" nil nil nil)
(autoload 'view-mode-enter "view" nil nil nil)
(autoload 'visit-tags-table "etags" nil nil nil)
(autoload 'warn "warnings" nil nil nil)
(autoload 'wdired-change-to-wdired-mode "wdired" nil nil nil)
(autoload 'widget-value "wid-edit" nil nil nil)
(autoload 'with-coding-priority "mule-util" nil nil t)
;; Local Variables:
;; no-byte-compile: t
;; no-update-autoloads: t
Expand Down
25 changes: 2 additions & 23 deletions src/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -761,30 +761,9 @@ endif
@: Compile some files earlier to speed up further compilation.
$(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"

shortlisp-keep=loadup.el loaddefs.el

## Generating ldefs-boot-auto.el requires that we dump both emacs and
## the bootstrap-emacs so that we can see which autoloads are actually
## called. This is a slightly messy affair as we must ensure that
## they are build as if from clean, which means deleting all the build
## files first. We use loaddefs.el to make sure that we can build
## from bootstrap; obviously, this assumes that loaddefs.el already
## exists or we have a bootstrap problem!
generate-ldefs-boot: $(lispsource)/loaddefs.el
echo Cleaning to enable generate-ldefs-boot
mv $(lispsource)/loaddefs.el $(lispsource)/ldefs-boot-auto.el
$(MAKE) -C $(lispsource) compile-first-delete
-for f in $(filter-out $(shortlisp-keep), $(shortlisp)); do test -e $(lispsource)/$$f && rm -v $(lispsource)/$$f; done
- rm bootstrap-emacs$(EXEEXT)
- rm emacs$(EXEEXT)
echo Building generate-ldefs-boot
$(MAKE) -j 1 emacs$(EXEEXT) \
GENERATE_LDEFS_BOOT="generate-ldefs-boot" \
2>&1 | tee $(lispsource)/ldefs-boot-auto.temp
echo Reformatting ldefs-boot-auto.el
emacs$(EXEEXT) -batch --load ../admin/ldefs-clean.el --funcall ldefs-clean
rm ../lisp/ldefs-boot-auto.temp

generate-ldefs-boot: bootstrap-emacs$(EXEEXT)
$(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap

ifeq ($(AUTO_DEPEND),yes)
-include $(ALLOBJS:%.o=${DEPDIR}/%.d)
Expand Down

0 comments on commit 8f58747

Please sign in to comment.