Mercurial > demo / tools/build-image.lisp
changeset 26: |
2015d7277629 |
child: |
1ef551e24009 |
author: |
ellis <ellis@rwest.io> |
date: |
Mon, 05 Jun 2023 19:59:26 -0400 |
permissions: |
-rw-r--r-- |
description: |
refactor 01 |
3 (load "tools/prepare-image.lisp") 5 (defvar *image-load-hook-contents* (uiop:read-file-string "tools/init.lisp")) 6 (defvar *hook-loaded-p* nil) 8 (defun image-load-hook () 9 ;; On MacOS, the TMPDIR variable can change between sessions. 10 (uiop:setup-temporary-directory) 15 ;; If we used this image to deliver another image, we don't 16 ;; want to load the same hook twice 17 (unless *hook-loaded-p* 18 (load (make-string-input-stream *image-load-hook-contents*)) 19 (setf *hook-loaded-p* t))) 21 (compile 'image-load-hook) 24 (pushnew 'image-load-hook sb-ext:*init-hooks*) 26 (format t "Got command line arguments: ~S" (uiop:raw-command-line-arguments)) 32 (sb-ext:save-lisp-and-die 35 #+win32 :type #+win32 "exe" 36 :defaults #P"build/sbcl-console")) 40 (defun ccl-toplevel-function () 42 (let ((file (cadr ccl:*command-line-argument-list*))) 44 (load file :verbose t) 46 (print (eval (read))))))) 50 (ccl:save-application "build/ccl-console" 51 :toplevel-function 'ccl-toplevel-function)