[libcxx-dev] [llvm-dev] [RFC] A vision for building the runtimes

Louis Dionne via libcxx-dev libcxx-dev at lists.llvm.org
Fri Oct 23 11:57:38 PDT 2020



> On Oct 23, 2020, at 14:19, Siva Chandra <sivachandra at google.com> wrote:
> 
> On Thu, Oct 22, 2020 at 3:31 PM Louis Dionne via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>> [1] If you're wondering what that would look like:
>> 
>>    $ mkdir <monorepo-root>/build
>>    $ cd <monorepo-root>/build
>>    $ cmake ../runtimes -DLLVM_ENABLE_PROJECTS="libcxx;libcxxabi;libunwind" \
>>        -C <path-to-your-cache-if-desired> \
>>        -DLIBCXX_ENABLE_XXX \
>>        -DLIBCXXABI_ENABLE_XXX \
>>        <other options>
>>    $ ninja install-cxx install-cxxabi
> 
> You mentioned elsewhere that you are only focussing on libc++,
> libc++abi and libunwind for now. Lets say libc joins this scheme
> sometime in future. Can one do:
> 
> $> cmake ../runtimes
> -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra;libc" <...>
> 
> The libc build currently needs llvm in all modes. For linting, we need
> clang and clang-tools-extra.

Then, I would say libc can't join this. libc++/libc++abi/libunwind are simple and they have few dependencies on the rest of LLVM (off the top of my head only llvm-lit). That's the major benefit of giving them a top-level build. If libc depends on LLVM and Clang, that's fine, however it would gain nothing from being built outside of LLVM.

Louis



More information about the libcxx-dev mailing list