Including headers from framework in other subproject

View: New views
3 Messages — Rating Filter:   Alert me  

Including headers from framework in other subproject

by Joe Mattiello :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I've been working on the pbxbuild tool for a couple months now and I've hit a snag in how gnustep make handles Framework headers.

If I want to include the foo.h header from Foo.framework using <Foo/foo.h> in the parallel target bar_tool. It seems to me that GNUStep make a symlink in $GNUSTEP_LOCAL_ROOT/Library/Headers/Foo during the install phase for a framework project to get the <Dir/file> syntax to work with the Foo.framework/Headers/.. path system of frameworks.

What I want to do is link against and include the headers for a framework with in the same composite project. Let's say by doing something like,
ADDITIONAL_NATIVE_LIB_DIRS+=../Foo.framework where the built Foo.framework lives at ../Foo.framework/Foo.framework. As far as I know this doesn't let me include headers in the way one would expect. 

This makes it difficult to translate XCode projects where this behavior is supported. Any included framework may have its headers imported in the < / > syntax despite whether or not it's installed in the SDK paths.

Any suggestions on how to get this to work? Possibly I overlooked a GNUmakefile directive that does this already.

Joseph Mattiello  |  Sense Networks, Inc.  |  110 Greene St., 11th Floor  |  New York, NY 10012  |  +1 845 800 4444  |  joe@...


_______________________________________________
Help-gnustep mailing list
Help-gnustep@...
http://lists.gnu.org/mailman/listinfo/help-gnustep

Re: Including headers from framework in other subproject

by Nicola Pero-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Joe

I would suggest something like

ADDITIONAL_LIB_DIRS += -L../Foo.framework
ADDITIONAL_INCLUDE_DIRS += -I../derived_src

In other words, when building a framework, gnustep-make also creates a  
directory ./derived_src, that contains a symlink

  ./derived_src/Foo --> ./Foo.framework/Headers

so if you add -I../derived_src, you can access the header Xyz.h of  
framework Foo by just including <Foo/Xyz.h> :-)

I hope that helps. ;-)

Thanks

PS: Sorry for the late reply

On 5 Jun 2009, at 19:18, Joe Mattiello wrote:

> Hello,
>
> I've been working on the pbxbuild tool for a couple months now and  
> I've hit a snag in how gnustep make handles Framework headers.
>
> If I want to include the foo.h header from Foo.framework using <Foo/
> foo.h> in the parallel target bar_tool. It seems to me that GNUStep  
> make a symlink in $GNUSTEP_LOCAL_ROOT/Library/Headers/Foo during the  
> install phase for a framework project to get the <Dir/file> syntax  
> to work with the Foo.framework/Headers/.. path system of frameworks.
>
> What I want to do is link against and include the headers for a  
> framework with in the same composite project. Let's say by doing  
> something like,
> ADDITIONAL_NATIVE_LIB_DIRS+=../Foo.framework where the built  
> Foo.framework lives at ../Foo.framework/Foo.framework. As far as I  
> know this doesn't let me include headers in the way one would expect.
>
> This makes it difficult to translate XCode projects where this  
> behavior is supported. Any included framework may have its headers  
> imported in the < / > syntax despite whether or not it's installed  
> in the SDK paths.
>
> Any suggestions on how to get this to work? Possibly I overlooked a  
> GNUmakefile directive that does this already.
>
> Joseph Mattiello  |  Sense Networks, Inc.  |  110 Greene St., 11th  
> Floor  |  New York, NY 10012  |  +1 845 800 4444  |  joe@...
>
> _______________________________________________
> Help-gnustep mailing list
> Help-gnustep@...
> http://lists.gnu.org/mailman/listinfo/help-gnustep



_______________________________________________
Help-gnustep mailing list
Help-gnustep@...
http://lists.gnu.org/mailman/listinfo/help-gnustep

Re: Including headers from framework in other subproject

by David Ayers-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Nicola,

Am Mittwoch, den 10.06.2009, 22:20 +0100 schrieb Nicola Pero:

> I would suggest something like
>
> ADDITIONAL_LIB_DIRS += -L../Foo.framework
> ADDITIONAL_INCLUDE_DIRS += -I../derived_src
>
> In other words, when building a framework, gnustep-make also creates
> a  
> directory ./derived_src, that contains a symlink
>
>   ./derived_src/Foo --> ./Foo.framework/Headers
>
> so if you add -I../derived_src, you can access the header Xyz.h of  
> framework Foo by just including <Foo/Xyz.h> :-)

But wouldn't this break if GNUSTEP_BUILD_DIR were set?

Cheers,
David

> I hope that helps. ;-)
>
> Thanks
>
> PS: Sorry for the late reply
>
> On 5 Jun 2009, at 19:18, Joe Mattiello wrote:
>
> > Hello,
> >
> > I've been working on the pbxbuild tool for a couple months now and  
> > I've hit a snag in how gnustep make handles Framework headers.
> >
> > If I want to include the foo.h header from Foo.framework using <Foo/
> > foo.h> in the parallel target bar_tool. It seems to me that GNUStep  
> > make a symlink in $GNUSTEP_LOCAL_ROOT/Library/Headers/Foo during the  
> > install phase for a framework project to get the <Dir/file> syntax  
> > to work with the Foo.framework/Headers/.. path system of frameworks.
> >
> > What I want to do is link against and include the headers for a  
> > framework with in the same composite project. Let's say by doing  
> > something like,
> > ADDITIONAL_NATIVE_LIB_DIRS+=../Foo.framework where the built  
> > Foo.framework lives at ../Foo.framework/Foo.framework. As far as I  
> > know this doesn't let me include headers in the way one would expect.
> >
> > This makes it difficult to translate XCode projects where this  
> > behavior is supported. Any included framework may have its headers  
> > imported in the < / > syntax despite whether or not it's installed  
> > in the SDK paths.
> >
> > Any suggestions on how to get this to work? Possibly I overlooked a  
> > GNUmakefile directive that does this already.
> >
> > Joseph Mattiello  |  Sense Networks, Inc.  |  110 Greene St., 11th  
> > Floor  |  New York, NY 10012  |  +1 845 800 4444  |  joe@...
> >
> > _______________________________________________
> > Help-gnustep mailing list
> > Help-gnustep@...
> > http://lists.gnu.org/mailman/listinfo/help-gnustep
>
>
>
> _______________________________________________
> Help-gnustep mailing list
> Help-gnustep@...
> http://lists.gnu.org/mailman/listinfo/help-gnustep
--
David Ayers          Fellow of the Free Software Foundation Europe
http://www.fsfe.org                     http://fellowship.fsfe.org




_______________________________________________
Help-gnustep mailing list
Help-gnustep@...
http://lists.gnu.org/mailman/listinfo/help-gnustep