This change allows cross-compiling compiler-rt builtins for multiple targets as part of runtimes on Darwin. This functionality is already supported on other platforms.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
cmake/modules/LLVMExternalProjectUtils.cmake | ||
---|---|---|
47 | This part of the change can't be done without causing problems on Darwin. llvm-ar and llvm-ranlib don't correctly handle fat archives on Darwin, so if you have a Darwin target we really don't want this to be the case. That's why this isn't defaulted. You really need to just override the TOOLCHAIN_TOOLS option at the call site. We also probably shouldn't have lld in the list, but it doesn't have any adverse side effects because we don't force its use. | |
runtimes/CMakeLists.txt | ||
156 | I believe this patch will misbehave if LLVM_BUILTIN_TARGETS is a Darwin target, so we probably need to put some sort of protection in to catch that. |
One minor style comment, otherwise looks good to me.
runtimes/CMakeLists.txt | ||
---|---|---|
185 | This shouldn't need to be semi-colon separated. Space separated should work because TOOLCHAIN_TOOLS is a list parameter. |
This part of the change can't be done without causing problems on Darwin. llvm-ar and llvm-ranlib don't correctly handle fat archives on Darwin, so if you have a Darwin target we really don't want this to be the case. That's why this isn't defaulted.
You really need to just override the TOOLCHAIN_TOOLS option at the call site. We also probably shouldn't have lld in the list, but it doesn't have any adverse side effects because we don't force its use.