[libcxx-commits] [PATCH] D107895: [runtimes] Set more paths when building runtimes standalone

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 24 13:59:43 PDT 2021


mstorsjo added a comment.

In D107895#2963426 <https://reviews.llvm.org/D107895#2963426>, @ldionne wrote:

> In D107895#2939733 <https://reviews.llvm.org/D107895#2939733>, @mstorsjo wrote:
>
>> In D107895#2939546 <https://reviews.llvm.org/D107895#2939546>, @ldionne wrote:
>>
>>> Can you describe how you're running the build? Are you using the runtimes/ directory as the top-level directory?
>>>
>>> I don't want to support yet another way of building the runtimes, there's already too many. If we add this one, it has to be better than the other alternatives and fix some issues so that we can remove support for the other ways to build.
>>
>> I’m running the building by pointing cmake at either libcxx
>
> That's the standalone build we're trying to get rid of, yeah.
>
>> or the llvm-projects/runtimes directory
>
> Do you mean using `llvm-projects/runtimes` as the top-level of the CMake invocation?

Yes

> The supported ways to build libc++ are https://libcxx.llvm.org/BuildingLibcxx.html#the-default-build and https://libcxx.llvm.org/BuildingLibcxx.html#bootstrapping-build (and the standalone build, which is not documented anymore).
>
> I'm not trying to push back on this change just for the sake of it, I'm really trying to understand whether this adds yet another way to build libc++ or not.

The per-runtime target directory layout isn't so much about a new way of building things - it's a boolean flag that applies on all ways of building libcxx (so given the current N ways of building it, technically there's 2*N ways to set it up), but it doesn't affect much how things are built - only how things are installed. Also, I don't think any of the current CI even tests the installed files, as the testsuite only uses the newly built files/headers in the buildtree - so even if we'd clone all the tests for the various configurations and add copies of them with the flag enabled, the CI tests would pass - they'd just be installing files in unexpected directories.

And finally: I'm not adding a new way of building libc++ - it has already been added, in D45604 <https://reviews.llvm.org/D45604>. It's just not very commonly used yet, but D107799 <https://reviews.llvm.org/D107799> attempts to enable it by default (in some setups).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D107895



More information about the libcxx-commits mailing list