*features*

Variable

Summary

Package

Initial Value

A list containing
:lispworks
. The actual value varies depending on the platform.

Description

The following features can be used to distinguish between platforms, or characteristics of the platform or of the LispWorks implementation.

:solaris2

Solaris2

:hp-ux

HP-UX

:svr4

System 5 Release 4 machine (for example Solaris2)

:linux

Linux

:darwin

The variant of FreeBSD underlying Mac OS X.

:unix

Unix, including all of the above.

:mswindows

Microsoft Windows, including 32-bit and 64-bit.

:lispworks-64bit

64-bit LispWorks.

:lispworks-32bit

32-bit LispWorks.

:x86

All images that run on the x86 architecture have this feature. This includes Intel Macintosh, FreeBSD, Linux (32-bit) and Windows (32-bit).

Note: 64-bit LispWorks does not have this feature.

:amd64
,
:x86-64
,
:x64

Images that run on the amd64/x86_64/x64 architecture have each of these feautures. This includes Linux (64-bit) and Windows (64-bit).

:sparc

Images that run on SPARC architecture.

:powerpc

Images that run on PowerPC architecture.

:hppa

Images that run in HP PA-RISC architecture.

:little-endian

The compiler targets a little endian machine, for instance x86.

Code can distinguish the eleven current LispWorks implementations like this:

#+(and :mswindows :lispworks-32bit)

"LispWorks (32-bit) for Windows"

#+(and :mswindows :lispworks-64bit)

"LispWorks (64-bit) for Windows"

#+(and :linux :lispworks-32bit)

"LispWorks (32-bit) for Linux"

#+(and :linux :lispworks-64bit)

"LispWorks (64-bit) for Linux"

#+freebsd

"LispWorks for FreeBSD"

#+(and :darwin :x86)

"LispWorks (32-bit) for Macintosh (running on Intel)"

#+(and :darwin :powerpc :lispworks-32bit)

"LispWorks (32-bit) for Macintosh (running on PowerPC)"

#+(and :darwin :powerpc :lispworks-64bit)

"LispWorks (64-bit) for Macintosh"

#+(and :sparc :lispworks-32bit)

"LispWorks (32-bit) for Solaris"

#+(and :sparc :lispworks-64bit)

"LispWorks (64-bit) for Solaris"

#+:hppa

"LispWorks for HP PA"

The following features can be used to distinguish between versions of LispWorks:

:lispworks4

All major version 4 releases.

:lispworks4.4

Release 4.4.x

:lispworks5

All major version 5 releases.

:lispworks5.0

Release 5.0.x

Every LispWorks 5.0 image has exactly one of the features
:lispworks-32bit
and
:lispworks-64bit
.

For
:sparc
,
:powerpc
and
:mswindows
, there two LispWorks architectures: 32-bit and 64-bit, which can be distinguished by
:lispworks-32bit
or
:lispworks-64bit
.

The following features are present in LispWorks with the meanings defined for ANSI CL:

:ansi-cl

:common-lisp

:ieee-floating-point

Note that sometimes it is necessary to write code that examines
*features*
at load time or run time. For example this is true when you put platform-dependent code in fasl files that are shared between multiple platforms.

For a LispWorks image with the CAPI loaded,
:capi
will appear on
*features*
.

Note: LispWorks (32-bit) for Macintosh supports the native Mac OS X Cocoa-based GUI and the X11/Motif GUI. If you need to test for which of these libraries is loaded, check for the features
:cocoa
and
:x11-motif
respectively.