The function
deliver
is the main interface to the delivery tools. Its basic syntax is shown below:
Signature:
deliver
function
file
level
&rest
keywords
The following three arguments are required:
The name of the function that starts an executable application.
A string or pathname naming the file in which the delivered image should be saved.
The file extension
.exe
or
.dll
is appended to executables or DLLs delivered on Microsoft Windows.
If the delivery keyword :split is true then a second file containing the Lisp heap is created.
On Mac OS X, you may wish to create an application bundle containing your delivered image. For an example showing how to do this, see Creating a Mac OS X application bundle.
An integer specifying the delivery level .
This is a measure of how much work Delivery does to reduce the size of the image. It must be an integer in the range 0 to 5. Level 5 is the most severe, while the least work on image reduction is done at level 0.
The most important
keywords
arguments are :interface and :multiprocessing. If your application uses the CAPI, you must pass
:interface
:capi
. If your application does not use the CAPI, but does use multiprocessing, then you must pass
:multiprocessing
t
. Your first attempt to deliver your application should use no more than these keywords.
In addition, a variety of other keywords can be passed to
deliver
. These are for fine-tuning by controlling aspects of delivery explicitly. Add more keywords only when you find that you need them.
All the
deliver
keywords are documented in Keywords to the Delivery Function. Additionally, they can been seen in the LispWorks image by calling:
(require "delivery")
(deliver-keywords)
deliver
checks that
load-all-patches
has been called. If
load-all-patches
has not been called in the session, then
deliver
signals an error.
LispWorks Delivery User Guide - 13 Dec 2011