;; In case it's created in the meanwhile.
(ignore-error 'file-already-exists
(make-directory dir t)))
- (unless comp-dry-run
- (comp--compile-ctxt-to-file name))))
+ (comp--compile-ctxt-to-file name)))
(defun comp-final1 ()
(let (compile-result)
(defun comp-final (_)
"Final pass driving the C back-end for code emission."
- (if noninteractive
- (comp-final1)
- ;; Call comp-final1 in a child process.
- (let* ((output (comp-ctxt-output comp-ctxt))
- (print-escape-newlines t)
- (print-length nil)
- (print-level nil)
- (print-quoted t)
- (print-gensym t)
- (print-circle t)
- (expr `(progn
- (require 'comp)
- (setf comp-speed ,comp-speed
- comp-debug ,comp-debug
- comp-verbose ,comp-verbose
- comp-ctxt ,comp-ctxt
- comp-eln-load-path ',comp-eln-load-path
- comp-native-driver-options
- ',comp-native-driver-options
- load-path ',load-path)
- ,comp-async-env-modifier-form
- (message "Compiling %s..." ',output)
- (comp-final1)))
- (temp-file (make-temp-file
- (concat "emacs-int-comp-"
- (file-name-base output) "-")
- nil ".el")))
- (with-temp-file temp-file
- (insert (prin1-to-string expr)))
- (with-temp-buffer
- (unwind-protect
- (if (zerop
- (call-process (expand-file-name invocation-name
- invocation-directory)
- nil t t "--batch" "-l" temp-file))
- output
- (signal 'native-compiler-error (buffer-string)))
- (comp-log-to-buffer (buffer-string)))))))
+ (unless comp-dry-run
+ (if noninteractive
+ (comp-final1)
+ ;; Call comp-final1 in a child process.
+ (let* ((output (comp-ctxt-output comp-ctxt))
+ (print-escape-newlines t)
+ (print-length nil)
+ (print-level nil)
+ (print-quoted t)
+ (print-gensym t)
+ (print-circle t)
+ (expr `(progn
+ (require 'comp)
+ (setf comp-speed ,comp-speed
+ comp-debug ,comp-debug
+ comp-verbose ,comp-verbose
+ comp-ctxt ,comp-ctxt
+ comp-eln-load-path ',comp-eln-load-path
+ comp-native-driver-options
+ ',comp-native-driver-options
+ load-path ',load-path)
+ ,comp-async-env-modifier-form
+ (message "Compiling %s..." ',output)
+ (comp-final1)))
+ (temp-file (make-temp-file
+ (concat "emacs-int-comp-"
+ (file-name-base output) "-")
+ nil ".el")))
+ (with-temp-file temp-file
+ (insert (prin1-to-string expr)))
+ (with-temp-buffer
+ (unwind-protect
+ (if (zerop
+ (call-process (expand-file-name invocation-name
+ invocation-directory)
+ nil t t "--batch" "-l" temp-file))
+ output
+ (signal 'native-compiler-error (buffer-string)))
+ (comp-log-to-buffer (buffer-string))))))))
\f
;;; Compiler type hints.