Fix make-array transforms.
[sbcl.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index bfc16af..378515b 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -25,8 +25,8 @@ 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
 
   You can also install SBCL as a user, under your home directory:
@@ -34,7 +34,11 @@ INSTALLING SBCL
     $ INSTALL_ROOT=/home/me sh install.sh
 
   In other words, "install.sh" installs SBCL under the directory named
-  by the environment variable "INSTALL_ROOT".
+  by the environment variable INSTALL_ROOT.
+
+  If INSTALL_ROOT is not specified, SBCL is installed into location
+  configured at build-time: for official binary distributions under
+  "/usr/local" directory.
 
   If you install SBCL from binary distribution in other location than
   "/usr/local", see section 1.2, "Finding ancillary files".
@@ -114,13 +118,32 @@ INSTALLING SBCL
 
     $ sh make.sh
 
+  To configure SBCL to install to a non-standard location, you can use
+  the --prefix option:
+
+    $ sh make.sh --prefix=/opt/mysbcl
+
+  This also sets the default SBCL_HOME to prefix/lib/sbcl/ for the
+  built binaries.
+
+  To configure SBCL with a non-standard default dynamic-space size,
+  use the --dynamic-space-size option:
+
+    $ sh make.sh --dynamic-space-size=4Gb
+    $ sh make.sh --dynamic-space-size=800Mb
+
+  If mega- or gigabytes are not specified, the number is taken to be
+  in megabytes. The standard default is 512Mb for 32-bit systems, and
+  1Gb for 64-bit systems (with the exception of OpenBSD where 444Mb
+  are used to fit under default ulimits.)
+
   If you don't already have an SBCL binary installed as "sbcl" on your
   system, you'll need to tell make.sh what Lisp to use as the
   cross-compilation host. For example, to use CMUCL (assuming has
   been installed under its default name "lisp") as the
   cross-compilation host:
 
-    $ sh make.sh 'lisp -batch -noinit'
+    $ sh make.sh --xc-host='lisp -batch -noinit'
 
   The build may take a long time, especially on older hardware. A
   successful build ends with a message beginning: "The build seems to
@@ -149,26 +172,44 @@ INSTALLING SBCL
   enabling or disabling features like documentation strings, threads,
   or extra debugging code.
 
-  The preferred way to do this is by creating a file
-  "customize-target-features.lisp", containing a lambda expression
-  which is applied to the default *FEATURES* set and which returns the
-  new *FEATURES* set, e.g.
+  The preferred way to do this is using commandline arguments to make.sh:
+
+    --fancy                    Enables all supported feature enhancements.
+    --with-<feature>           Enables a specific feature.
+    --without-<feature>        Disables a specific feature.
+
+  Some features of interest:
+
+    :SB-THREAD (--with-sb-thread, --without-sb-thread)
 
-    (lambda (features)
-      (flet ((enable (x)
-               (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).
-        (enable :sb-thread)))
+      Native threads. Enabled by default on x86[-64] Linux only, also
+      available on x86[-64] Max OS X, x86[-64] FreeBSD, x86 Solaris,
+      and PPC Linux.
 
-  This is the preferred way because it lets local changes interact
-  cleanly with CVS changes to the main, global source tree.
+      NOTE: --fancy enables threads on all platforms where they can be
+      built, even if they aren't 100% stable on that platform.
+
+    :SB-CORE-COMPRESSION (--with-sb-core-compression)
+
+      Adds zlib as a build-dependency, and makes SBCL able to save
+      compressed cores. Not enabled by default.
+
+    :SB-XREF-FOR-INTERNALS (--with-sb-xref-for-internals)
+
+      XREF data for SBCL internals. Not enabled by default, increases
+      core size by 5-6mb.
+
+    :SB-UNICODE (--without-sb-unicode)
+
+      Unicode support. Enabled by default. Disabling this feature
+      limits characters to the 8-bit ISO-8859-1 set.
 
   A catalog of available features and their meaning can be found in
   "base-target-features.lisp-expr".
 
+  Please do NOT edit base-target-features.lisp-expr in order to enable
+  or disable build features.
+
 2.3. Troubleshooting
 
   "GNU Make not found"
@@ -191,7 +232,7 @@ INSTALLING SBCL
 
     * Check that the host lisp you're building with is known to work as
       an SBCL build host, and that your operating system is supported.
-      
+
     * Try to do a build without loading any initialization files
       for the cross-compilation host (for example
       "sh make.sh 'sbcl --userinit /dev/null --sysinit /dev/null'").
@@ -213,7 +254,7 @@ INSTALLING SBCL
   itself, it's a good idea.) Follow the "CVS Repository" link on
   <http://sourceforge.net/projects/sbcl> for instructions.
 
-2.5. Supported platforms 
+2.5. Supported platforms
 
   Last updated for SBCL 0.9.3.74 (2005-08-20).
 
@@ -230,23 +271,25 @@ INSTALLING SBCL
 
     SBCL
     CMUCL
-    OpenMCL
+    CCL (formerly known as OpenMCL)
     ABCL (recent versions only)
+    CLISP (only some versions: 2.44.1 is OK, 2.47 is not)
+    XCL
+    
 
     Note that every release isn't tested with every possible host
     compiler.  You're most likely to get a clean build with SBCL itself
-    as host, otherwise OpenMCL on a PPC and CMUCL elsewhere.
+    as host, otherwise CCL on a PPC and CMUCL elsewhere.
 
   Supported operating systems and architectures:
 
-                           x86 PPC Alpha Sparc HPPA MIPS MIPSel x86-64
-    Linux 2.2, 2.4, 2.6     X   X    X     X    X    X     X      X
-    FreeBSD                 X
+                           x86 x86-64 PPC Sparc Alpha MIPS MIPSel
+    Linux 2.6               X     X    X    X     X     X     X
+    Darwin (Mac OS X)       X     X    X
+    Solaris                 X               X
+    FreeBSD                 X     X
+    NetBSD                  X          X
     OpenBSD 3.4, 3.5        X
-    NetBSD                  X
-    Solaris                 X              X
-    Tru64                            X
-    Darwin (Mac OS X)       X   X
     Windows                 X
 
     Some operating systems are more equal than others: most of the
@@ -257,5 +300,9 @@ INSTALLING SBCL
     by e.g. testing during the monthly freeze periods, and most
     importantly by reporting any problems.
 
-    If you need support beyond what is available on the mailing lists,
-    see "Consultants" in the "SUPPORT" file.
+    For further support, see Getting Support and Reporting Bugs
+    in the manual, or
+
+      http://www.sbcl.org/manual/Getting-Support-and-Reporting-Bugs.html
+
+    if you do not have the manual for some reason.