Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Include directories for Frameworks not picked up

Doug,

The only thing I can find is the standard -v option for gcc which results in output like:

#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/lib/gcc/i686-apple-darwin9/4.0.1/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.

We could extend the parser so that it looks for the "(framework directory)" text and then adds an include path for each framework in this directory. However, this will result in lots of include paths (there are 82 on my Mac), which would be messy. I think a better approach would be to translate the path when it is resolved. I presume that somewhere there is a translation from "#include <x/y.h>" into "/ usr/include/x/y.h" (or whichever header file resolves first in the search order). So for Mac OS X, this would be extended to translate the header path into "/System/Library/Frameworks/x.framework/Headers/ y.h".

Does this sound reasonable? Any pointers on how/where this might be implemented?

Thanks,
Greg

On Feb 18, 2009, at 11:09 AM, Schaefer, Doug wrote:

I was wondering when you'd get back to that bug :).

You probably need a custom way to specify the include path to use this
info. We generally use the output of gcc with certain options to find
out what it's built-in include path is. My memory is foggy but I think
there was special output from the Mac gcc compiler that listed the
framework locations, sort of. You'd just need to extend the parser that
collects that info to handle that.

It's been a while since we talked about this but it would be nice to get this resolved since I think this is probably preventing CDT adoption on
Mac. But I don't have one so I'm not sure ;)

D.

-----Original Message-----
From: cdt-dev-bounces@xxxxxxxxxxx
[mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Greg Watson
Sent: Wednesday, February 18, 2009 10:44 AM
To: CDT General developers list.
Subject: [cdt-dev] Include directories for Frameworks not picked up

Hi folks,

There's an issue with the scanner on Mac OS X because you can
have an include like  "#include <OpenGL/OpenGL.h>", but
instead of the header file being
"/usr/include/OpenGL/OpenGL.h", it's actually "/System/
Library/Frameworks/OpenGL.framework/Headers/OpenGL.h". Even
though "/ System/Library/Frameworks" gets picked up in
scanner discovery, it is not the path of the actual header
directory, so the headers get missed by the indexer.

Any suggestions on the best way to fix this?

A bug has been open on this for some time
(https://bugs.eclipse.org/bugs/show_bug.cgi?id=69529
), but if someone who understands scanner discovery could
provide a few pointers it would be appreciated.

Thanks,
Greg
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev

_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top