diff --git a/README b/README index ba863c7..15bd431 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-.tar.gz" on UNIX or use your favorite extraction program on Windows), then change to the chicken- directory and invoke "make" like this: - make PLATFORM= PREFIX= + make PLATFORM= PREFIX= 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= 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=" to the "make" - invocation to override this setting. "CHICKEN" defaults to + 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= spotless + + If you have a recent version of CHICKEN installed, then pass + "CHICKEN=" to the "make" invocation to + override this setting. "CHICKEN" defaults to "$PREFIX/bin/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=", then use it to + build your git chicken like so: + + LD_LIBRARY_PATH= make PLATFORM= CHICKEN=/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= PREFIX= install + make PLATFORM= PREFIX= 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= confclean - - to remove old configuration files. + 2.6. What gets installed These files will be installed under the prefix given during build and installation: