I'm creating this PR to discuss adding libc++ to LLVM ports.
root@talos:$~$ cat test.cpp; clang++80 test.cpp; uname -a
using namespace std;
string greeting("Hello world!");
cout << greeting << endl;
test.cpp:1:9: fatal error: 'iostream' file not found
1 error generated.
FreeBSD talos.anongoth.pl 12.0-RELEASE-p3 FreeBSD 12.0-RELEASE-p3 #5 r343843M: Wed Feb 6 21:25:38 CET 2019 firstname.lastname@example.org:/usr/obj/usr/src/powerpc.powerpc64/sys/GENERIC64 powerpc
As you can see, libc++ is currently unavailable on e.g. powerpc64 (and other GCC architectures). libc++ is present neither in base nor in LLVM ports.
There's also no separate libc++ port (there used to be). Would it be possible to either:
a) add libc++ port, on which LLVM ports would depend on (at least on GCC architectures), or
b) include libc++ in LLVM ports (at least on GCC architectures)
This issue blocks many ports (including Firefox).
While I'm not against this, I seem to remember some objections in the past. Can somebody dig up the older PRs for ports-based libc++?
Baptiste and Bryan will probably have some ideas about this too :)
I remain concerned that if we start providing libc++.so with devel/llvm* that we'll end up with the cross threaded linkage hell we've historically had with gcc ports. I think we're less likely to run into issues with a devel/libc++, but even there we'll likely see issues with unrecorded dependencies. Someone should implement/resurrect a devel/libc++ and see if the result is actually usable.