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