universal binaries?
Submitted by mtcccom on Tue, 2008-11-18 03:43.
Is there an incantation in the build process to get the gtk, etc libraries
to built as universal binary libraries?

No, unfortunately not. I am
No, unfortunately not. I am not planning on spending time on that as the ppc macs are getting old and phased out, but if someone else does it, I will try to help out to integrate it into the build process.
That's very sad to hear, as
That's very sad to hear, as the PPC machines are just fine, but getting useless because people just stop supporting them. That makes machines which are otherwise find and still fast enough deprecated without a reason. A G5 is still very fine… and it's very sad to throw away for example a Quad G5 just because more and more people stop offering Universal builds, even though that wouldn't be a big problem for most (there are exceptions, though). What I really can't understand is why people change the target from Universal Build to Intel-only build in XCode for example, as doing an Universal Build doesn't hurt at all there - it's just one click in XCode and the default anyway, so why change it to Intel-only? Sometimes, it just seems as if people are getting paid by Apple to drop PPC, so they force others to buy new, Intel-based machines.
I was meaning to do it, but
I was meaning to do it, but got held up with other projects...
Universal built/worked OK on Tiger as libraries and with the old build script, but hasn't been converted to frameworks and jhbuild just yet.
Old patch is at http://www.algonet.se/~afb/gtk/gtk-osx-build.diff
If you could, that'd be
If you could, that'd be awesome. :)
This script misses the
This script misses the -isysroot parameter
Right, it wasn't using any
Right, it wasn't using any SDK at the time...
Since it was building *on* Tiger rather than for Tiger (on Leopard), using a -isysroot wasn't mandatory. But when redoing the universal build, both MDT and SDK should be used. It was also using .dylib rather than .framework, as you've noticed.
The fat GTK+ install was about 25M (gzipped)
For the most part it appears
For the most part it appears you can generate universal binaries by adding the following to the appropriate jhbuildrc:
environ_append('CFLAGS', '-arch ppc -arch i386')
autogenargs='--disable-dependency-tracking'
Having only just noticed this now, I'd already created a universal framework the lipo'd way. You can find the lipo'd version here:
http://download.silicondust.com/vendor/gtk/Gtk-Framework-2.14.4-1-test1....
(Lipo'd framework is provided AS-IS and I make no promises to support it or to maintain the URL)
Thanks for this! Does the
Thanks for this!
Does the simple jhbuildrc approach address the problems mentioned in the "Intel-only?" thread? ("both glib and gtk+ (and cairo/pixman at least used to) do configure time checking for endianess and assembler arch")
Is it possible to use the
Is it possible to use the lipoed universal framework in parallel with the "official" GTK+ framework, and how?
I would like to try to build universal applications but I'd prefer not to be compelled to reinstail the Intel-only build in case of troubles.
By the way: The GTK+ framework works like a charm. Many many thanks for the excellent work!