[PATCH] D67195: Adding support for overriding LLVM_ENABLE_RUNTIMES for runtimes builds.
Petr Hosek via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 10 17:36:02 PDT 2019
phosek added a comment.
I think I see the issue, if you look at `LLVMExternalProjectUtils.cmake`, it uses the following logic for `PASSTHROUGH_PREFIXES`:
list(APPEND ARG_PASSTHROUGH_PREFIXES ${nameCanon})
foreach(prefix ${ARG_PASSTHROUGH_PREFIXES})
foreach(variableName ${variableNames})
if(variableName MATCHES "^${prefix}")
string(REPLACE ";" "|" value "${${variableName}}")
list(APPEND PASSTHROUGH_VARIABLES
-D${variableName}=${value})
endif()
endforeach()
endforeach()
We then set `LIST_SEPARATOR |` when invoking `ExternalProject_Add`.
Changing the list separator is really critical when passing through lists, as is the case for `LLVM_ENABLE_RUNTIMES` where the value would typically be `-DLLVM_ENABLE_RUNTIMES=compiler-rt;libcxx;libcxxabi;libunwind`. With your change, only the first value (i.e. `compiler-rt`) would be passed through to the `llvm_ExternalProject_Add` and the rest will be dropped hence this error we're seeing (because none of the other runtimes was built).
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67195/new/
https://reviews.llvm.org/D67195
More information about the llvm-commits
mailing list