Re: Including Frameworks

Jeff Teunissen <[email protected]>
Newsgroups gmane.comp.lib.gnustep.user
Organization Dusk to Dawn Computing
Message-ID <[email protected]>
Nicola Pero wrote:

[snip]

> I'm not quite sure why writing
> 
> FRAMEWORKS += PreferencePanes
> 
> would be particularly simpler than writing
> 
> ADDITIONAL_GUI_LIBS += -lPreferencePanes
> 
> :-)

It is. :)

> ... unless what you are really asking for is that you want 
> PreferencePanes to be converted to '-framework PreferencePanes' on 
> Apple and to '-lPreferencePanes' on GNUstep in which case we already 
> have
> 
> ADDITIONAL_NATIVE_LIBS += PreferencePanes
> 
> which does exactly that.  Presumably this is what you were expecting
> FRAMEWORKS += ... to do ?

Old thread, I know, but I just read it. :)

He got the idea from Backbone, which has an internal FRAMEWORKS variable,
written thusly:

(from /Backbone.make, in the System module)

BBFRAMEWORKS=$(TOP_SRCDIR)/Frameworks
#
# Framework stuff
#
# To use this, set the variable FRAMEWORKS to a space-separated list of
# framework BASE NAMES (no .framework extension). All project types that
# link with shlibs will automatically link with the frameworks named in
# FRAMEWORKS.
# 
define FRAMEWORK_link
fw := $(1)
AUXILIARY_OBJC_LIBS += -l$(fw)
AUXILIARY_LIB_DIRS += -L$(BBFRAMEWORKS)/$(fw)/$(fw).framework/Versions/Current/$(GNUSTEP_LDIR)
endef

$(foreach fw,$(FRAMEWORKS), $(eval $(call FRAMEWORK_link, $(fw))))

ifneq ($(FRAMEWORKS),)
ADDITIONAL_INCLUDE_DIRS += -I$(BBFRAMEWORKS)
endif

This bit of code allows Backbone System programs to link to Backbone
frameworks in one pass, as long as the frameworks are built before the
apps and tools.

-- 
| Jeff Teunissen  -=-  Pres., Dusk To Dawn Computing  -=-  deek @ d2dc.net
| GPG: 1024D/9840105A   7102 808A 7733 C2F3 097B  161B 9222 DAB8 9840 105A
| Core developer, The QuakeForge Project        http://www.quakeforge.net/
| Specializing in Debian GNU/Linux              http://www.d2dc.net/~deek/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.