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:

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to