My thoughts on the Intel switch
A day later, after reviewing the developer documentation and working with XCode 2.1, here are my thoughts on the Intel switch. First, the good news. With XCode 2.1 I was able to build a Cocoa application which used GCC 4.0 for x86 by simply changing the architecture and SDK in the project settings. Of course I don’t have a x86 system to actually try it on.
Examining the resulting binary shows that it contains both x86 and PowerPC code and it runs normally on my G4 minitower.
[Mike-Cohens-G4: MacOS]$ ls -al
total 72
drwxr-xr-x 3 mike mike 102 Jun 7 12:00 .
drwxr-xr-x 6 mike mike 204 Jun 7 12:00 ..
-rwxr-xr-x 1 mike mike 35128 Jun 7 12:00 testapp
[Mike-Cohens-G4: MacOS]$ file testapp
testapp: Mach-O fat file with 2 architectures
testapp (for architecture ppc): Mach-O executable ppc
testapp (for architecture i386): Mach-O executable i386
Unfortunately it wasn’t so easy for an application which currently uses GCC 3.3, since I found a few language differences and other incompatibilities when converting it to GCC 4.0. Another area that can cause difficulties are applications which read binary files or transmit binary data. Since X86 and PowerPC CPUs use the opposite byte ordering, it needs to be taken into account when reading binary data.
A good starting point for developers is Apple’s Universal Binary documentation.
Although the Intel switch may bring us faster & cheaper Macs in the future, this is very risky from a business or marketing perspective. The biggest danger is the Osborne effect: pre-announcing a new system that won’t be available for at least a year could slow down or even kill hardware sales. Apple also has to deal with the bad PR since their selling point was that the PowerPC is superior to Intel CPUs. By switching, it gives the impression that they were wrong and are admitting a mistake.
It probably would have been a lot better if the X86 Macs would be available in the next few months rather than next year. Although this will give developers a head start on the new machines, it’s not essential. Since X86 systems will be able to emulate *most* PowerPC software, the new machines will be usable right away without buying new software. Having only a few major packages like MS Office & Photoshop available natively for X86 at release would be acceptable. Early adopters would buy the new machines even without native software, as they did with the first PowerMacs, and it would give a sense of security to people planning future Mac purchases.
Tags: Intel




