llvm/cmake/modules
Chris Bieneman f444c52628 [CMake] Add LLVM runtimes directory
Summary:
There are a few LLVM projects that produce runtime libraries. Ideally
runtime libraries should be built differently than other projects,
specifically they should be built using the just-built toolchain.

There is support for building compiler-rt in this way from the clang
build. Moving this logic into the LLVM build is interesting because it
provides a simpler way to extend the just-built toolchain to include
LLD and the LLVM object file tools.

Once this functionality is better fleshed out and tested we’ll want to
encapsulate it in a module that can be used for clang standalone
builds, and we’ll want to make it the default way to build compiler-rt.

With this patch applied there is no immediate change in the build.
Moving compiler-rt out from llvm/projects into llvm/runtimes enables
the functionality.

This code has a few improvements over the method provided by
LLVM_BUILD_EXTERNAL_COMPILER_RT. Specifically the sub-ninja command is
always invoked, so changes to compiler-rt source files will get built
properly, so this patch can be used for iterative development with
just-built tools.

This first patch only works with compiler-rt. Support for other
runtime projects will be coming in follow-up patches.

Reviewers: chandlerc, bogner

Subscribers: kubabrecka, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273620 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23 22:07:21 +00:00
..
AddLLVM.cmake [build] Make sure to link main executable with pthreads 2016-06-21 19:34:40 +00:00
AddLLVMDefinitions.cmake cmake: Avoid leading space in LLVM_DEFINITIONS. 2015-10-12 10:42:03 +00:00
AddOCaml.cmake [build] Fixed build break for OCaml bindings. 2016-06-21 23:10:37 +00:00
AddSphinxTarget.cmake
CheckAtomic.cmake [LLVM][MIPS] Introduce 64 bit atomic check in CheckAtomic.cmake 2016-06-23 06:39:35 +00:00
CheckCompilerVersion.cmake cmake: include what you use 2016-03-08 18:56:00 +00:00
ChooseMSVCCRT.cmake
CMakeLists.txt [CMake] LLVM_BINARY_DIR was not being properly set in LLVMConfig.cmake 2016-06-22 21:01:19 +00:00
CrossCompile.cmake [CMake] Fixing a typo 2016-06-08 21:22:03 +00:00
DetermineGCCCompatible.cmake [CMake] Move the setting of LLVM_COMPILER_IS_GCC_COMPATIBLE to a separate file 2015-09-29 14:33:58 +00:00
FindOCaml.cmake
FindSphinx.cmake
GenerateVersionFromCVS.cmake Add SVN version to libLLVMLTO 2016-04-16 07:33:14 +00:00
GetHostTriple.cmake Remove autoconf support 2016-01-26 21:29:08 +00:00
GetSVN.cmake
HandleLLVMOptions.cmake Default to using the Unicode version of Win32 APIs instead of the ANSI version. This helps to catch instances where a developer accidentally forgets to explicitly specify which version of the API to use and accidentally winds up failing to support non-ASCII characters properly. 2016-06-23 19:02:09 +00:00
HandleLLVMStdlib.cmake [CMake] Move the setting of LLVM_COMPILER_IS_GCC_COMPATIBLE to a separate file 2015-09-29 14:33:58 +00:00
LLVM-Config.cmake Avoid linking LLVM component libraries with libLLVM 2016-02-12 01:42:43 +00:00
LLVMConfig.cmake.in [CMake] LLVM_BINARY_DIR was not being properly set in LLVMConfig.cmake 2016-06-22 21:01:19 +00:00
LLVMConfigVersion.cmake.in
LLVMExternalProjectUtils.cmake [CMake] Add LLVM runtimes directory 2016-06-23 22:07:21 +00:00
LLVMInstallSymlink.cmake [CMake] Cleaning up and generalizing the LLVMInstallSymlink script so that it can be used for libraries too. 2015-10-16 23:17:13 +00:00
LLVMProcessSources.cmake
TableGen.cmake [CMake] Support overriding binary install directory 2016-06-08 21:19:26 +00:00
VersionFromVCS.cmake Add SVN version to libLLVMLTO 2016-04-16 07:33:14 +00:00