1.0.33.26: enabled threads by default on x86[-64] Linux
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 18 Dec 2009 14:26:33 +0000 (14:26 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 18 Dec 2009 14:26:33 +0000 (14:26 +0000)
 I'll let FreeBSD folks make the judgement if threads should be
 default there as well.

 Also: update INSTALL documentation regarding *FEATURES* a bit, and
 make the documentation clear about availability of threads on
 different builds.

INSTALL
NEWS
base-target-features.lisp-expr
doc/manual/threading.texinfo
make-config.sh
version.lisp-expr

diff --git a/INSTALL b/INSTALL
index 018ef58..1204ae8 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -25,7 +25,7 @@ INSTALLING SBCL
     $ 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
 
@@ -159,13 +159,27 @@ INSTALLING SBCL
                (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".
 
@@ -243,7 +257,7 @@ INSTALLING SBCL
   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
diff --git a/NEWS b/NEWS
index 5a2225a..9f7e51a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,7 @@
 ;;;; -*- 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)
index 770949a..60161d4 100644 (file)
 
  ;; 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
index b681669..2fbd8d8 100644 (file)
@@ -9,9 +9,12 @@ multiprocessing on machines that have more than one CPU, but it does
 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::            
index 81877e7..6075913 100644 (file)
@@ -160,9 +160,12 @@ case "$sbcl_os" in
         # 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
index 371a3d5..ba7e248 100644 (file)
@@ -17,4 +17,4 @@
 ;;; 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"