All Manuals > Delivery User Guide > 4 Delivering your Application

4.1 The delivery function: deliver

The function deliver is the main interface to the delivery tools. Its basic syntax is shown below:

deliver Function

deliver function file level &rest keywords

The following three arguments are required:

function
The name of the function that starts an executable application.
file

A string or pathname naming the file in which the delivered image should be saved.

On macOS, you may wish to create an application bundle containing your delivered image. For an example showing how to do this, see 13.3 Creating a macOS application bundle.

level

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.

For the complete syntax and description, see the reference entry for deliver.

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 5 Keywords to the Delivery Function. Additionally, they can been seen in the LispWorks image by calling:

(require "delivery")
(deliver-keywords)

Delivery User Guide - 01 Dec 2021 19:35:04