[cfe-dev] libc++ on Mac OS X 10.6
Howard Hinnant
hhinnant at apple.com
Mon Oct 10 07:38:05 PDT 2011
On Oct 10, 2011, at 9:14 AM, Jonathan Sauer wrote:
>>>>>>> /llvm-bin/bin/clang++ temp.cc -stdlib=libc++
>>>>>>> clang: error: invalid deployment target for -stdlib=libc++ (requires Mac OS X 10.7 or later)
>>>>>>>
>>>>>>> This used to work on 10.6. Was there a good reason for breaking this on 10.6, and is there any workaround?
>>>>>>>
>>>>>>> I find this disappointing, as I had hoped the next release of clang, with libc++, would provide a good base-line C++0x compiler. However, I would really like not to require 10.7, as I know various people who do not intend to upgrade any time soon.
>>>>>> Sorry about that. I've updated the instructions for building on 10.6. Do:
>>>>>>
>>>>>> $ export MACOSX_DEPLOYMENT_TARGET=10.6
>>>>>>
>>>>>> prior to ./buildit
>>>>> 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. 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.
As this is an open source project, perhaps you can lobby for the change you want. :-)
Howard
More information about the cfe-dev
mailing list