Hi David,

I think I've uncovered the source of confusion. If you have the full XCode 
application installed then the headers are buried inside the app under 
lib/c++/v1; if you have only the CommandLineTools installed, then the headers 
are under include/c++/v1. So checking based on $darwin_vers is a BAD idea. It 
should be checking where the headers are coming from, or perhaps best just to 
try both if one fails...

Under 10.9 Mavericks, it compiled fine using lib/c++/v1 ($darwin_vers between 
11 and 14). I then removed XCode.app, so that only the CommandLine tools were 
available. The build failed because the headers were under include 
(specifically /Library/Developer/CommandLineTools/usr/include/c++/v1).

Let me know how you'd like to sort this out in llvm34.info.

Thanks,
John

On Aug 29, 2014, at 2:16 PM, David Fang <f...@csl.cornell.edu> wrote:

> Hi John,
> 
>>>> 1) change line 131 of llvm34.info from
>>>> if test "$darwin_vers" -ge 11
>>>> to
>>>> if test "$darwin_vers" -ge 11 -a "$darwin_vers" -lt 14
>>> 
>>> Does that mean that the libc++ headers are once again in /usr/include?
>>> Or did you sudo add a symlink to make it work?
>>> Is there any harm in keeping that section on darwin14/Xcode-future?
>>> It is intended to work robustly for future Xcodes.
>>> 
>> Sorry for the slow reply: apparently in Xcode-6 the c++/v1 directory is once 
>> again under include vs. lib,
>> so the "old" behavior from darwin-10 (OS-X 10.6 I guess) works for Yosemite 
>> 10.10. I checked that this
>> modification didn't break anything under darwin-13 Mavericks 10.9, so I 
>> believe this will work.
> 
> Thanks for the confirmation.  Though I have to ask whether checking for 
> darwin_vers is really the best way to select the behavior of searching for 
> C++ system headers. Are the C++ headers tied more to the version of Xcode or 
> the OS version?
> If indeed the former is true, what's a good way to get the xcode version from 
> the command-line?  Currently the packaging specifies a minimum Xcode version 
> of 4.6, I'd like to keep that as loose as possible.
> 
> My packaging concerns:
> And what can one expect if the user switches versions after llvm34 is 
> installed?  I've built llvm34 fairly free-standing in that the system header 
> path should only matter in stage 1 of the bootstrap, but I'm making a huge 
> assumption that the same paths don't wind up somewhere in the C++ driver 
> code.  This just requires investigation on my part.
> 
> My hope is that C++ headers are part of the OS, and not the range of versions 
> of Xcode that a given OS version supports.
> Can anyone comment?
> 
> David

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
List archive:
http://news.gmane.org/gmane.os.apple.fink.devel
Subscription management:
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to