From: Andrea Corallo Date: Sat, 21 Mar 2020 14:11:41 +0000 (+0000) Subject: Have a fast build option triggered by env var NATIVE_FAST_BOOT X-Git-Tag: emacs-28.0.90~2727^2~755 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e05a62a968e688533f014ac556a8b32662b32ed3;p=emacs.git Have a fast build option triggered by env var NATIVE_FAST_BOOT --- diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 8ba619656d8..035720b49b7 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -351,9 +351,11 @@ compile-main: gen-lisp compile-clean GREP_OPTIONS= grep '^;.*[^a-zA-Z]no-byte-compile: *t' $$el > /dev/null && \ continue; \ echo "$${el}c"; \ - done | xargs $(XARGS_LIMIT) echo) | \ - while read chunk; do \ - $(MAKE) compile-targets TARGETS="$$chunk"; \ + done | xargs $(XARGS_LIMIT) echo) | \ + while read chunk; do \ + $(MAKE) compile-targets \ + NATIVE_DISABLE=$(NATIVE_FAST_BOOT) \ + TARGETS="$$chunk"; \ done .PHONY: native-compile-clean diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 1e348c065b5..a316d741a26 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2234,16 +2234,18 @@ Ultra cheap impersonation of `batch-byte-compile'." (defun batch-byte-native-compile-for-bootstrap () "As `batch-byte-compile' but used for booststrap. Always generate elc files too and handle native compiler expected errors." - (let ((byte-native-for-bootstrap t) - (byte-to-native-output-file nil)) - (unwind-protect - (condition-case _ - (batch-native-compile) - (native-compiler-error-dyn-func) - (native-compiler-error-empty-byte)) - (pcase byte-to-native-output-file - (`(,tempfile . ,target-file) - (rename-file tempfile target-file t)))))) + (if (equal (getenv "NATIVE_DISABLE") "1") + (batch-byte-compile) + (let ((byte-native-for-bootstrap t) + (byte-to-native-output-file nil)) + (unwind-protect + (condition-case _ + (batch-native-compile) + (native-compiler-error-dyn-func) + (native-compiler-error-empty-byte)) + (pcase byte-to-native-output-file + (`(,tempfile . ,target-file) + (rename-file tempfile target-file t))))))) ;;;###autoload (defun native-compile-async (paths &optional recursively load)