10
10
#
11
11
# Configure:
12
12
# cmake -G Ninja ^
13
- # -DTARGET_TRIPLE =armv7-unknown-linux-gnueabihf ^
13
+ # -DTOOLCHAIN_TARGET_TRIPLE =armv7-unknown-linux-gnueabihf ^
14
14
# -DCMAKE_INSTALL_PREFIX=../install ^
15
15
# -DDEFAULT_SYSROOT=<path-to-develop-arm-linux-root-fs> ^
16
16
# -DLLVM_AR=<llvm_obj_root>/bin/llvm-ar[.exe] ^
25
25
# cmake --build . --target check-llvm
26
26
# cmake --build . --target check-clang
27
27
# cmake --build . --target check-lld
28
- # cmake --build . --target check-compiler-rt-<TARGET_TRIPLE >
29
- # cmake --build . --target check-cxxabi-<TARGET_TRIPLE >
30
- # cmake --build . --target check-unwind-<TARGET_TRIPLE >
31
- # cmake --build . --target check-cxx-<TARGET_TRIPLE >
28
+ # cmake --build . --target check-compiler-rt-<TOOLCHAIN_TARGET_TRIPLE >
29
+ # cmake --build . --target check-cxxabi-<TOOLCHAIN_TARGET_TRIPLE >
30
+ # cmake --build . --target check-unwind-<TOOLCHAIN_TARGET_TRIPLE >
31
+ # cmake --build . --target check-cxx-<TOOLCHAIN_TARGET_TRIPLE >
32
32
33
33
# LLVM_PROJECT_DIR is the path to the llvm-project directory.
34
34
# The right way to compute it would probably be to use "${CMAKE_SOURCE_DIR}/../",
@@ -55,40 +55,40 @@ if (NOT DEFINED LLVM_ENABLE_RUNTIMES)
55
55
set (LLVM_ENABLE_RUNTIMES "compiler-rt;libunwind;libcxxabi;libcxx" CACHE STRING "" )
56
56
endif ()
57
57
58
- if (NOT DEFINED TARGET_TRIPLE )
59
- set (TARGET_TRIPLE "armv7-unknown-linux-gnueabihf" )
58
+ if (NOT DEFINED TOOLCHAIN_TARGET_TRIPLE )
59
+ set (TOOLCHAIN_TARGET_TRIPLE "armv7-unknown-linux-gnueabihf" )
60
60
else ()
61
61
#NOTE: we must normalize specified target triple to a fully specified triple,
62
62
# including the vendor part. It is necessary to synchronize the runtime library
63
63
# installation path and operable target triple by Clang to get a correct runtime
64
64
# path through `-print-runtime-dir` Clang option.
65
- string (REPLACE "-" ";" TARGET_TRIPLE "${TARGET_TRIPLE } " )
66
- list (LENGTH TARGET_TRIPLE TARGET_TRIPLE_LEN )
67
- if (TARGET_TRIPLE_LEN LESS 3 )
65
+ string (REPLACE "-" ";" TOOLCHAIN_TARGET_TRIPLE "${TOOLCHAIN_TARGET_TRIPLE } " )
66
+ list (LENGTH TOOLCHAIN_TARGET_TRIPLE TOOLCHAIN_TARGET_TRIPLE_LEN )
67
+ if (TOOLCHAIN_TARGET_TRIPLE_LEN LESS 3 )
68
68
message (FATAL_ERROR "invalid target triple" )
69
69
endif ()
70
70
# We suppose missed vendor's part.
71
- if (TARGET_TRIPLE_LEN LESS 4 )
72
- list (INSERT TARGET_TRIPLE 1 "unknown" )
71
+ if (TOOLCHAIN_TARGET_TRIPLE_LEN LESS 4 )
72
+ list (INSERT TOOLCHAIN_TARGET_TRIPLE 1 "unknown" )
73
73
endif ()
74
- string (REPLACE ";" "-" TARGET_TRIPLE "${TARGET_TRIPLE } " )
74
+ string (REPLACE ";" "-" TOOLCHAIN_TARGET_TRIPLE "${TOOLCHAIN_TARGET_TRIPLE } " )
75
75
endif ()
76
76
77
77
if (NOT DEFINED CMAKE_BUILD_TYPE )
78
78
set (CMAKE_BUILD_TYPE "Release" CACHE STRING "" )
79
79
endif ()
80
80
81
- message (STATUS "Toolchain target triple: ${TARGET_TRIPLE } " )
81
+ message (STATUS "Toolchain target triple: ${TOOLCHAIN_TARGET_TRIPLE } " )
82
82
83
83
set (CMAKE_CROSSCOMPILING ON CACHE BOOL "" )
84
84
set (CMAKE_CL_SHOWINCLUDES_PREFIX "Note: including file: " CACHE STRING "" )
85
85
# Required if COMPILER_RT_DEFAULT_TARGET_ONLY is ON
86
- set (CMAKE_C_COMPILER_TARGET "${TARGET_TRIPLE } " CACHE STRING "" )
87
- set (CMAKE_CXX_COMPILER_TARGET "${TARGET_TRIPLE } " CACHE STRING "" )
86
+ set (CMAKE_C_COMPILER_TARGET "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
87
+ set (CMAKE_CXX_COMPILER_TARGET "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
88
88
89
89
set (LLVM_ENABLE_PER_TARGET_RUNTIME_DIR ON CACHE BOOL "" )
90
- set (LLVM_DEFAULT_TARGET_TRIPLE "${TARGET_TRIPLE } " CACHE STRING "" )
91
- set (LLVM_TARGET_ARCH "${TARGET_TRIPLE } " CACHE STRING "" )
90
+ set (LLVM_DEFAULT_TARGET_TRIPLE "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
91
+ set (LLVM_TARGET_ARCH "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
92
92
set (LLVM_LIT_ARGS "-vv ${LLVM_LIT_ARGS} " CACHE STRING "" FORCE )
93
93
94
94
set (CLANG_DEFAULT_LINKER "lld" CACHE STRING "" )
@@ -104,56 +104,56 @@ if (NOT DEFINED RUNTIMES_INSTALL_RPATH)
104
104
set (RUNTIMES_INSTALL_RPATH "\$ ORIGIN/../lib;${CMAKE_INSTALL_PREFIX} /lib" )
105
105
endif ()
106
106
107
- set (LLVM_BUILTIN_TARGETS "${TARGET_TRIPLE } " CACHE STRING "" )
107
+ set (LLVM_BUILTIN_TARGETS "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
108
108
109
- set (BUILTINS_${TARGET_TRIPLE }_CMAKE_SYSTEM_NAME "Linux" CACHE STRING "" )
110
- set (BUILTINS_${TARGET_TRIPLE }_CMAKE_SYSROOT "${DEFAULT_SYSROOT} " CACHE STRING "" )
111
- set (BUILTINS_${TARGET_TRIPLE }_CMAKE_INSTALL_RPATH "${RUNTIMES_INSTALL_RPATH} " CACHE STRING "" )
112
- set (BUILTINS_${TARGET_TRIPLE }_CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "" )
109
+ set (BUILTINS_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_SYSTEM_NAME "Linux" CACHE STRING "" )
110
+ set (BUILTINS_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_SYSROOT "${DEFAULT_SYSROOT} " CACHE STRING "" )
111
+ set (BUILTINS_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_INSTALL_RPATH "${RUNTIMES_INSTALL_RPATH} " CACHE STRING "" )
112
+ set (BUILTINS_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "" )
113
113
114
114
115
- set (LLVM_RUNTIME_TARGETS "${TARGET_TRIPLE } " CACHE STRING "" )
115
+ set (LLVM_RUNTIME_TARGETS "${TOOLCHAIN_TARGET_TRIPLE } " CACHE STRING "" )
116
116
117
- set (RUNTIMES_${TARGET_TRIPLE }_LLVM_ENABLE_RUNTIMES "${LLVM_ENABLE_RUNTIMES} " CACHE STRING "" )
117
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LLVM_ENABLE_RUNTIMES "${LLVM_ENABLE_RUNTIMES} " CACHE STRING "" )
118
118
119
- set (RUNTIMES_${TARGET_TRIPLE }_CMAKE_SYSTEM_NAME "Linux" CACHE STRING "" )
120
- set (RUNTIMES_${TARGET_TRIPLE }_CMAKE_SYSROOT "${DEFAULT_SYSROOT} " CACHE STRING "" )
121
- set (RUNTIMES_${TARGET_TRIPLE }_CMAKE_INSTALL_RPATH "${RUNTIMES_INSTALL_RPATH} " CACHE STRING "" )
122
- set (RUNTIMES_${TARGET_TRIPLE }_CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "" )
119
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_SYSTEM_NAME "Linux" CACHE STRING "" )
120
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_SYSROOT "${DEFAULT_SYSROOT} " CACHE STRING "" )
121
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_INSTALL_RPATH "${RUNTIMES_INSTALL_RPATH} " CACHE STRING "" )
122
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_CMAKE_BUILD_WITH_INSTALL_RPATH ON CACHE BOOL "" )
123
123
124
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "" )
125
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "" )
126
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "" )
127
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "" )
128
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_PROFILE OFF CACHE BOOL "" )
129
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_CRT OFF CACHE BOOL "" )
130
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_BUILD_ORC OFF CACHE BOOL "" )
131
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "" )
132
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_INCLUDE_TESTS ON CACHE BOOL "" )
133
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_CAN_EXECUTE_TESTS ON CACHE BOOL "" )
124
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "" )
125
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "" )
126
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "" )
127
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "" )
128
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_PROFILE OFF CACHE BOOL "" )
129
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_CRT OFF CACHE BOOL "" )
130
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_BUILD_ORC OFF CACHE BOOL "" )
131
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "" )
132
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_INCLUDE_TESTS ON CACHE BOOL "" )
133
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_CAN_EXECUTE_TESTS ON CACHE BOOL "" )
134
134
135
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "" )
135
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "" )
136
136
137
- set (RUNTIMES_${TARGET_TRIPLE }_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "" )
138
- set (RUNTIMES_${TARGET_TRIPLE }_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "" )
137
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "" )
138
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBUNWIND_ENABLE_SHARED OFF CACHE BOOL "" )
139
139
140
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "" )
141
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "" )
142
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "" )
143
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "" )
144
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "" )
145
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "" )
140
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "" )
141
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_ENABLE_STATIC_UNWINDER ON CACHE BOOL "" )
142
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "" )
143
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_ENABLE_NEW_DELETE_DEFINITIONS OFF CACHE BOOL "" )
144
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "" )
145
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "" )
146
146
147
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "" )
148
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "" )
147
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXXABI OFF CACHE BOOL "" )
148
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_LINK_TESTS_WITH_SHARED_LIBCXX OFF CACHE BOOL "" )
149
149
150
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "" )
151
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "" )
152
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_ABI_VERSION 2 CACHE STRING "" )
153
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_CXX_ABI "libcxxabi" CACHE STRING "" ) #!!!
154
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_CXX_ABI_INCLUDE_PATHS "${LLVM_PROJECT_DIR} /libcxxabi/include" CACHE PATH "" )
155
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_CXX_ABI_LIBRARY_PATH "${CMAKE_BINARY_DIR} /lib/${TARGET_TRIPLE } " CACHE PATH "" )
156
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS ON CACHE BOOL "" )
150
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "" )
151
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "" )
152
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_ABI_VERSION 2 CACHE STRING "" )
153
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_CXX_ABI "libcxxabi" CACHE STRING "" ) #!!!
154
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_CXX_ABI_INCLUDE_PATHS "${LLVM_PROJECT_DIR} /libcxxabi/include" CACHE PATH "" )
155
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_CXX_ABI_LIBRARY_PATH "${CMAKE_BINARY_DIR} /lib/${TOOLCHAIN_TARGET_TRIPLE } " CACHE PATH "" )
156
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_ENABLE_NEW_DELETE_DEFINITIONS ON CACHE BOOL "" )
157
157
158
158
159
159
find_package (Python3 COMPONENTS Interpreter )
@@ -168,21 +168,21 @@ if(DEFINED REMOTE_TEST_HOST)
168
168
set (DEFAULT_TEST_TARGET_INFO "libcxx.test.target_info.LinuxRemoteTI" )
169
169
endif ()
170
170
171
- set (RUNTIMES_${TARGET_TRIPLE }_COMPILER_RT_EMULATOR
171
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_COMPILER_RT_EMULATOR
172
172
"\\\" ${Python3_EXECUTABLE} \\\" \\\" ${LLVM_PROJECT_DIR} /llvm/utils/remote-exec.py\\\" --execdir %%T --exec-pattern='.*\\ .c.*\\ .tmp.*' --host='${REMOTE_TEST_USER} @${REMOTE_TEST_HOST} '"
173
173
CACHE STRING "" )
174
174
175
- set (RUNTIMES_${TARGET_TRIPLE }_LIBUNWIND_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
176
- set (RUNTIMES_${TARGET_TRIPLE }_LIBUNWIND_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
175
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBUNWIND_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
176
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBUNWIND_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
177
177
178
178
#NOTE: temporary workaround to fix the remote execution for libunwind tests.
179
179
# https://reviews.llvm.org/D112082
180
- set (RUNTIMES_${TARGET_TRIPLE }_LIBUNWIND_TEST_CONFIG "${LLVM_PROJECT_DIR} /libunwind/test/lit.site.cfg.in" CACHE PATH "" )
180
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBUNWIND_TEST_CONFIG "${LLVM_PROJECT_DIR} /libunwind/test/lit.site.cfg.in" CACHE PATH "" )
181
181
182
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
183
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXXABI_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
184
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
185
- set (RUNTIMES_${TARGET_TRIPLE }_LIBCXX_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
182
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
183
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXXABI_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
184
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_TARGET_INFO "${DEFAULT_TEST_TARGET_INFO} " CACHE STRING "" )
185
+ set (RUNTIMES_${TOOLCHAIN_TARGET_TRIPLE }_LIBCXX_EXECUTOR "${DEFAULT_TEST_EXECUTOR} " CACHE STRING "" )
186
186
endif ()
187
187
188
188
set (LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "" )
0 commit comments