All Manuals > LispWorks Delivery User Guide > 16 Delivery Reference Entries

NextPrevUpTopContentsIndex

deliver

Function
Summary

Creates LispWorks executable applications and dynamic libraries.

Package

lispworks

Signature

deliver function file level &rest keywords

Arguments

function

A symbol.

file

A string or pathname.

level

An integer in the inclusive range [0, 5].

keywords

Keyword arguments described in full in Keywords to the Delivery Function.

Description

The function deliver is the main interface to the delivery tools. You use it to create LispWorks executable applications and dynamic libraries.

The first three arguments are required.

If you are creating an executable application, function should name a function of no arguments. This function will be called on startup of the executable. If you are creating a dynamic library, function should be nil.

file names the file in which the delivered image should be saved. The file extension .exe is appended to executables delivered on Microsoft Windows. For dynamic libraries, a file extension is appended as follows:

Microsoft Windows

.dll

Mac OS X

.dylib

Other Unix-like systems

.so

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.

level specifies the delivery level which is a measure of how much work Delivery does to reduce the size of the image. level 5 is the most severe. The least work on image reduction is done at level 0.

The most important keywords arguments are :interface and :multiprocessing. If your application uses 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.

Notes

For information about invoking deliver using the IDE, see "The Application Builder" in the LispWorks IDE User Guide .

See also

deliver-keywords
Keywords to the Delivery Function
deliver in the LispWorks User Guide and Reference Manual
delivered-image-p in the LispWorks User Guide and Reference Manual
save-image in the LispWorks User Guide and Reference Manual

 


LispWorks Delivery User Guide - 10 Aug 2017

NextPrevUpTopContentsIndex