When true, causes the Lisp heap and the executable or dynamic library to be saved in two separate files.
If split is nil
(the default), then the saved image is written as a single file containing the Lisp heap. If split is t
, then the saved Lisp heap is split into a separate file, named by adding .lwheap
to the name (as specified by the argument file). When the executable or dynamic library runs, it reloads the Lisp heap from the .lwheap
file automatically.
In addition, when saving LispWorks on the Macintosh as an application bundle (for example by using create-macos-application-bundle
) or as a framework bundle, split can be the symbol :resources
. This places the Lisp heap file in the Resources
directory of the bundle, which allows the heap to be included in the bundle's signature. For an application bundle, the Resources
directory is in the Contents
directory alongside the MacOS
directory. For a framework bundle, the Resources
directory is alongside the shared library. The executable and Lisp heap file must be in these directories within the bundle at run time.
The main use of split is to allow third-party code signing to be applied to the executable or dynamic library, which is often not possible when saving an image with the Lisp heap included in a single file.
LispWorks Delivery User Guide - 10 Aug 2017