Clean up build process for cross-compiled targets.
authorAlastair Bridgewater <nyef@virtdev-1.lisphacker.com>
Sat, 22 Oct 2011 21:10:38 +0000 (17:10 -0400)
committerAlastair Bridgewater <nyef@virtdev-1.lisphacker.com>
Sat, 22 Oct 2011 21:10:38 +0000 (17:10 -0400)
commit7d407220e18f65637835ed034894654ca55a4bcd
tree8b8b76dd40dcb75e13908005888724b3d1919b42
parentc6989d6f14dfbd5cd3e7fac3f04942d379b8b818
Clean up build process for cross-compiled targets.

  * Over time, the process for producing an SBCL build for another
target architecture or OS has become more difficult and less
documented.

  * Move all make.sh argument processing to make-config.sh.

  * Have make-config.sh produce a file, output/build-config,
containing shell commands to set up important build parameters
such as where to find GNUMAKE, what SBCL_XC_HOST is, and so on.

  * Source output/build-config in most of the make*.sh scripts.

  * The practical upshot of all this is that a cross-compile
build is now a matter of alternating between target and host,
calling make-config.sh, make-host-1.sh, make-target-1.sh,
make-host-2.sh, make-target-2.sh, and following up with a
make-target-contrib.sh on the target, and you wind up with a
usable product.  And, as make-config.sh does all of the arg
parsing, you can pass --xc-host= or --dynamic-space-size= or
whatever and it all works out.
make-config.sh
make-host-1.sh
make-host-2.sh
make-target-1.sh
make-target-2.sh
make-target-contrib.sh
make.sh