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_BACKTRACES OFF CACHE BOOL "") 8set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "") 9set(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "") 10set(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "") 11set(LLVM_ENABLE_ZLIB OFF CACHE BOOL "") 12set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "") 13set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "") 14set(LLVM_INCLUDE_GO_TESTS OFF CACHE BOOL "") 15 16set(CLANG_DEFAULT_CXX_STDLIB libc++ CACHE STRING "") 17if(NOT APPLE) 18 set(CLANG_DEFAULT_LINKER lld CACHE STRING "") 19 set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "") 20endif() 21set(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "") 22set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "") 23set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "") 24set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "") 25 26set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER ON CACHE BOOL "") 27set(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "") 28set(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "") 29 30set(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") 31set(CMAKE_BUILD_TYPE Release CACHE STRING "") 32if (APPLE) 33 set(MACOSX_DEPLOYMENT_TARGET 10.7 CACHE STRING "") 34endif() 35 36if(APPLE) 37 set(COMPILER_RT_ENABLE_IOS OFF CACHE BOOL "") 38 set(COMPILER_RT_ENABLE_TVOS OFF CACHE BOOL "") 39 set(COMPILER_RT_ENABLE_WATCHOS OFF CACHE BOOL "") 40endif() 41 42set(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") 43set(LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") 44set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") 45set(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") 46set(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") 47set(LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") 48set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") 49set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") 50set(LIBCXX_ABI_VERSION 2 CACHE STRING "") 51set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") 52set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") 53set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") 54 55if(BOOTSTRAP_CMAKE_SYSTEM_NAME) 56 set(target "${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET}") 57 if(STAGE2_LINUX_${target}_SYSROOT) 58 set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") 59 set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") 60 set(BUILTINS_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") 61 set(LLVM_BUILTIN_TARGETS "${target}" CACHE STRING "") 62 63 set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "") 64 set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "") 65 set(RUNTIMES_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "") 66 set(RUNTIMES_${target}_LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "") 67 set(RUNTIMES_${target}_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "") 68 set(RUNTIMES_${target}_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "") 69 set(RUNTIMES_${target}_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "") 70 set(RUNTIMES_${target}_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "") 71 set(RUNTIMES_${target}_LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "") 72 set(RUNTIMES_${target}_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "") 73 set(RUNTIMES_${target}_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "") 74 set(RUNTIMES_${target}_LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "") 75 set(RUNTIMES_${target}_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "") 76 set(RUNTIMES_${target}_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "") 77 set(RUNTIMES_${target}_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "") 78 set(RUNTIMES_${target}_LIBCXX_ABI_VERSION 2 CACHE STRING "") 79 set(RUNTIMES_${target}_SANITIZER_CXX_ABI "libc++" CACHE STRING "") 80 set(RUNTIMES_${target}_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "") 81 set(RUNTIMES_${target}_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "") 82 set(LLVM_RUNTIME_TARGETS "${target}" CACHE STRING "") 83 endif() 84endif() 85 86if(UNIX) 87 set(BOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 88 set(BOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 89 set(BOOTSTRAP_CMAKE_EXE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "") 90endif() 91 92set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "") 93if(NOT APPLE) 94 set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "") 95endif() 96 97set(CLANG_BOOTSTRAP_TARGETS 98 check-all 99 check-llvm 100 check-clang 101 check-lld 102 llvm-config 103 test-suite 104 test-depends 105 llvm-test-depends 106 clang-test-depends 107 lld-test-depends 108 distribution 109 install-distribution 110 install-distribution-stripped 111 install-distribution-toolchain 112 clang CACHE STRING "") 113 114get_cmake_property(variableNames VARIABLES) 115foreach(variableName ${variableNames}) 116 if(variableName MATCHES "^STAGE2_") 117 string(REPLACE "STAGE2_" "" new_name ${variableName}) 118 list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}") 119 endif() 120endforeach() 121 122# Setup the bootstrap build. 123set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "") 124set(CLANG_BOOTSTRAP_EXTRA_DEPS 125 builtins 126 runtimes 127 CACHE STRING "") 128set(CLANG_BOOTSTRAP_CMAKE_ARGS 129 ${EXTRA_ARGS} 130 -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake 131 CACHE STRING "") 132