NextPrevUpTopContentsIndex

*features*

Variable
Summary

The features list.

Package

common-lisp

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 twelve 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 :x86-64 :lispworks-64bit)
"LispWorks (64-bit) for Macintosh (running on Intel)"
#+(and :darwin :powerpc :lispworks-64bit)
"LispWorks (64-bit) for Macintosh (running on PowerPC)"
#+(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

:lispworks5.1

Release 5.1.x

Every LispWorks 5 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.


LispWorks Reference Manual - 12 Mar 2008

NextPrevUpTopContentsIndex