phosek added a subscriber: beanz. phosek added a comment. We currently support two different layouts:
1. The standard layout (for a lack of a better name) which is used when libc++ is built standalone as well as being built as part of LLVM without any other options which is `$DESTDIR/include/c++/v1` for headers and `$DESTDIR/lib` for libraries. Clang driver knows where to find those headers and libraries when libc++ is selected, the problem is that this only works for the default target since there's going to be just a single copy of `$DESTDIR/lib/libc++.so`, etc. 2. The mutliarch runtime layout where headers are installed to `$DESTDIR/lib/clang/$CLANG_VERSION/include/c++/v1` and libraries to `$DESTDIR/lib/clang/$CLANG_VERSION/$TARGET/lib` where `$TARGET` is the target passed to Clang, e.g. `--target=x86-linux-gnu`. This layout supports distributing libc++ (and other runtimes) for multiple different targets with your toolchain. The reason we cannot use the same prefix for both headers and libraries is the multiarch runtime layout since headers and libraries are installed to different paths. Fuchsia is currently the first toolchain that AFAIK uses the new layout for its toolchain, but @beanz is working on using this layout also for Darwin. Android team also expressed interest in using the new layout since they need to support multiple targets in their toolchain. Repository: rCXX libc++ https://reviews.llvm.org/D49584 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits