mirror of
https://gitlab.com/vindarel/ciel.git
synced 2025-12-05 18:20:34 -08:00
37 lines
1.6 KiB
Common Lisp
37 lines
1.6 KiB
Common Lisp
;;;
|
|
;;; Extra config to build the binary,
|
|
;;; stuff that doesn't need to be in the .asd
|
|
;;; (and would be harmful to be there).
|
|
;;;
|
|
|
|
;; We want to configure cl+ssl for the Deploy binary,
|
|
;; and we need to load cl+ssl before we can load this config.
|
|
;; If it was in the .asd, we would have to load cl+ssl before being able
|
|
;; to load the .asd file, which is annoying
|
|
;; (it impeds loading CIEL in the REPL with a usual load-asd (C-c C-k)
|
|
;; and complicates Ultralisp or Quicklisp distribution).
|
|
;;
|
|
;; So, we need cl+ssl to build the binary with asdf:make
|
|
;; See also the Makefile that quickloads cl+ssl already (maybe this below isn't
|
|
;; required any more?)
|
|
(unless (find-package :cl+ssl)
|
|
(warn "Loading build-config.lisp: we don't find the package CL+SSL. You need to install it before loading this config file and building CIEL's binary. Let's install it with Quicklisp now.~&")
|
|
(ql:quickload "cl+ssl"))
|
|
(require "cl+ssl")
|
|
|
|
;; Don't ship libssl, rely on the target OS'.
|
|
#+linux (deploy:define-library cl+ssl::libssl :dont-deploy T)
|
|
#+linux (deploy:define-library cl+ssl::libcrypto :dont-deploy T)
|
|
|
|
;; Use compression: from 114M, 0.02s startup time to 27M and 0.42s (SBCL 2.0.10).
|
|
#+sb-core-compression
|
|
(defmethod asdf:perform ((o asdf:image-op) (c asdf:system))
|
|
(uiop:dump-image (asdf:output-file o c) :executable t :compression t))
|
|
|
|
;; Even with the binary, ASDF wants to update itself and crashes
|
|
;; if it doesn't find an ASDF directory, like on a user's system.
|
|
;; Thanks again to Shinmera.
|
|
(deploy:define-hook (:deploy asdf) (directory)
|
|
(declare (ignorable directory))
|
|
#+asdf (asdf:clear-source-registry)
|
|
#+asdf (defun asdf:upgrade-asdf () nil))
|