1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00

* Add `native-compile-target-directory' (bug#48743)

* lisp/emacs-lisp/comp.el (native-compile-target-directory): New
variable.
(comp-spill-lap-function): Make use of.
This commit is contained in:
Andrea Corallo 2021-06-01 17:17:42 +02:00
parent c4b02dad9b
commit a32e65b357

View File

@ -200,6 +200,9 @@ Emacs Lisp file:
\;; Local Variables:\n;; no-native-compile: t\n;; End:")
;;;###autoload(put 'no-native-compile 'safe-local-variable 'booleanp)
(defvar native-compile-target-directory nil
"When non-nil force the target directory for the eln files being compiled.")
(defvar comp-log-time-report nil
"If non-nil, log a time report for each pass.")
@ -1337,8 +1340,9 @@ clashes."
(unless (comp-ctxt-output comp-ctxt)
(setf (comp-ctxt-output comp-ctxt) (comp-el-to-eln-filename
filename
(when byte+native-compile
(car (last native-comp-eln-load-path))))))
(or native-compile-target-directory
(when byte+native-compile
(car (last native-comp-eln-load-path)))))))
(setf (comp-ctxt-speed comp-ctxt) (alist-get 'native-comp-speed
byte-native-qualities)
(comp-ctxt-debug comp-ctxt) (alist-get 'native-comp-debug
@ -4183,9 +4187,9 @@ Native compilation equivalent to `batch-byte-compile'."
"Like `batch-native-compile', but used for bootstrap.
Generate .elc files in addition to the .eln files.
Force the produced .eln to be outputted in the eln system
directory (the last entry in `native-comp-eln-load-path').
If the environment variable 'NATIVE_DISABLED' is set, only byte
compile."
directory (the last entry in `native-comp-eln-load-path') unless
`native-compile-target-directory' is non-nil. If the environment
variable 'NATIVE_DISABLED' is set, only byte compile."
(comp-ensure-native-compiler)
(if (equal (getenv "NATIVE_DISABLED") "1")
(batch-byte-compile)