[PATCH] D16653: [CMake] Support platform building builtins without a full toolchain
Chris Bieneman via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 27 15:22:38 PST 2016
beanz created this revision.
beanz added reviewers: iains, samsonov, jroelofs.
beanz added a subscriber: llvm-commits.
Herald added subscribers: emaste, srhines, danalbert, tberghammer, aemerson.
This patch adds support to building lib/builtins without a fully functioning toolchain. It allows you to bootstrap a cross-compiler, which previously couldn't be done with CMake.
This patch contains the following specific changes:
* Split builtin-specific code out of config-ix.cmake into builtin-config-ix.cmake
* Split some common CMake functionality needed by both builtins and sanitizers into base-config-ix.cmake
* Moved some macros and functions out of config-ix.cmake into more common places
* Added BuiltinTests.cmake which has some custom implementations of compiler testing that don't rely on having a functional liker or sysroot
* Made lib/builtins/CMakeLists.txt able to be a top-level CMake configuration
I realize this patch is quite large, and I can break parts of it apart. I wanted to present it as a monolithic piece so that the other changes make sense.
I have tested this on Darwin targeting embedded Darwin, and on FreeBSD x86_64 targeting FreeBSD AArch64.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 34436 bytes
Desc: not available
More information about the llvm-commits