All Manuals > Release Notes and Installation Guide > 12 Release Notes

12.3 Platform support

12.3.1 LispWorks for Macintosh supports Apple silicon Macs natively

LispWorks for Macintosh now supports Apple silicon based Macs natively using the arm64 architecture. The supplied images are now universal binaries.

12.3.2 LispWorks for Macintosh is always 64-bit

LispWorks for Macintosh is only released as a 64-bit application now because Apple have dropped support for 32-bit applications since macOS, 10.15 Catalina.

12.3.3 Runtimes for Android

LispWorks for Android Runtime supports 64-bit ARM devices now (the arm64-v8a ABI), as well as x86 and x86_64 devices (designed mainly for the Android Emulator when running on a computer with an Intel CPU).

The example script run-lw-android.sh now builds 4 images: 32-bit and 64-bit for each of ARM and x86.

Support for Android SDK 23 "text relocations" has been added.

The function hcl:deliver-to-android-project now supports Android Studio 3 and no longer supports Eclipse. The :using-ndk keyword has been removed.

The classes in the com.lispworks Java package are now provided by the lispworks.aar file that distributed with LispWorks. In previous releases, they were provided by the file lispworks.jar.

12.3.4 Runtimes for iOS

LispWorks for iOS Runtime now only supports 64-bit devices, because that is what Apple supports.

You can now create iOS Simulator and iOS device runtimes from an Apple silicon Mac (and without needing to use QEMU).

The way that you include the Lisp runtime in an XCode project has changed slightly (see 17 iOS interface in the LispWorks® User Guide and Reference Manual for details).

12.3.5 FreeBSD 12.x support

LispWorks 8.0 supports FreeBSD 12.x and later and is supplied as a standard package file, in pkg(8) format. Older versions of FreeBSD are not supported.

12.3.6 SPARC Solaris and AIX no longer supported

LispWorks 8.0 is not supported on SPARC Solaris or AIX.

12.3.7 Running on 64-bit machines

As far as we know each of the 32-bit LispWorks implementations runs correctly in the 32-bit subsystem of the corresponding 64-bit platform.

12.3.8 Code signing LispWorks images

12.3.8.1 Signing of the distributed executable

On macOS, the LispWorks application bundle is signed in the name of LispWorks Ltd.

On Microsoft Windows, the LispWorks Personal Edition executable is signed in the name of LispWorks Ltd.

Other LispWorks editions are not signed, because of the complications around image saving and delivery that this would lead to.

12.3.8.2 Signing your development image

On Microsoft Windows and macOS you can sign a development image saved using hcl:save-image with the :split argument. On macOS, the :split argument should have value :resources.

12.3.8.3 Signing your runtime application

On Microsoft Windows and macOS you can sign a runtime executable or dynamic library which was saved using lispworks:deliver with the :split argument.

12.3.8.4 Required runtime entitlements on Apple silicon Macs

LispWorks for Macintosh requires certain runtime entitlements to run on Apple silicon Macs. See 13.3.7 Saving images and delivering on Apple silicon Macs in the LispWorks® User Guide and Reference Manual for details.

12.3.9 macOS universal binaries are supported again

The supplied LispWorks (64-bit) for Macintosh images are now universal binaries, which run the correct native architecture on arm64 (Apple silicon) and x86_64 (Intel) Macintosh computers by default.

A running Lisp image only supports one architecture, chosen when the image was started. On a x86_64 based Macintosh, this is always the x86_64 architecture. On an arm64 Macintosh, a running LispWorks image can be either the native arm64 architecture or the x86_64 architecture (using Rosetta 2).

Functions such as save-image and deliver create an image containing only the running architecture and functions that operate on fasl files such as compile-file and load only support the running architecture.

To build a universal binary application from LispWorks 8.0 for Macintosh, you will need to install LispWorks on an arm64 (Apple silicon) Macintosh computer.

The functions hcl:save-universal-from-script, hcl:create-universal-binary, hcl:building-main-architecture-p and hcl:building-universal-intermediate-p are either new or non longer deprecated and can be used to control building a universal binary.

12.3.10 macOS images are now split into two files by default

The supplied LispWorks (64-bit) for Macintosh images are now split, which means that the Lisp heap is split into a separate file, named by adding .lwheap to the name of the executable. In the appliction bundle, this is stored in the Resources directory.

In addition, the split argument to save-image and deliver now defaults to :default, which causes the new image to be split by default on macOS.


Release Notes and Installation Guide - 01 Dec 2021 19:38:49