[cfe-dev] libc++ on Mac OS X 10.6

Jonathan Sauer jonathan.sauer at gmx.de
Mon Oct 10 07:56:28 PDT 2011


>>>>>> That seems to work for libc++. However, the problem persists when building an XCode project on 10.6:
>>>>>> | clang: error: invalid deployment target for -stdlib=libc++ (requires Mac OS X 10.7 or later)
>>>>>> When I change the build variable MACOSX_DEPLOYMENT_TARGET to 10.7, the project builds, but of course crashes on
>>>>>> startup.
>>>>>> The TOT from last week worked perfectly. Is there a non-political (i.e. not Apple wanting people to ditch 10.6)
>>>>>> reason for this change?
>>>>> T> he commit you're looking for is r141374 ( https://llvm.org/viewvc/llvm-project?view=rev&sortby=log&revision=141374 )
>>>>> Until you got an official response, you can at least look at the changes, and patch your local clang copy to be able to continue to use clang/libc++ on 10.6.
>>>> Seems like that changes in ToolChains.cpp are related to iOS simulator, and commit message states about "Lion support", not dropping of everything else :)
>> Unless you only support the latest and greatest ;-)
>>> Yes, but despite its name, it looks like that LibCXXForSimulator is checked even when you don't target iOS (or iOS simulator).
>> Then I would guess it's simply a bug that Howard did not catch because he is already using 10.7.
>> Jonathan
>> P.S: After changing line 929 of ToolChains.cpp to "isMacosxVersionLT(10, 6)", clang again compiles source for 10.6.
>> Thanks again, Jean-Daniel!
> I have no knowledge of the change in ToolChains.cpp.  I was not the author, and I'm not familiar with this code.

Yes, sorry, I simply assumed that you made the change, as it's related to libc++.

>  Note that Apple never supported libc++ on 10.6, and I am not testing against it.  The port to 10.6 was purely open source.  I was aware you could use libc++/clang from the command line on 10.6, but I didn't know you could use it from within Xcode on 10.6.

Just change the path in XCode's clang plugin and pass -stdlib=libc++ and -lc++, and you're good to go. I've been
using clang TOT for about a year now, and clang/libc++ for half a year.

> As this is an open source project, perhaps you can lobby for the change you want. :-)

I lobby to revert r141374, since it breaks existing functionality :-)

Also, what about build bots for libc++? libc++ should be integrated into LLVM's testing infrastructure.


More information about the cfe-dev mailing list