spacemacs/core/core-compilation.el

48 lines
1.4 KiB
EmacsLisp
Raw Normal View History

2021-01-18 14:26:45 +00:00
;;; core-compilation.el --- Spacemacs Core File
;;
;; Copyright (c) 2012-2021 Sylvain Benner & Contributors
;;
;; Author: Eugene "JAremko" Yaremenko <w3techplayground@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(defconst spacemacs-compiled-files
'(;; Built-in libs that we changed
"core/libs/forks/load-env-vars.el"
;; Rest of built-in libs.
2021-01-25 01:06:28 +00:00
"core/libs/packed.el"
"core/libs/auto-compile.el"
2021-01-18 14:26:45 +00:00
"core/libs/dash.el"
"core/libs/ht.el"
"core/libs/ido-vertical-mode.el"
"core/libs/package-build-badges.el"
"core/libs/package-build.el"
"core/libs/package-recipe-mode.el"
"core/libs/page-break-lines.el"
"core/libs/quelpa.el"
"core/libs/spinner.el")
"List of Spacemacs files that should be compiled.
2021-01-24 13:44:57 +00:00
File paths are relative to the `spacemacs-start-directory'.")
2021-01-18 14:26:45 +00:00
2021-01-20 00:55:18 +00:00
(defun spacemacs//ensure-byte-compilation (files)
"Make sure that elisp FILES are byte-compiled."
2021-01-18 14:26:45 +00:00
(dolist (file files)
2021-01-20 00:55:18 +00:00
(let ((fbp (file-name-sans-extension (file-truename file))))
(unless (file-exists-p (concat fbp ".elc"))
(byte-compile-file (concat fbp ".el"))))))
2021-01-18 14:26:45 +00:00
2021-01-25 01:06:28 +00:00
(defun spacemacs//remove-byte-compiled-files (files)
"Remove .elc files corresponding to the source FILES."
(dolist (file files)
(thread-last file
(file-truename)
(file-name-sans-extension)
(format "%s.elc")
(delete-file))))
2021-01-18 14:26:45 +00:00
(provide 'core-compilation)