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