On Jun 12, 2006, at 6:55 AM, Ben Fowler wrote:
On 12/06/06, yipdw <yipdw1@...400...> wrote:
Ben Fowler wrote:
On 12/06/06, yipdw <yipdw1@...400...> wrote:
My interpretation of the Universal Binary tutorial at developer.apple.com (<http://developer.apple.com/opensource/ buildingopensourceuniversal.html>) tells me that one can generate Universal Binaries with access to only one architecture provided that one also has appropriate Universal
v>> versions of all involved shared libraries. Am I reading this right?
Yes you are; probably since version 2 of XCode. I would recommend using the latest stable XCode, currently 2.3.
All right, I'll look into that. I haven't figured out how to get Fink or DarwinPorts to generate Universal Binaries and I'm not entirely sure if they can, but I'll keep poking at it -- any help there would be great.
I think that you will find that fink has no support at present. I don't know about Darwinports, and if you are able to investigate that, the Xara folk would probably like to hear your results good or bad.
I've got it on authority that the Fink maintainers have no intention of going universal. Maybe someone will submit a patch and they'll be swayed, but it's a long shot.
As a worst-case scenario, I guess it'd be possible to compile Universal versions of all required libraries by hand, but I think it's best to avoid that as long as possible.
I can think of circumstances when I would, in fact, be tempted to do that, but it is your call. I would have thought that the first technique to try would be to generate a PPC build using for want of a better terrm, standard methods and a second MacTel i386 build and glue them together. The next, would be to use Apple's libraries (which have been universal binaries since XCode 2.1 or perhaps earlier) and their methods. This depends on all the libraries that we need being present in Apple's kit, and the versions being suitable and I am not at all confident that this is so.
My $0.02:
It might be possible to install (on a MacTel box), a fink/PPC and fink/Intel, and do your library builds for each. I can only imagine that running the build process has got to be unbearably slow - however - if you've already got binary .debs built for PPC in the package cache from another machine, you could probably avoid a recompile. At that point, just lipo the libraries, and configure inkscape to build universal.
(This is all theory, one hitch: are the Intel fink packages the same versions as the PPC ones?)
If you're building all of the binaries from scratch - grab the <packagename>.info and <packagename>.patch files from the fink directories and incorporate them into your build script, adding build flags for universal. I'm working with a small machine at home and just don't have the time to build everything and test it over a weekend, but that's the method I'd use as a starting point.
I would have thought that the most important thing would be to get some experience of this kind of activity, so that we can make some forward plans particulalry relating to the date by which we can expect to have a robust, tested, deliverable.
...I just grabbed Inkscape trunk and makeosx.sh, and ran the
script. Inkscape appears to run fine, although I have to admit I haven't really stressed it much just yet.
Wow. I can only say "Well Done!".
I'll echo that!
--David