[CMake] Support platform building builtins without a full toolchain

Description

[CMake] Support platform building builtins without a full toolchain

Summary:
This patch adds support for 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
  • Made lib/builtins/CMakeLists.txt able to be a top-level CMake configuration

I have tested this on Darwin targeting embedded Darwin, and on FreeBSD x86_64 targeting FreeBSD AArch64.

This patch depends on http://reviews.llvm.org/D19692, and is the last part of http://reviews.llvm.org/D16653.

Reviewers: samsonov, iains, jroelofs

Subscribers: compnerd, aemerson, tberghammer, danalbert, srhines, emaste, llvm-commits

Differential Revision: http://reviews.llvm.org/D19742

Details

Committed
cbienemanMay 9 2016, 2:45 PM
Differential Revision
D19742: [CMake] Support platform building builtins without a full toolchain
Parents
rL268976: Print member name in undefined symbol error.
Branches
Unknown
Tags
Unknown