diff options
author | Petr Hosek <phosek@chromium.org> | 2018-11-16 04:50:12 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2018-11-16 04:50:12 +0000 |
commit | 24d83fa5583216aabc70f5452ed16789b9026e51 (patch) | |
tree | 68d7b2e45ba75bd03c2b2167491361d4c2f92262 /cmake | |
parent | a4f48c45b868a806d62b4d42925ca64b9899cd20 (diff) |
[CMake] Support cross-compiling with Fuchsia toolchain build
When second stage is being cross-compiled for a different platform
we need to build enough of first stage runtimes to get a working
compiler.
Differential Revision: https://reviews.llvm.org/D54463
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@347026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/caches/Fuchsia.cmake | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/cmake/caches/Fuchsia.cmake b/cmake/caches/Fuchsia.cmake index fc7dae8499..53fff24d8c 100644 --- a/cmake/caches/Fuchsia.cmake +++ b/cmake/caches/Fuchsia.cmake @@ -1,6 +1,6 @@ # This file sets up a CMakeCache for a Fuchsia toolchain build. -set(LLVM_TARGETS_TO_BUILD Native CACHE STRING "") +set(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64 CACHE STRING "") set(PACKAGE_VENDOR Fuchsia CACHE STRING "") @@ -43,6 +43,37 @@ elseif(UNIX) set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") endif() +if(BOOTSTRAP_CMAKE_SYSTEM_NAME) + set(target "${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET}") + if(STAGE2_LINUX_${target}_SYSROOT) + set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") + set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") + set(BUILTINS_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") + set(LLVM_BUILTIN_TARGETS "${target}" CACHE STRING "") + + set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") + set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") + set(RUNTIMES_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") + set(RUNTIMES_${target}_LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") + set(RUNTIMES_${target}_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") + set(RUNTIMES_${target}_LIBCXX_ABI_VERSION 2 CACHE STRING "") + set(RUNTIMES_${target}_SANITIZER_CXX_ABI "libc++" CACHE STRING "") + set(RUNTIMES_${target}_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "") + set(RUNTIMES_${target}_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "") + set(LLVM_RUNTIME_TARGETS "${target}" CACHE STRING "") + endif() +endif() + set(CLANG_BOOTSTRAP_TARGETS check-all check-llvm |