Linked by Eugenia Loli on Tue 25th Apr 2006 20:41 UTC, submitted by Hakime
Mac OS X "Mac OS X includes many open source projects that contribute to the stability and robustness of the system. While Apple provides working versions of these for both PowerPC and Intel architectures, sometimes you want to build your own to tune performance or enable custom features. Plus, distributing a single binary is often preferable to keeping track of separate, architecture-specific binaries. These objectives can be accomplished by building the project as a Universal Binary, a file that contains code for both the PowerPC and Intel architectures." This article shows how to use Xcode (using Xcode 2.2.1) to construct a make-based project that builds OpenSSL as a Universal Binary."
Thread beginning with comment 118217
To read all comments associated with this story, please click here.
does anyone know...
by steveftoth on Tue 25th Apr 2006 22:12 UTC
steveftoth
Member since:
2005-10-30

if one can use the universal binary to build 2 different builds, one for say x86-Yonah, and one for x86-Memron (when it comes out). So that we could build a version that runs optimized on any platform it might encounter?

Reply Score: 1

RE: does anyone know...
by HopHead on Wed 26th Apr 2006 01:16 in reply to "does anyone know..."
HopHead Member since:
2006-01-31

Essentially, no... The universal part refers to X86 and PPC. Thats not to say there arent CPU specific optimizations, but you would'nt get 2 X86 builds with a Universal binary.

Reply Parent Score: 1

RE[2]: does anyone know...
by Hakime on Wed 26th Apr 2006 11:38 in reply to "RE: does anyone know..."
Hakime Member since:
2005-11-16

"Essentially, no... The universal part refers to X86 and PPC. Thats not to say there arent CPU specific optimizations, but you would'nt get 2 X86 builds with a Universal binary."

Actually it does. Universal Binary is just the the new name of a technology which has existed in OS X for a while called fat binaries, where several executables can be packaged in the same binary.

There is basically nothing limiting you to build an Universal Binary that has more than two executables. The technology is powerful enough to allow developpers of applications that are sensitive to performance to build a Universal binary that contains executables optimised for specific processor architectures.

For example its is possible to build a Universal binary that contains an executable optimised for G3, amother one for G4, another one for 32 bits G5, another one for 64 bits G5 (PowerPc 64) and another one for X86. You will notice that this also the same solution that it is used to provide a 32 bits executable of one application and the executable of the same app for 64 bits in the same binary.

So i would rather think that for X86, the Universal Binary format would also allow to combine several x86 executables (as it does today for PowerPc) optimised for different x86 architectures. So for example if developpers want to provide an 64 bits application that runs on 64 bits Core architecture they can do it and in the same time they can still provide a 32 bits executable of their app in the same binary for 32 bits Yonah class processors.

Universal Binaries are therefore expendable to however architectures are needed. It is possible to imagine that if a developer wish it, he can build an Universal Binary that contains executables for G3, G4, G5 32 bits, G5 64 bits , Intel Yonah, Intel Core Architecture, Intel Core Architecture 64 bits, providing that his application is performance sensitive and requires the optimisation for a given architecture.

Reply Parent Score: 2

RE: does anyone know...
by evangs on Wed 26th Apr 2006 06:28 in reply to "does anyone know..."
evangs Member since:
2005-07-07

Does anyone really think that Merom and Yonah are significantly different that such optimizations are warranted?

Reply Parent Score: 1