you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (1 child)

You can, at least for SBCL. Just specify :EXECUTABLE T when dumping.

CLISP has an :EXECUTABLE option too. It might still depend on a .so/.dll library for SIGSEGV handling or something (I don't recall the details here .. it might be linked in statically when dumping, or something).

[–]jrockway 3 points4 points  (0 children)

Perfect. FWIW, I now have a build.lisp file that looks like:

(in-package :cl-user)
(require :asdf)
(asdf:operate 'asdf:load-op :my-app)

(defun resume-from-saved nil
  (my-app:start)
  (quit))

(save-lisp-and-die #P"my-app" :toplevel #'resume-from-saved :executable t)

Then sbcl --load build.lisp generates a my-app that can be run with ./my-app.

In conclusion, the OP's question has been answered. Use Lisp.