sbcl can produce standalone binaries - clic - Clic is an command line interactive client for gopher written in Common LISP HTML git clone git://bitreich.org/clic/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/clic/ DIR Log DIR Files DIR Refs DIR Tags DIR README DIR LICENSE --- DIR commit 6d56c6a8bd6e69ad1bda2c38c6b90f3540744a41 DIR parent 7df60569856d96cad4f4765710128b163484d74b HTML Author: Solene Rapenne <solene@perso.pw> Date: Fri, 3 Nov 2017 17:03:55 +0000 sbcl can produce standalone binaries Diffstat: M make-binary.lisp | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) --- DIR diff --git a/make-binary.lisp b/make-binary.lisp @@ -1,12 +1,24 @@ +;; ecl produces a linked binary +;; while sbcl produces a static binary (but huge ~ 10Mb) + +#+ecl (require 'cmp) +#+ecl (require 'sockets) - -(loop for file in '("clic" "clic.o") - do (and (probe-file file) (delete-file file))) - -(compile-file "clic.lisp" :system-p t) -(c:build-program "clic" :lisp-files '("clic.o")) -(delete-file "clic.o") +#+ecl +(progn + (compile-file "clic.lisp" :system-p t) + (c:build-program "clic" :epilogue-code '(progn (start)) :lisp-files '("clic.o"))) + ;;(c:build-program "clic" :lisp-files '("clic.o"))) +#+sbcl +(progn + (require 'sb-bsd-sockets) + (sb-ext:disable-debugger) + (load "clic.lisp") + (sb-ext:save-lisp-and-die "clic" + :executable t + :compression 5 + :toplevel 'start)) (format t "INFO => Compilation done (or at least it should)~%") (quit)