~ chicken-core (chicken-5) a613223a8c950bb083fff982433a21c1ee97ff25
commit a613223a8c950bb083fff982433a21c1ee97ff25
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Sep 3 21:56:53 2011 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Sep 3 21:56:53 2011 +0200
applied README changes by alaric
diff --git a/README b/README
index ba863c7f..ef47cce4 100644
--- a/README
+++ b/README
@@ -53,12 +53,14 @@
either setting makefile variables on the "make" command line or
by editing the platform-specific makefile.
+ 2.1. Building from a release tarball
+
To build CHICKEN, first extract the archive ("tar xzf
chicken-<version>.tar.gz" on UNIX or use your favorite
extraction program on Windows), then change to the
chicken-<version> directory and invoke "make" like this:
- make PLATFORM=<platform> PREFIX=<destination>
+ make PLATFORM=<platform> PREFIX=<destination>
where "PLATFORM" specifies on what kind of system CHICKEN
shall be built and "PREFIX" specifies where the executables
@@ -72,26 +74,53 @@
Note that parallel builds (using the "-j" make(1) option) are
*not* supported.
+ If you invoke "make" later with different configuration parameters,
+ it is advisable to run:
+
+ make PLATFORM=<platform> confclean
+
+ to remove old configuration files.
+
+ 2.2. Building from git
+
If you build CHICKEN directly from the development sources out
of the git repository, you will need a "chicken" executable to
generate the compiled C files from the Scheme library
- sources. If you have a recent version of CHICKEN installed,
- then pass "CHICKEN=<chicken-executable>" to the "make"
- invocation to override this setting. "CHICKEN" defaults to
- "$PREFIX/bin/chicken".
+ sources.
+
+ If you are building in a checkout where you have built other
+ versions of chicken, you need to make sure that all traces of
+ the previous build are removed. "make clean" is insufficient,
+ and you should do the following:
+
+ make PLATFORM=<platform> spotless
+
+ If you have a recent version of CHICKEN installed, then pass
+ "CHICKEN=<chicken-executable>" to the "make" invocation to
+ override this setting. "CHICKEN" defaults to "chicken".
If you do not have a "chicken" binary installed, you will have
- to obtain a "bootstrapping" compiler, which can either be
- built from a release tarball (see below for instructions) or
- by using a precompiled and statically linked compiler binary
- from here:
+ to build from the closest release tarball to the git version
+ you are trying to build (significantly older or newer ones are
+ unlikely to work), and then use that chicken to build from
+ your git sources. You don't need to install the release
+ tarball chicken; simply unpack and build it in its own
+ directory with "make PLATFORM=<platform>", then use it to
+ build your git chicken like so:
+
+ LD_LIBRARY_PATH=<release dir> make PLATFORM=<platform> \
+ CHICKEN=<release dir>/chicken
+
+ The LD_LIBRARY_PATH is needed on Linux to allow chicken to
+ find libchicken; it may or may not be needed on your platform,
+ but probably won't do any harm.
- http://code.call-cc.org/bootstrap/
+ 2.3. Finishing the installation
If CHICKEN is built successfully, you can install it on your
system by entering
- make PLATFORM=<platform> PREFIX=<destination> install
+ make PLATFORM=<platform> PREFIX=<destination> install
"PREFIX" defaults to "/usr/local". Note that the PREFIX is
compiled into several CHICKEN tools and must be the same
@@ -102,6 +131,8 @@
It designates the directory where the files are installed
into.
+ 2.4. Optional features
+
You can further enable various optional features by adding
one or more of the following variables to the "make"
invocation:
@@ -186,6 +217,8 @@
LLVM version of gcc and with "clang", the LLVM-based C compiler,
just set C_COMPILER to "llvm-gcc" or "clang".
+ 2.5. Uninstalling Chicken
+
To remove CHICKEN from your file-system, enter (probably as
root):
@@ -194,12 +227,7 @@
(If you gave DESTDIR during installation, you have to pass
the same setting to "make" when uninstalling)
- In case you invoke "make" with different configuration parameters,
- it is advisable to run
-
- make PLATFORM=<platform> confclean
-
- to remove old configuration files.
+ 2.6. What gets installed
These files will be installed under the prefix given during
build and installation:
Trap