Clang Project

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