Hi
As i understand that when compiling a intel mac .exe that this would make an intel mac .exe binary, different than a mac .exe binary. does blitzmax modules work the same way? can a module created under a intel mac work under a normal mac.
kev
no they can not. X86 and PPC have different bit order
BM only compiles for the platform it is run on
thanks Dreamora, so are intel and normal mac made by the same company .ie apple. if so i wonder why there not compatible? i understand that there of different bit order. yet why would apple do that?
kev
Kev, because PowerPC CPUs and Intel CPUs are different and incompatible hardware architectures, and Apple decided to drop the PowerPC platform in favor of the Intel processors, because Intel gave them a much nicer roadmap for mobile processors that they can use in their MacBooks.
Anyway, to solve the incompatibility and migration problem, Apple came up with the idea of "Universal Binaries", which are hybrids that contain instruction sets for both PowerPC and Intel CPUs. However, in order to create Universal Binaries with BlitzMax, you need a PowerPC and an Intel Mac to compile the respective native versions. (With Apple's own developer tools, you would not need two machines; this really is a BlitzMax restriction.) Then you need a tool from Xcode that can merge both native versions to a Universal Binary. There's a guide in one of the forums.
I would say its not really much to do with byte order and everything to do with the fact that you have to compile to a PowerPC instruction set which is entirely different to the Intel instruction set, so either CPU cannot understand the programs written for other CPU's. Even though the OS is the same on both machine, the hardware is the thing that you have to target.
And yes same applies to modules, you have to compile the module on the respective hardware.
ok thanks guys that makes sence :)
kev