HOWTO create an LLVM crosstool from x86_64/Linux to ARM/Linux
=============================================================

1. % llvm/utils/crosstool/create-snapshots.sh

   This will create llvm-[REV_L].tar.bz2 and llvm-gcc-4.2-[REV_G].tar.bz2,
   where:
     REV_L is the revision at which "llvm" was checked out, and
     REV_G is the revision at which "llvm-gcc-4.2" was checked out

   Note that REV_L might REV_G might not be the same revision.

2. Download CodeSourcery toolchain.  The exact location depends on your
   $CROSS_TARGET but the script will tell you what the location of the file is
   if you run it without having the file available.

   For example, if you're using $CROSS_TARGET == "arm-none-linux-gnueabi" then
   you need to download:

   http://www.codesourcery.com/sgpp/lite/arm/portal/package1787/public/arm-none-linux-gnueabi/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

   NOTE: simply changing $CROSS_TARGET and modifying the URL accordingly will
   not work -- you'll need to go to http://www.codesourcery.com and find the
   correct file, as the release number in the file will also be different (e.g.,
   in the file above, the release number is "51").

3. You can override most values in the script without modifying it, e.g.
   $INSTALL_ROOT (if you want to install in directory other than /usr/local).

   Run the script as:

   % env INSTALL_ROOT=[dir to install in] \
         CODE_SOURCERY_PKG_PATH=[dir where you downloaded CodeSourcery tarball] \
         LLVM_PKG_PATH=[dir where you stored your LLVM and LLVM-GCC snapshots] \
         LLVM_SVN_REV=${REV_L} \
         LLVMGCC_SVN_REV=${REV_G} \
         build-install-linux.sh
