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)