xref: /netbsd-src/external/apache2/llvm/dist/clang/cmake/caches/Fuchsia.cmake (revision e038c9c4676b0f19b1b7dd08a940c6ed64a6d5ae)
17330f729Sjoerg# This file sets up a CMakeCache for a Fuchsia toolchain build.
27330f729Sjoerg
3*e038c9c4Sjoergset(LLVM_TARGETS_TO_BUILD X86;ARM;AArch64;RISCV CACHE STRING "")
47330f729Sjoerg
57330f729Sjoergset(PACKAGE_VENDOR Fuchsia CACHE STRING "")
67330f729Sjoerg
7*e038c9c4Sjoergset(LLVM_ENABLE_PROJECTS "clang;clang-tools-extra;lld;llvm;polly" CACHE STRING "")
8*e038c9c4Sjoerg
97330f729Sjoergset(LLVM_ENABLE_BACKTRACES OFF CACHE BOOL "")
107330f729Sjoergset(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "")
117330f729Sjoergset(LLVM_ENABLE_TERMINFO OFF CACHE BOOL "")
127330f729Sjoergset(LLVM_ENABLE_UNWIND_TABLES OFF CACHE BOOL "")
137330f729Sjoergset(LLVM_ENABLE_ZLIB OFF CACHE BOOL "")
147330f729Sjoergset(LLVM_INCLUDE_DOCS OFF CACHE BOOL "")
157330f729Sjoergset(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "")
167330f729Sjoergset(LLVM_INCLUDE_GO_TESTS OFF CACHE BOOL "")
177330f729Sjoerg
18*e038c9c4Sjoergif(MSVC)
19*e038c9c4Sjoerg  set(LLVM_USE_CRT_RELEASE "MT" CACHE STRING "")
20*e038c9c4Sjoergendif()
21*e038c9c4Sjoerg
227330f729Sjoergset(CLANG_DEFAULT_CXX_STDLIB libc++ CACHE STRING "")
237330f729Sjoergif(NOT APPLE)
247330f729Sjoerg  set(CLANG_DEFAULT_LINKER lld CACHE STRING "")
257330f729Sjoerg  set(CLANG_DEFAULT_OBJCOPY llvm-objcopy CACHE STRING "")
267330f729Sjoergendif()
277330f729Sjoergset(CLANG_DEFAULT_RTLIB compiler-rt CACHE STRING "")
287330f729Sjoergset(CLANG_ENABLE_ARCMT OFF CACHE BOOL "")
29*e038c9c4Sjoergset(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "")
307330f729Sjoergset(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
317330f729Sjoerg
327330f729Sjoergset(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER ON CACHE BOOL "")
337330f729Sjoergset(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "")
347330f729Sjoergset(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "")
357330f729Sjoerg
367330f729Sjoergset(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
377330f729Sjoergset(CMAKE_BUILD_TYPE Release CACHE STRING "")
387330f729Sjoergif(APPLE)
39*e038c9c4Sjoerg  set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13" CACHE STRING "")
40*e038c9c4Sjoergelseif(MSVC)
41*e038c9c4Sjoerg  set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded" CACHE STRING "")
427330f729Sjoergendif()
437330f729Sjoerg
447330f729Sjoergif(APPLE)
457330f729Sjoerg  set(COMPILER_RT_ENABLE_IOS OFF CACHE BOOL "")
467330f729Sjoerg  set(COMPILER_RT_ENABLE_TVOS OFF CACHE BOOL "")
477330f729Sjoerg  set(COMPILER_RT_ENABLE_WATCHOS OFF CACHE BOOL "")
487330f729Sjoergendif()
497330f729Sjoerg
507330f729Sjoergset(LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
517330f729Sjoergset(LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "")
527330f729Sjoergset(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "")
537330f729Sjoergset(LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
547330f729Sjoergset(LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "")
557330f729Sjoergset(LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "")
567330f729Sjoergset(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
577330f729Sjoergset(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
587330f729Sjoergset(LIBCXX_ABI_VERSION 2 CACHE STRING "")
597330f729Sjoergset(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
60*e038c9c4Sjoergif(WIN32)
61*e038c9c4Sjoerg  set(LIBCXX_HAS_WIN32_THREAD_API ON CACHE BOOL "")
62*e038c9c4Sjoerg  set(LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY OFF CACHE BOOL "")
63*e038c9c4Sjoerg  set(LIBCXX_ENABLE_FILESYSTEM OFF CACHE BOOL "")
64*e038c9c4Sjoerg  set(LIBCXX_ENABLE_ABI_LINKER_SCRIPT OFF CACHE BOOL "")
65*e038c9c4Sjoerg  set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY OFF CACHE BOOL "")
66*e038c9c4Sjoerg  set(BUILTINS_CMAKE_ARGS -DCMAKE_SYSTEM_NAME=Windows CACHE STRING "")
67*e038c9c4Sjoerg  set(RUNTIMES_CMAKE_ARGS -DCMAKE_SYSTEM_NAME=Windows CACHE STRING "")
68*e038c9c4Sjoerg  set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx" CACHE STRING "")
69*e038c9c4Sjoergelse()
707330f729Sjoerg  set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
71*e038c9c4Sjoerg  set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "")
72*e038c9c4Sjoergendif()
737330f729Sjoerg
747330f729Sjoergif(BOOTSTRAP_CMAKE_SYSTEM_NAME)
757330f729Sjoerg  set(target "${BOOTSTRAP_CMAKE_CXX_COMPILER_TARGET}")
767330f729Sjoerg  if(STAGE2_LINUX_${target}_SYSROOT)
77*e038c9c4Sjoerg    set(LLVM_BUILTIN_TARGETS "${target}" CACHE STRING "")
787330f729Sjoerg    set(BUILTINS_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "")
797330f729Sjoerg    set(BUILTINS_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
807330f729Sjoerg    set(BUILTINS_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "")
817330f729Sjoerg
82*e038c9c4Sjoerg    set(LLVM_RUNTIME_TARGETS "${target}" CACHE STRING "")
837330f729Sjoerg    set(RUNTIMES_${target}_CMAKE_SYSTEM_NAME Linux CACHE STRING "")
847330f729Sjoerg    set(RUNTIMES_${target}_CMAKE_BUILD_TYPE Release CACHE STRING "")
857330f729Sjoerg    set(RUNTIMES_${target}_CMAKE_SYSROOT ${STAGE2_LINUX_${target}_SYSROOT} CACHE STRING "")
86*e038c9c4Sjoerg    set(RUNTIMES_${target}_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "")
877330f729Sjoerg    set(RUNTIMES_${target}_LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
887330f729Sjoerg    set(RUNTIMES_${target}_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "")
897330f729Sjoerg    set(RUNTIMES_${target}_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "")
907330f729Sjoerg    set(RUNTIMES_${target}_LIBUNWIND_INSTALL_LIBRARY OFF CACHE BOOL "")
917330f729Sjoerg    set(RUNTIMES_${target}_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
927330f729Sjoerg    set(RUNTIMES_${target}_LIBCXXABI_ENABLE_SHARED OFF CACHE BOOL "")
937330f729Sjoerg    set(RUNTIMES_${target}_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
947330f729Sjoerg    set(RUNTIMES_${target}_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "")
957330f729Sjoerg    set(RUNTIMES_${target}_LIBCXXABI_INSTALL_LIBRARY OFF CACHE BOOL "")
967330f729Sjoerg    set(RUNTIMES_${target}_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
977330f729Sjoerg    set(RUNTIMES_${target}_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
987330f729Sjoerg    set(RUNTIMES_${target}_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
997330f729Sjoerg    set(RUNTIMES_${target}_LIBCXX_ABI_VERSION 2 CACHE STRING "")
100*e038c9c4Sjoerg    set(RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE STRING "")
1017330f729Sjoerg    set(RUNTIMES_${target}_SANITIZER_CXX_ABI "libc++" CACHE STRING "")
1027330f729Sjoerg    set(RUNTIMES_${target}_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "")
1037330f729Sjoerg  endif()
1047330f729Sjoergendif()
1057330f729Sjoerg
1067330f729Sjoergif(UNIX)
1077330f729Sjoerg  set(BOOTSTRAP_CMAKE_SHARED_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "")
1087330f729Sjoerg  set(BOOTSTRAP_CMAKE_MODULE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "")
1097330f729Sjoerg  set(BOOTSTRAP_CMAKE_EXE_LINKER_FLAGS "-ldl -lpthread" CACHE STRING "")
1107330f729Sjoergendif()
1117330f729Sjoerg
1127330f729Sjoergset(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
1137330f729Sjoergif(NOT APPLE)
1147330f729Sjoerg  set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
1157330f729Sjoergendif()
1167330f729Sjoerg
1177330f729Sjoergset(CLANG_BOOTSTRAP_TARGETS
1187330f729Sjoerg  check-all
1197330f729Sjoerg  check-clang
1207330f729Sjoerg  check-lld
121*e038c9c4Sjoerg  check-llvm
122*e038c9c4Sjoerg  check-polly
1237330f729Sjoerg  llvm-config
1247330f729Sjoerg  clang-test-depends
1257330f729Sjoerg  lld-test-depends
126*e038c9c4Sjoerg  llvm-test-depends
127*e038c9c4Sjoerg  test-suite
128*e038c9c4Sjoerg  test-depends
1297330f729Sjoerg  distribution
1307330f729Sjoerg  install-distribution
1317330f729Sjoerg  install-distribution-stripped
1327330f729Sjoerg  install-distribution-toolchain
1337330f729Sjoerg  clang CACHE STRING "")
1347330f729Sjoerg
1357330f729Sjoergget_cmake_property(variableNames VARIABLES)
1367330f729Sjoergforeach(variableName ${variableNames})
1377330f729Sjoerg  if(variableName MATCHES "^STAGE2_")
1387330f729Sjoerg    string(REPLACE "STAGE2_" "" new_name ${variableName})
1397330f729Sjoerg    list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}")
1407330f729Sjoerg  endif()
1417330f729Sjoergendforeach()
1427330f729Sjoerg
1437330f729Sjoerg# Setup the bootstrap build.
1447330f729Sjoergset(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
1457330f729Sjoergset(CLANG_BOOTSTRAP_EXTRA_DEPS
1467330f729Sjoerg  builtins
1477330f729Sjoerg  runtimes
1487330f729Sjoerg  CACHE STRING "")
1497330f729Sjoergset(CLANG_BOOTSTRAP_CMAKE_ARGS
1507330f729Sjoerg  ${EXTRA_ARGS}
1517330f729Sjoerg  -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake
1527330f729Sjoerg  CACHE STRING "")
153