[PATCH] D54463: [CMake] Support cross-compiling with Fuchsia toolchain build
This revision was automatically updated to reflect the committed changes. Closed by commit rL347026: [CMake] Support cross-compiling with Fuchsia toolchain build (authored by phosek, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D54463?vs=173809=174324#toc Repository: rL LLVM https://reviews.llvm.org/D54463 Files: cfe/trunk/cmake/caches/Fuchsia.cmake Index: cfe/trunk/cmake/caches/Fuchsia.cmake === --- cfe/trunk/cmake/caches/Fuchsia.cmake +++ cfe/trunk/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 @@ 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 Index: cfe/trunk/cmake/caches/Fuchsia.cmake === --- cfe/trunk/cmake/caches/Fuchsia.cmake +++ cfe/trunk/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 @@ 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
[PATCH] D54463: [CMake] Support cross-compiling with Fuchsia toolchain build
mcgrathr accepted this revision. mcgrathr added a comment. This revision is now accepted and ready to land. lgtm Repository: rC Clang https://reviews.llvm.org/D54463 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D54463: [CMake] Support cross-compiling with Fuchsia toolchain build
phosek created this revision. phosek added reviewers: beanz, mcgrathr. Herald added subscribers: cfe-commits, mgorny. 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. Repository: rC Clang https://reviews.llvm.org/D54463 Files: clang/cmake/caches/Fuchsia.cmake Index: clang/cmake/caches/Fuchsia.cmake === --- clang/cmake/caches/Fuchsia.cmake +++ clang/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 "") @@ -57,6 +57,38 @@ install-distribution-stripped clang CACHE STRING "") +if(BOOTSTRAP_CMAKE_SYSTEM_NAME) + string(FIND ${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET} "-" dash_index) + string(SUBSTRING ${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET} 0 ${dash_index} target) + if(STAGE2_LINUX_${target}_SYSROOT) +set(BUILTINS_${target}-linux-gnu_CMAKE_SYSTEM_NAME Linux CACHE STRING "") +set(BUILTINS_${target}-linux-gnu_CMAKE_BUILD_TYPE Release CACHE STRING "") +set(BUILTINS_${target}-linux-gnu_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") +set(LLVM_BUILTIN_TARGETS "${target}-linux-gnu" CACHE STRING "") + +set(RUNTIMES_${target}-linux-gnu_CMAKE_SYSTEM_NAME Linux CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_CMAKE_BUILD_TYPE Release CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXX_ABI_VERSION 2 CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_SANITIZER_CXX_ABI "libc++" CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "") +set(LLVM_RUNTIME_TARGETS "${target}-linux-gnu" CACHE STRING "") + endif() +endif() + get_cmake_property(variableNames VARIABLES) foreach(variableName ${variableNames}) if(variableName MATCHES "^STAGE2_") Index: clang/cmake/caches/Fuchsia.cmake === --- clang/cmake/caches/Fuchsia.cmake +++ clang/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 "") @@ -57,6 +57,38 @@ install-distribution-stripped clang CACHE STRING "") +if(BOOTSTRAP_CMAKE_SYSTEM_NAME) + string(FIND ${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET} "-" dash_index) + string(SUBSTRING ${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET} 0 ${dash_index} target) + if(STAGE2_LINUX_${target}_SYSROOT) +set(BUILTINS_${target}-linux-gnu_CMAKE_SYSTEM_NAME Linux CACHE STRING "") +set(BUILTINS_${target}-linux-gnu_CMAKE_BUILD_TYPE Release CACHE STRING "") +set(BUILTINS_${target}-linux-gnu_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") +set(LLVM_BUILTIN_TARGETS "${target}-linux-gnu" CACHE STRING "") + +set(RUNTIMES_${target}-linux-gnu_CMAKE_SYSTEM_NAME Linux CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_CMAKE_BUILD_TYPE Release CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") +set(RUNTIMES_${target}-linux-gnu_LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") +set(RUNTIMES_${target}-linux-gnu_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") +