]> git.eshelyaron.com Git - emacs.git/commitdiff
Provide feature nativecomp and make use of it
authorAndrea Corallo <akrl@sdf.org>
Sat, 10 Oct 2020 16:18:09 +0000 (18:18 +0200)
committerAndrea Corallo <akrl@sdf.org>
Sat, 10 Oct 2020 16:47:45 +0000 (18:47 +0200)
* lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use
`featurep' to identify if the native compiler is available.
* lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise.
* lisp/emacs-lisp/package.el (package--delete-directory): Likewise.
* lisp/loadup.el: Likewise.
* src/comp.c (syms_of_comp): Provide feature nativecomp.

lisp/emacs-lisp/comp.el
lisp/emacs-lisp/nadvice.el
lisp/emacs-lisp/package.el
lisp/loadup.el
src/comp.c

index d860fa31f0b4e16b27fb4e57f57975dafa1ba708..a4f2b6c36c7226f0a1b16513ed0a1be301e262f0 100644 (file)
@@ -422,7 +422,7 @@ CFG is mutated by a pass.")
 Raise an error otherwise.
 To be used by all entry points."
   (cond
-   ((null (boundp 'comp-ctxt))
+   ((null (featurep 'nativecomp))
     (error "Emacs not compiled with native compiler support (--with-nativecomp)"))
    ((null (native-comp-available-p))
     (error "Cannot find libgccjit"))))
index 039613258569d3363f828b15d1157fda6e89de3e..8b60c08440b0f468ee0f833c2e937ac65207eae3 100644 (file)
@@ -318,7 +318,7 @@ is also interactive.  There are 3 cases:
 
 ;;;###autoload
 (defun advice--add-function (where ref function props)
-  (when (and (boundp 'comp-ctxt)
+  (when (and (featurep 'nativecomp)
              (subr-primitive-p (gv-deref ref)))
     (let ((subr-name (intern (subr-name (gv-deref ref)))))
       ;; Requiring the native compiler to advice `macroexpand' cause a
index ac1396f88df640575dd46f02c2ed3b063d9f756c..c0125e64727eed22bd09e8eeb77c92564e5a8408 100644 (file)
@@ -2207,7 +2207,7 @@ If some packages are not installed propose to install them."
   "Delete DIR recursively.
 Clean-up the corresponding .eln files if Emacs is native
 compiled."
-  (when (boundp 'comp-ctxt)
+  (when (featurep 'nativecomp)
     (cl-loop
      for file in (directory-files-recursively dir ".el\\'")
      do (comp-clean-up-stale-eln (comp-el-to-eln-filename file))))
index 91126703d1804c359c82bf165a962f6dc60f5f15..827087f763c997f4118826198b9ebae21745d626 100644 (file)
@@ -449,7 +449,7 @@ lost after dumping")))
 ;; At this point, we're ready to resume undo recording for scratch.
 (buffer-enable-undo "*scratch*")
 
-(when (boundp 'comp-ctxt)
+(when (featurep 'nativecomp)
   ;; Fix the compilation unit filename to have it working when
   ;; when installed or if the source directory got moved.  This is set to be
   ;; a pair in the form: (rel-path-from-install-bin . rel-path-from-local-bin).
@@ -510,7 +510,7 @@ lost after dumping")))
                         ((equal dump-mode "bootstrap") "emacs")
                         ((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
                         (t (error "unrecognized dump mode %s" dump-mode)))))
-      (when (and (boundp 'comp-ctxt)
+      (when (and (featurep 'nativecomp)
                  (equal dump-mode "pdump"))
         ;; Don't enable this before bootstrap is completed the as the
         ;; compiler infrastructure may not be usable.
index 13343de3d88f7dc48a388e611ab2b0a069758f9e..0b5a49fd1f187a78d76f52d405cbb4fc1473f684 100644 (file)
@@ -5300,6 +5300,7 @@ The last directory of this list is assumed to be the system one.  */);
               doc: /* Hash table subr-name -> bool.  */);
   Vcomp_installed_trampolines_h = CALLN (Fmake_hash_table);
 
+  Fprovide (intern_c_string ("nativecomp"), Qnil);
 #endif /* #ifdef HAVE_NATIVE_COMP */
 
   defsubr (&Snative_comp_available_p);