For anybody else reading, is there a specific intended direction with
regard to libc++ on linux?
I guess at a minimum it would be nice if we could say for clang/libc++
on linux:
* Forget libc++abi (which would be a shame)
* Use the pathscale components
* Set your clang defaults using method A
Would there be a recommendation on the different pieces (specifically
ABI and the unwind libraries)?
This is the crux of my question, really. Since libc++abi has all the boxes ticked for linux: http://libcxxabi.llvm.org/spec.html it's easy to assume that there are no more pieces to the puzzle. I'm sure Howard didn't do the work just for the challenge itself.
Even the libc++ page doesn't really tell you that it isn't complete; this page: http://libcxx.llvm.org gives a hint that libc++abi is needed, at least on Mac. Having said that, it doesn't tell you how to use it on Linux, is there really such little interest?
It's frustrating, because I have managed to get it to work for a small-ish project with quite a few dependencies (but subsequently broken it), but I'm not sure if what I did to get it to work is likely to continue to work with newer versions.
If I use clang with c++11, I either have to use an outdated libstdc++, which reduces my ability to use c++11, or find the right patch for a more recent libstdc++. I just want to use libc++ on Linux, out of the box (or at least, with some instructions that can be found on the website).
What is needed?
* ABI/Unwind recommendation (don't care what)
* Update the instructions on the libc++ home page
* Testing infrastructure?
* Do automatic test results get uploaded somewhere?
* If so, where are they?
* If not, why not?
* How can I contribute test runs?
Is this what I want? http://lab.llvm.org:8011/one_line_per_build
Is it possible to know what the configuration of the machines are? (Is it libstdc++ for gcc 4.2, libc++, which abi/unwind etc.)
* Rejoice.
I wouldn't even mind if I had two build separately two versions of
clang; one that works with libc++ (with any abi stuff that works) and
one that works with libstdc++ (which I'd probably not use).
I actually have 3 builds: clang built with g++, clang build with clang,
clang build with clang/libc++. Now I'm trying to remove the ABI and
unwind dependency on GCC.
I'm not concerned with how clang is built, I'm concerned about the code that it produces and the dependencies that code has.
For me, the point of having multiple builds was to be able to build-in the arguments for getting the compiler to compile and link my code with a given set of dependencies without having to specify those dependencies each time. I've seen too many broken makefiles for libraries I depend upon that ignore my best efforts to convince them to specify the right arguments to my compiler at the right time.
Basically I want to build a cross-compiler that targets the host, so that I don't have to specify anything to the build system other than the compiler path. It really should be that simple.
Ben