[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.
http://reviews.llvm.org/D16653
Files:
CMakeLists.txt
cmake/Modules/AddCompilerRT.cmake
cmake/Modules/BuiltinTests.cmake
cmake/Modules/CompilerRTDarwinUtils.cmake
cmake/Modules/CompilerRTUtils.cmake
cmake/base-config-ix.cmake
cmake/builtin-config-ix.cmake
cmake/config-ix.cmake
lib/builtins/CMakeLists.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16653.46185.patch
Type: text/x-patch
Size: 34436 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160127/53b6cf30/attachment-0001.bin>
More information about the llvm-commits
mailing list