~ 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