RFC: LLVM Build System Future Direction

I haven’t been at the round table. Just to make sure, a late note on this:

There was disagreement over whether or not standalone builds of non-runtime sub-projects should remain. This specifically would relate to clang and lldb, and whether or not they can be built against installed or separately built copies of LLVM. There were points on both side of this discussion, and it will require more discussion to resolve.

Standalone builds of LLDB should remain possible, at least until Xcode can handle a CMake generated project of this size (without getting painfully slow) or gains a mechanism as described below. That was “the deal” when removing the manually maintained Xcode project last summer. Citing the documentation here and the build bot that checks the Xcode build regularly:

Yes fully agree! Think about all the specific functionality that’s involved here on the LLDB side: running SWIG, code-signing, entitlements, framework generation, etc. My experience with the friendship between Xcode and CMake was that it’s complicated. As a side note: the solution to use Xcode for LLDB development was to only build LLDB standalone with Xcode and have llvm/clang/libcxx in a provided Ninja build-tree. It worked quite well.