Re: [Gtk-osx-users] Wherefore Art Thou, Framework?



On May 9, 2010, at 9:44 AM, David Lowe wrote:

> On 9 May, 2010, at 8:39 AM, John Ralls wrote:
> 
>> Richard Hult (the original developer of the gtk-osx project) introduced the "fw" to the module name to differentiate it from the one in jhbuild's bootstrap.modules because he needed a separate package for gtk-osx-frameworks.
> 
> 	Gotcha.  After i catch up on my homework i'm gonna add this and some of the other tidbits i've picked up to the wiki.
> 
> 	So at this early stage we don't actually get any frameworks, right?  Or is there something hidden somewhere i'm not looking?
> 

As I mentioned, there's gtk-osx-frameworks, which, with a lot of work, can be gotten to build a a current-version framework. Unfortunately it has its own dependencies hard-coded the shell scripts rather than using the dependencies in the modulesets, which is why it's a lot of work to bring up to date. I have contemplated a modification to ige-mac-bundler to make Framework bundles, but it has a pretty low priority.

As I've written before here and in the forums, I'm rather dubious of the value of Frameworks with Gtk+ applications because the include and link semantics are different from the unix norms to which Gtk+ applications are written. (Note that even Apple doesn't encapsulate the standard unix libraries in Frameworks, only the Apple-proprietary libraries -- which then link to the standard unix libraries in the standard places.) If you want to see what building a Gtk+ application against frameworks looks like, try building WebKitGtk with --makeargs="V=1". A single raw compile statement can run to 50 lines because of all the -I directives to the various frameworks. While frameworks solve the library version problems which cause so much trouble in Linux and especially MSWindows, Gtk+ applications can't take advantage of that fix because they link with libtool, which has no idea of framework weak linkage.

Even a PyGtk framework would be of limited use because of the difficulty of adding C-based modules to it.

Regards,
John Ralls



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]