is implemented only on Windows, Linux, x86/x64 Solaris, Macintosh and FreeBSD. It controls whether the image saved is an executable or a dynamic library (DLL). If
, the delivered image is an executable. The value
is supported on Microsoft Windows only (see below). Otherwise
should be list (potentially
). In this case a dynamic library is saved, and each string in
names a function which becomes an export of the dynamic library and should be defined as a Lisp function using
. Each exported name can be found by
(on Windows) or
(on other platforms). The exported symbol is actually a stub which ensures that the LispWorks dynamic library has finished initializing, and then enters the Lisp code.
On Microsoft Windows
can also contain the keyword
can simply be the keyword
, both of which mean that the DLL is intended to be used as a COM server. See the
LispWorks COM/Automation User Guide and Reference Manual
To deliver a dynamic library on Linux/Macintosh/FreeBSD, the build machine must have a C compiler installed. This is typically
(which is available on the Macintosh by installing Xcode).
On Mac OS X the default behavior is to generate an object of type "Mach-O dynamically linked shared library" with file type dylib. See image-type below for information about creating another type of library on Mac OS X.
ON Microsoft Windows you can use
from the main application to load the DLL and
to find the address of the external names.
There is an example DLL delivery script in Delivering a dynamic library.
For more information about the behavior of LispWorks DLLs (dynamic libraries) see the chapter "LispWorks as a dynamic library" in the LispWorks User Guide and Reference Manual .
LispWorks Delivery User Guide - 13 Dec 2011