Provide bootstrap support to build only llvm+clang when using cmake.
authorAndy Gibbs <andyg1001@hotmail.co.uk>
Wed, 26 Jun 2013 08:05:08 +0000 (08:05 +0000)
committerAndy Gibbs <andyg1001@hotmail.co.uk>
Wed, 26 Jun 2013 08:05:08 +0000 (08:05 +0000)
commit3ef5ed1ec0eb1a905123d40f2c99ccc57dccd5ab
treeb8024c25c7ce6826d05d9af14eb8ab4c2d6ba0c3
parentf5dede1bebbf43ca0d9dbe0224252de33cc8a886
Provide bootstrap support to build only llvm+clang when using cmake.

Where a source tree is complete with lld, lldb and polly, it may not be possible to use cmake to configure build scripts if the host compiler it not capable of compiling these sub-projects.  This change makes it possible to first build a bootstrap clang compiler when can then be used to build a complete llvm toolchain.  An example bootstrap build sequence could be as follows:

$ mkdir bootstrap
$ cd bootstrap
$ cmake -G 'Unix Makefiles'
        -DCMAKE_BUILD_TYPE:STRING=Release
        -DCMAKE_PREFIX_PATH:STRING=$(pwd)
        -DLLVM_TARGETS_TO_BUILD:STRING=host
        -DLLVM_INCLUDE_TOOLS:STRING=bootstrap-only
        ../source
$ make clang  # build clang only for host

$ cd ..
$ export CC=$(realpath bootstrap/bin)/clang
$ export CXX=$(realpath bootstrap/bin)/clang++

$ mkdir final
$ cd final
$ cmake -G 'Unix Makefiles' ../source
$ make all check-all

llvm-svn: 184924
llvm/tools/CMakeLists.txt