emacs-diffs
[Top][All Lists]
Advanced

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

feature/native-comp 2dae7e1 02/11: Add system-configuration in the compi


From: Andrea Corallo
Subject: feature/native-comp 2dae7e1 02/11: Add system-configuration in the compilation output path
Date: Wed, 4 Mar 2020 12:08:30 -0500 (EST)

branch: feature/native-comp
commit 2dae7e1b697fef389e8e193d60ef799e2b3b09b4
Author: AndreaCorallo <address@hidden>
Commit: AndreaCorallo <address@hidden>

    Add system-configuration in the compilation output path
---
 lisp/emacs-lisp/comp.el | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)

diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index e14f350..c3e797b 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2014,9 +2014,12 @@ Update all insn accordingly."
 (defun comp-compile-ctxt-to-file (name)
   "Compile as native code the current context naming it NAME.
 Prepare every function for final compilation and drive the C back-end."
-  (comp-finalize-relocs)
-  (unless comp-dry-run
-    (comp--compile-ctxt-to-file name)))
+  (let ((dir (file-name-directory name)))
+    (comp-finalize-relocs)
+    (unless (file-exists-p dir)
+      (make-directory dir))
+    (unless comp-dry-run
+      (comp--compile-ctxt-to-file name))))
 
 (defun comp-final (_)
   "Final pass driving the C back-end for code emission."
@@ -2118,9 +2121,17 @@ Return the compilation unit file name."
   (let ((data input)
         (comp-native-compiling t)
         (comp-ctxt (make-comp-ctxt
-                    :output (if (symbolp input)
-                                (make-temp-file (concat (symbol-name input) 
"-"))
-                              (file-name-sans-extension (expand-file-name 
input))))))
+                    :output
+                    (if (symbolp input)
+                        (make-temp-file (concat (symbol-name input) "-"))
+                      (let ((exp-file (expand-file-name input)))
+                        (concat
+                         (file-name-as-directory
+                          (concat
+                           (file-name-directory exp-file)
+                           system-configuration))
+                         (file-name-sans-extension
+                          (file-name-nondirectory exp-file))))))))
     (comp-log "\n\n" 1)
     (condition-case err
         (mapc (lambda (pass)



reply via email to

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