For near instant startup you can save an image. Since saving C++ instances is not supported, it is best to save the image immediately after loading the packages.
Initializing the Smoke bindings when the image is loaded is implementation dependent. It is implemented for SBCL and Clozure CL.
To save an image in SBCL you can use:
sb-ext:save-lisp-and-die
To create a bundle containing an SBCL image and the required C wrappers libraries you can use
smoke:save-bundle
.
The bundle is created using makeself.
See
make-bundle.sh in :qt.examples for an example.
To save an image in CCL
ccl:save-application
is usually used.
To allow the image to find the C wrapper libraries, they have to be installed with:
sudo make install
run in the smoke/
and qt/
directory.