First you will need a script which loads your application code and then calls deliver
. Delivery scripts are described in detail in the
LispWorks Delivery User Guide
. If you do not already have a delivery script, the Application Builder can help you to create a simple script, which you can modify as needed.
It is also possible to use the Application Builder with a script that calls save-image
rather than deliver
.
The delivery script is a Lisp source file, which at a minimum loads patches and your application code, and then calls deliver
. The script may do other things, such as configuring your application, though in general you should try to keep it as simple as possible.
If you already have an appropriate delivery script (because you already delivered your application before), click the button to the right of the Build script pane and select your script file. The Application Builder now displays the path to your script in its Build script pane.
Suppose that you already have a file compile-and-load-my-app.lisp
that you use to compile and load your application. Then you can create a suitable delivery script with the help of the Application Builder.
To create the new delivery script:
This displays a dialog as shown in The New Delivery script dialog.
compile-and-load-my-app.lisp
in the Loading script pane. You can use the
button to locate the file.deliver
arguments. Note: Level defaults to 0, which is a good choice the first time you deliver your application. You will probably want to increase the Delivery level later, for reasons explained in the LispWorks Delivery User Guide .
Figure 28.2 The New Delivery script dialog
The Application Builder now displays the path to the new script in its Build script pane. The new script will load patches, load your file, and then call deliver
, something like this:
(in-package "CL-USER")
(load-all-patches)
(load "compile-and-load-my-app")
(deliver 'my-start-function "my-app" 0)
Note: the script will be more complex for Cocoa applications.
Note: your delivery script should load all the code needed for the application. Do not rely on your personal initialization or siteinit files (which are ordinarily loaded into LispWorks), because these initialization files will not be used when building the application.
LispWorks IDE User Guide (Macintosh version) - 13 Sep 2017