[Lldb-commits] [PATCH] D64395: [CMake] Avoid libcxxabi dependency when building LLDB from the monorepo on macOS by default

Louis Dionne via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Jul 9 12:01:54 PDT 2019

ldionne added a comment.

In D64395#1575999 <https://reviews.llvm.org/D64395#1575999>, @sgraenitz wrote:

> Thanks for taking a look.
> In D64395#1575967 <https://reviews.llvm.org/D64395#1575967>, @ldionne wrote:
> > When is `LLDBConfig.cmake` used?
> Very early in the LLDB config process: https://github.com/llvm/llvm-project/blob/e0a3ee79c5ff/lldb/CMakeLists.txt#L15
>  Globally, I think LLDB is always configured after libc++. Does libc++ make decisions based on these values?

libc++ decides to build or not build `libc++.dylib`/`libc++.a` based on the value of `LIBCXX_ENABLE_SHARED` and `LIBCXX_ENABLE_STATIC`, if that's your question.

>> Will it influence whether `libc++.dylib` is built in the monorepo whenever you also happen to build LLDB?
> Yes, I think so. Adding lldb to `LLVM_ENABLE_PROJECTS` will disable `libc++.dylib` globally, ...

In that case, I'm really not a big fan of this approach. I think it's not good hygiene for another project to be poking at libc++'s build options like that. Those are meant to be set by end-users configuring what they want from libc++ only, not set by other projects in the monorepo. To illustrate, I think it's highly confusing if adding `-DLLVM_ENABLE_PROJECTS=lldb` suddenly disables the building of `libc++.dylib`.

I think your problem might fix itself with https://reviews.llvm.org/D63883. What exactly is the problem you're trying to solve?

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list