As far as I know, the clang compiler takes care of all this if you pass
--framework  to include/link a specific framework and -F to tell it
where the frameworks are.
Thats all it should take to link a framework in this style.


Philip George wrote on 07.05.21 20:10:
> Just to have something concrete to look at, I've included 2 tree
> diagrams of frameworks using Apple's layout /(minus modules and code
> signatures)/...
>
> *Development /(with headers)/*
>
> └──── Quasi.framework
> ├──── Quasi -> Versions/Current/Quasi
> ├──── Headers -> Versions/Current/Headers
> ├──── Resources -> Versions/Current/Resources
> └──── Versions
> ├──── A
> │     ├──── Quasi
> │     ├──── Headers
> │     │     ├──── Quasi.h
> │     │     ├──── QZThat.h
> │     │     └──── QZThis.h
> │     └──── Resources
> │           └──── Info.plist
> └──── Current -> A
>
>
> *Deployment /(without headers)/*
>
> └──── Quasi.framework
> ├──── Quasi -> Versions/Current/Quasi
> ├──── Resources -> Versions/Current/Resources
> └──── Versions
> ├───── A
> │     ├──── Quasi
> │     └──── Resources
> │           ├──── Info.plist
> │           ├──── that.png
> │           └──── this.aif
> └──── Current -> A
>
> On the *development* side, because I can tell clang to look for the
> headers/library in whatever directories I want, I don't think sharing
> the same layout with the macOS side will be a problem. I'll just need
> someone to talk about how umbrella headers are supposed to work in
> GNUstep.
>
> On the *deployment* side, I don't think layout will be a problem as
> long as:
>
> - it can be bundled
> - the entire app folder structure can be moved anywhere on the
> filesystem and still be able to find its frameworks /(optional, since
> the use-case isn't too common for linux)/
> - i understand what in the Info.plist file will need to be changed
> from the macOS version
>
> So hopefully I can get some clarification on those four things in this
> thread.
>
>
> Noel
>
>
>
>
>
> On Thu, May 6, 2021 at 10:34 AM blackstripe <triv...@blackstripe.net
> <mailto:triv...@blackstripe.net>> wrote:
> >
> > A few questions about frameworks in GNUstep...
> >
> > 1: Layout
> >
> > I know framework layout is unusual in gnustep, but I haven't seen a
> clear example of what it actually should look like — only discussion
> of it being different (in the wiki or faq i believe, but it provided
> no example).
> >
> > Is there any way to force macOS-style layout?
> >
> >
> > 2: Bundling
> >
> > Is is possible to bundle a framework such that (a) the framework
> stays with the surrounding app, and (b) can be moved anywhere on the
> file system (with the surrounding app)? (presumably some link
> references will have to be made relative using something like patchelf)
> >
> >
> > 3: Umbrella headers
> >
> > This project is shared with the macOS/Xcode side, so I would of
> course like the existing umbrella header to work as-is on the GNUstep
> side. Is this possible and how do I set that up?
> >
> >
> > 4: Clang
> >
> > What arguments need to be passed into clang to facilitate all of this?
> >
> >
> > - Noel
> >
> >

Reply via email to