Now that the bootstrap binaries at code.call-cc.org/bootstrap are deprecated, and having stubbed my toe once too many times on building git versions of chicken, I'd like to suggest the attached patch to the build advice in README.
ABS -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/
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-<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 + 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 "$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=<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:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users