1e5dd7070Spatrick# This file sets up a CMakeCache for a Fuchsia toolchain build. 2e5dd7070Spatrick 3e5dd7070Spatrickset(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "") 4e5dd7070Spatrick 5e5dd7070Spatrickset(PACKAGE_VENDOR Fuchsia CACHE STRING "") 6e5dd7070Spatrick 7*12c85518Srobertset(LLVM_ENABLE_PROJECTS "bolt;clang;clang-tools-extra;lld;llvm;polly" CACHE STRING "") 8ec727ea7Spatrick 9a9ac8606Spatrickset(LLVM_ENABLE_DIA_SDK OFF CACHE BOOL "") 10*12c85518Srobertset(LLVM_ENABLE_LIBEDIT OFF CACHE BOOL "") 11*12c85518Srobertset(LLVM_ENABLE_LIBXML2 OFF CACHE BOOL "") 12e5dd7070Spatrickset(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "") 13e5dd7070Spatrickset(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") 14e5dd7070Spatrickset(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") 15a9ac8606Spatrickset(LLVM_ENABLE_Z3_SOLVER OFF CACHE BOOL "") 16e5dd7070Spatrickset(LLVM_ENABLE_ZLIB OFF CACHE BOOL "") 17e5dd7070Spatrickset(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") 18e5dd7070Spatrickset(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") 19e5dd7070Spatrick 20a9ac8606Spatrickif(WIN32) 21ec727ea7Spatrick set(LLVM_USE_CRT_RELEASE "MT" CACHE STRING "") 22ec727ea7Spatrickendif() 23ec727ea7Spatrick 24e5dd7070Spatrickset(CLANG_DEFAULT_CXX_STDLIB libc++ CACHE STRING "") 25e5dd7070Spatrickset(CLANG_DEFAULT_LINKER lld CACHE STRING "") 26e5dd7070Spatrickset(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "") 27e5dd7070Spatrickset(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "") 28*12c85518Srobertset(CLANG_DEFAULT_UNWINDLIB libunwind CACHE STRING "") 29e5dd7070Spatrickset(CLANG_ENABLE_ARCMT OFF CACHE BOOL "") 30*12c85518Srobertset(CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "") 31e5dd7070Spatrickset(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "") 32e5dd7070Spatrick 33e5dd7070Spatrickset(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "") 34e5dd7070Spatrickset(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "") 35e5dd7070Spatrick 36e5dd7070Spatrickset(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") 37*12c85518Srobertset(LLVM_ENABLE_BACKTRACES ON CACHE BOOL "") 38e5dd7070Spatrickset(CMAKE_BUILD_TYPE Release CACHE STRING "") 39e5dd7070Spatrickif(APPLE) 40a9ac8606Spatrick set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "") 41a9ac8606Spatrickelseif(WIN32) 42ec727ea7Spatrick set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded" CACHE STRING "") 43e5dd7070Spatrickendif() 44e5dd7070Spatrick 45e5dd7070Spatrickif(APPLE) 46e5dd7070Spatrick set(COMPILER_RT_ENABLE_IOS OFF CACHE BOOL "") 47e5dd7070Spatrick set(COMPILER_RT_ENABLE_TVOS OFF CACHE BOOL "") 48e5dd7070Spatrick set(COMPILER_RT_ENABLE_WATCHOS OFF CACHE BOOL "") 49e5dd7070Spatrickendif() 50e5dd7070Spatrick 51*12c85518Srobertif(WIN32) 52*12c85518Srobert set(LIBCXX_ABI_VERSION 2 CACHE STRING "") 53*12c85518Srobert set(LIBCXX_ENABLE_FILESYSTEM OFF CACHE BOOL "") 54*12c85518Srobert set(LIBCXX_ENABLE_ABI_LINKER_SCRIPT OFF CACHE BOOL "") 55*12c85518Srobert set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") 56*12c85518Srobert set(BUILTINS_CMAKE_ARGS -DCMAKE_SYSTEM_NAME=Windows CACHE STRING "") 57*12c85518Srobert set(RUNTIMES_CMAKE_ARGS -DCMAKE_SYSTEM_NAME=Windows CACHE STRING "") 58*12c85518Srobert set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx" CACHE STRING "") 59*12c85518Srobertelse() 60e5dd7070Spatrick set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") 61e5dd7070Spatrick set(LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") 62e5dd7070Spatrick set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") 63e5dd7070Spatrick set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") 64e5dd7070Spatrick set(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") 65e5dd7070Spatrick set(LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") 66e5dd7070Spatrick set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") 67e5dd7070Spatrick set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") 68e5dd7070Spatrick set(LIBCXX_ABI_VERSION 2 CACHE STRING "") 69e5dd7070Spatrick set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") 70e5dd7070Spatrick set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") 71*12c85518Srobert set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") 72ec727ea7Spatrick set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") 73*12c85518Srobert set(RUNTIMES_CMAKE_ARGS "-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13;-DCMAKE_OSX_ARCHITECTURES=arm64|x86_64" CACHE STRING "") 74ec727ea7Spatrickendif() 75e5dd7070Spatrick 76e5dd7070Spatrickif(BOOTSTRAP_CMAKE_SYSTEM_NAME) 77e5dd7070Spatrick set(target "${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET}") 78e5dd7070Spatrick if(STAGE2_LINUX_${target}_SYSROOT) 79ec727ea7Spatrick set(LLVM_BUILTIN_TARGETS "${target}" CACHE STRING "") 80e5dd7070Spatrick set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") 81e5dd7070Spatrick set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") 82e5dd7070Spatrick set(BUILTINS_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") 83e5dd7070Spatrick 84ec727ea7Spatrick set(LLVM_RUNTIME_TARGETS "${target}" CACHE STRING "") 85e5dd7070Spatrick set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") 86e5dd7070Spatrick set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") 87e5dd7070Spatrick set(RUNTIMES_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") 88ec727ea7Spatrick set(RUNTIMES_${target}_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "") 89e5dd7070Spatrick set(RUNTIMES_${target}_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") 90e5dd7070Spatrick set(RUNTIMES_${target}_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") 91e5dd7070Spatrick set(RUNTIMES_${target}_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") 92e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") 93e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") 94e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") 95e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") 96e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") 97e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") 98e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") 99e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") 100e5dd7070Spatrick set(RUNTIMES_${target}_LIBCXX_ABI_VERSION 2 CACHE STRING "") 101a9ac8606Spatrick set(RUNTIMES_${target}_LLVM_ENABLE_ASSERTIONS OFF CACHE BOOL "") 102ec727ea7Spatrick set(RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "") 103e5dd7070Spatrick set(RUNTIMES_${target}_SANITIZER_CXX_ABI "libc++" CACHE STRING "") 104e5dd7070Spatrick set(RUNTIMES_${target}_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "") 105e5dd7070Spatrick endif() 106e5dd7070Spatrickendif() 107e5dd7070Spatrick 108e5dd7070Spatrickif(UNIX) 109e5dd7070Spatrick set(BOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 110e5dd7070Spatrick set(BOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 111e5dd7070Spatrick set(BOOTSTRAP_CMAKE_EXE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 112e5dd7070Spatrickendif() 113e5dd7070Spatrick 114e5dd7070Spatrickset(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "") 115*12c85518Srobertset(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "") 116e5dd7070Spatrick 117e5dd7070Spatrickset(CLANG_BOOTSTRAP_TARGETS 118e5dd7070Spatrick check-all 119e5dd7070Spatrick check-clang 120e5dd7070Spatrick check-lld 121a9ac8606Spatrick check-llvm 122a9ac8606Spatrick check-polly 123e5dd7070Spatrick llvm-config 124e5dd7070Spatrick clang-test-depends 125e5dd7070Spatrick lld-test-depends 126a9ac8606Spatrick llvm-test-depends 127a9ac8606Spatrick test-suite 128a9ac8606Spatrick test-depends 129e5dd7070Spatrick distribution 130e5dd7070Spatrick install-distribution 131e5dd7070Spatrick install-distribution-stripped 132e5dd7070Spatrick install-distribution-toolchain 133e5dd7070Spatrick clang CACHE STRING "") 134e5dd7070Spatrick 135e5dd7070Spatrickget_cmake_property(variableNames VARIABLES) 136e5dd7070Spatrickforeach(variableName ${variableNames}) 137e5dd7070Spatrick if(variableName MATCHES "^STAGE2_") 138e5dd7070Spatrick string(REPLACE "STAGE2_" "" new_name ${variableName}) 139e5dd7070Spatrick list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}") 140e5dd7070Spatrick endif() 141e5dd7070Spatrickendforeach() 142e5dd7070Spatrick 143e5dd7070Spatrick# Setup the bootstrap build. 144e5dd7070Spatrickset(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "") 145e5dd7070Spatrickset(CLANG_BOOTSTRAP_EXTRA_DEPS 146e5dd7070Spatrick builtins 147e5dd7070Spatrick runtimes 148e5dd7070Spatrick CACHE STRING "") 149e5dd7070Spatrickset(CLANG_BOOTSTRAP_CMAKE_ARGS 150e5dd7070Spatrick ${EXTRA_ARGS} 151e5dd7070Spatrick -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake 152e5dd7070Spatrick CACHE STRING "") 153