[130982] trunk/dports/lang/libcxx/files/leopard-buildit.patch

Jeremy Huddleston Sequoia jeremyhu at macports.org
Sun Jan 4 18:49:39 PST 2015

> On Jan 4, 2015, at 18:20, Ryan Schmidt <ryandesign at macports.org> wrote:
> On Jan 4, 2015, at 8:08 PM, Jeremy Huddleston Sequoia wrote:
>> On Jan 4, 2015, at 18:00, Ryan Schmidt wrote:
>>> On Jan 4, 2015, at 3:17 PM, jeremyhu at macports.org wrote:
>>>> Revision
>>>> 130982
>>>> Author
>>>> jeremyhu at macports.org
>>>> Date
>>>> 2015-01-04 13:17:31 -0800 (Sun, 04 Jan 2015)
>>>> Log Message
>>>> libcxx: Build fix for Leopard
>>> You have libc++ working on Leopard? Wow.
>> I haven't really done much testing with it yet, but it passes the "Hello World" test at least:
>> (18:05:34 Sun Jan 04 2015 jeremy at nanake-leo i386)
>> ~ $ clang++-mp-3.4 -std=c++11 -stdlib=libc++ hello_world.cxx -o hello_world && ./hello_world
>> Hello world.
> Neat. Too bad it's x86-only, though. :(

Yeah, ppc support in llvm is a bit lacking.  I know there were some people working on it, but I haven't really looked into that for a couple years now.  If I recall, I had some ppc related changes that landed in 3.3, but I just fixed a couple issues and added some assertions to cause the compiler to abort if we hit some unimplemented paths (rather than emitting broken code).  I think someone else picked up from there, and some additional things landed in 3.4 and 3.5 for Linux/ppc which likely help out darwin/ppc.

I added "supported archs i386 x86_64" mainly because I want to make sure everything is working fine with Leopard/intel as a first step.  If you feel adventurous, by all means, give it a try and see how far you get.

If clang-3.4 isn't good enough to produce a viable libc++ for darwin/ppc, then we may need to try a newer compiler.  If that works, we can hopefully cherry-pick relevant changes into our llvm-3.4 port or just distribute libc++ for Leopard as a binary to work around the bootstrapping problem (since llvm-3.5 and later require C++11 to build).

More information about the macports-dev mailing list