[cfe-dev] Ghettoization of libc++, libc++abi, compiler_rt and lldb
rjmccall at apple.com
Wed Nov 7 12:03:26 PST 2012
On Nov 6, 2012, at 1:52 AM, M.E. O'Neill wrote:
> Another example is libc++ and libc++abi. If their respective webpages are to be believed, they only work on OS X. Yet a quick perusal of the libc++ source reveals that it *is* intended to build on Linux (and likely builds on FreeBSD, too). But while it can be done, there are all sorts of traps and gotchas for those trying to build on Linux (e.g., the whole choose-a-workable C++ ABI issue; e.g., by default std::uncaught_exception() calls abort() -- PR13669). None of these aspects are documented in a clear way, leaving people to try to glean what they can from blog posts and inconclusive mailing list threads.
> Sometimes I hear excuses like, "Oh, I don't have a Linux box to test on", but these seem weak at best. Virtual Machines are easy to make. And if a developer lacks the skills or motivation to make a VM, they could perhaps ask here for volunteers to help, thereby making a friend who can help them test on other platforms besides their own.
All of the LLVM subprojects are extremely open to patches improving platform support. I'm sorry that you're running into problems getting various subprojects to work on your distribution; that's definitely not a state we want to be in. That said, expecting (say) Apple engineers to manually test deployment on every non-Apple platform is not really reasonable; that's just never going to be our priority. The right solution is to get it working and set up a buildbot to test that it stays working; at *that* point it's reasonable to expect that further commits won't break it. That initial work needs to come from someone who's actually familiar with the platform in question.
More information about the cfe-dev