[PATCH] D67195: Adding support for overriding LLVM_ENABLE_RUNTIMES for runtimes builds.

Puyan Lotfi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 10 17:38:58 PDT 2019


plotfi added a comment.

Nice! Thanks @phosek. I’m fine with a revert. Currently away from keyboard.

In D67195#1665516 <https://reviews.llvm.org/D67195#1665516>, @phosek wrote:

> 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