[libcxx-commits] [PATCH] D89041: [libc++] Include <__config_site> from <__config>

Martin Storsjö via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Oct 23 00:09:27 PDT 2020


mstorsjo added a comment.

In D89041#2349100 <https://reviews.llvm.org/D89041#2349100>, @mstorsjo wrote:

> In D89041#2348645 <https://reviews.llvm.org/D89041#2348645>, @ldionne wrote:
>
>> In D89041#2348643 <https://reviews.llvm.org/D89041#2348643>, @ldionne wrote:
>>
>>> @mstorsjo  Can you please confirm whether 529ac33197f6408952ae995075ac5e2dc5287e81 <https://reviews.llvm.org/rG529ac33197f6408952ae995075ac5e2dc5287e81> resolves your issues?
>>
>> Also, please note that you'll need to pass the path to where the libc++ headers are *installed*, not just `libcxx/include`. If that's what you did previously, then this change is nicely preventing you from using mis-configured libc++ headers.
>
> That's indeed what I've been doing so far. When building things entirely from scratch, I can't build libcxx before I've built libcxxabi, and now libcxxabi can't make do with the out-of-the-box headers from libcxx either. And I'm not alone in using such a bootstrap procedure, https://reviews.llvm.org/D89518 also tries to document how to do such a setup.
>
> But maybe it's possible to run cmake on libcxx even though libcxxabi isn't built yet? In that case, I'd have to first configure libcxx (even though it can't be built yet due to missing libcxxabi) just to get proper "installed" libcxx headers, so that I can build libcxxabi, so I then can build libcxx. I'll see if I can make that work.

Yes, that does indeed seem to work; I first configure libcxx and build the `generate-cxx-headers` target, then configure libcxxabi, pointing it at the libcxx build dir's `<build>/include/c++/v1` directory and build libcxxabi, then finally build libcxx. (I can also build the `install-cxx-headers` target and point libcxxabi at `<installprefix>/include/c++/v1`.) As a bonus, this also seems to work the same with the 11 stable release. (If possible, I want to be able to build both the latest stable release and the current master with the same setup.)

I'll have a look at your unified standalone setup as well - it sounds like it could clean up a lot of issues like these and also get rid of a number of sharp edges and reliance on kinda internal details in how I build libunwind+libcxxabi+libcxx together right now.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D89041



More information about the libcxx-commits mailing list