See the LispWorks Delivery User Guide for more details of the changes mentioned in this section.
The :keep-modules
keyword argument to lw:deliver
now defaults to nil
, rather than (< *delivery-level* 1)
. We recommend using require
to load all modules before delivery.
The :split
keyword argument to hcl:save-image
and lw:deliver
now works for a Lisp dynamic library on all platforms (previously it only worked on Microsoft Windows). Using :split :resources
for a dynamic library on Mac OS X create a Resources directory adjacent to the dynamic library, as in a framework bundle.
The functions hcl:save-image
and lw:deliver
now take a keyword argument :dll-extra-link-options
, which allows extra arguments to be passed to the linker when making a dynamic library. This option has existed since LispWorks 6.0 but has not been documented until now.
During delivery of a dynamic library on Linux, LispWorks now links to specific versions of symbols in the C library. This makes it more likely that the library will work on older versions of Linux. Libraries created with previous versions of LispWorks would depend on the version of Linux used to deliver them.
Delivering LispWorks as a dynamic library to be loaded by Java is made simpler by the new function lw-ji:setup-deliver-dynamic-library-for-java
. Normally all you need to do is add a call lw-ji:setup-deliver-dynamic-library-for-java
without arguments before calling deliver
.
There is an example of this in:
(example-edit-file "java/lisp-as-dll/deliv-script")
The new function lw-ji:get-host-java-virtual-machine
returns the host Java virtual machine when it is called in a dynamic library that was delivered with a call setup-deliver-dynamic-library-for-java
, and the dynamic library was loaded by Java.
Applications using temporary files will now run on Macintosh computers with non-ASCII names.
LispWorks Release Notes and Installation Guide - 19 Oct 2017