$ sh run-sbcl.sh
The following command installs SBCL and related documentation under
- the "/usr/local" directory:
+ the "/usr/local" directory (typically run as root):
# INSTALL_ROOT=/usr/local sh install.sh
(pushnew x features))
(disable (x)
(setf features (remove x features))))
- ;; Threading support, available only on x86/x86-64 Linux, x86 Solaris
- ;; and x86 Mac OS X (experimental).
+ ;; Threading support.
(enable :sb-thread)))
This is the preferred way because it lets local changes interact
cleanly with CVS changes to the main, global source tree.
+ Some features of interest:
+
+ :SB-THREAD
+ Native threads. Enabled by default on x86[-64] Linux only, also
+ available on x86[-64] Max OS X, x86[-64] FreeBSD, and x86
+ Solaris.
+
+ :SB-UNICODE
+ Unicode support. Enabled by default. Disabling this feature
+ limits characters to the 8-bit ISO-8859-1 set.
+
+ :SB-XREF-FOR-INTERNALS
+ XREF data for SBCL internals. Not enabled by default, increases
+ core size by 5-6mb.
+
A catalog of available features and their meaning can be found in
"base-target-features.lisp-expr".
Supported operating systems and architectures:
x86 x86-64 PPC Sparc Alpha MIPS MIPSel
- Linux 2.2, 2.4, 2.6 X X X X X X X
+ Linux 2.6 X X X X X X X
Darwin (Mac OS X) X X X
Solaris X X
FreeBSD X X
;;;; -*- coding: utf-8; fill-column: 78 -*-
changes relative to sbcl-1.0.33:
+ * minor incompatible change: threading support is now enabled by default
+ on x86[-64] Linux.
* enhancement: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST now also works on most
builtin types.
* enhancement: Errors during compile-time-too processing (i.e. EVAL-WHEN)
;; low-level thread primitives support
;;
- ;; As of SBCL 0.8, this is only supposed to work in x86 Linux with
- ;; NPTL support (usually kernel 2.6, though sme Red Hat distributions
- ;; with older kernels also have it) and is implemented using clone(2)
- ;; and the %fs segment register. Note that no consistent effort to
- ;; audit the SBCL library code for thread safety has been performed,
- ;; so caveat executor.
+ ;; As of SBCL 1.0.33.26, threads are part of the default build on
+ ;; x86oid Linux. Other platforms that support them include
+ ;; x86oid Darwin, FreeBSD, and Solaris.
; :sb-thread
;; lutex support
not allow Lisp control of the scheduler. This is found in the
SB-THREAD package.
-This requires Linux (2.6+ or systems with NPTL backports) running on the
-x86 or x86-64 architecture, or SunOS (Solaris) on the x86. Support for
-threading on Darwin (Mac OS X) and FreeBSD on the x86 is experimental.
+Threads are part of the default build on x86[-64] Linux only.
+
+They are also experimentally supported on: x86[-64] Darwin (Mac OS X),
+x86[-64] FreeBSD, and x86 SunOS (Solaris). On these platforms threads
+must be explicitly enabled at build-time, see @file{INSTALL} for
+directions.
@menu
* Threading basics::
# If you add other platforms here, don't forget to edit
# src/runtime/Config.foo-linux too.
case "$sbcl_arch" in
- x86 | x86-64 | mips)
- printf ' :largefile' >> $ltf
- ;;
+ mips)
+ printf ' :largefile' >> $ltf
+ ;;
+ x86 | x86-64)
+ printf ' :sb-thread :largefile' >> $ltf
+ ;;
esac
if [ $sbcl_arch = "x86-64" ]; then
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.33.25"
+"1.0.33.26"