[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?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64395/new/

https://reviews.llvm.org/D64395





More information about the lldb-commits mailing list