common-lisp Creating Binaries Building Buildapp


Example

Standalone Common Lisp binaries can be built with buildapp. Before we can use it to generate binaries, we need to install and build it.

The easiest way I know how is using quicklisp and a Common Lisp (this example uses [sbcl], but it shouldn't make a difference which one you've got).

$ sbcl

This is SBCL 1.3.5.nixos, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.

* (ql:quickload :buildapp)
To load "buildapp":
  Load 1 ASDF system:
    buildapp
; Loading "buildapp"

(:BUILDAPP)

* (buildapp:build-buildapp)
;; loading system "buildapp"
[undoing binding stack and other enclosing state... done]
[saving current Lisp image into /home/inaimathi/buildapp:
writing 4800 bytes from the read-only space at 0x20000000
writing 3216 bytes from the static space at 0x20100000
writing 47349760 bytes from the dynamic space at 0x1000000000
done]
NIL

* (quit)

$ ls -lh buildapp 
-rwxr-xr-x 1 inaimathi inaimathi 46M Aug 13 20:12 buildapp
$

Once you have that binary built, you can use it to construct binaries of your Common Lisp programs. If you intend to do this a lot, you should also probably put it somewhere on your PATH so that you can just run it with buildapp from any directory.