|
From: | Peter Bierman |
Subject: | Re: Building with GNUstep make on Panther/Tiger |
Date: | Wed, 15 Jun 2005 13:58:55 -0700 |
At 10:25 PM +0200 6/15/05, Andreas Höschler wrote:
Hi Peter,I find it discouraging that apps aren't binary compatible between 10.2, 10.3 and 10.4, although I understand why. I guess Apple tries to solve this issue with xCode by creating fat bundles containing code for all three OS versions.You are misinformed. Apps are absolutely binary compatible from 10.2, 10.3, and 10.4!Thanks for the info!Fat binaries are NOT used for different OS versions, only for different CPU architectures.In addition, in most cases, things built on 10.4 will also run on OLDER OS versionsWhat exactly means "most cases" except the obvious API extension reason? Why does code built one Jaguar not work on Tiger properly then?
Anything built on Jaguar should work on Tiger. Period. If it doesn't, there's a bug in the OS, or the binary was doing something unsupported from the beginning. Apple spends an amazing amount of effort on "backwards compatibility". That's where 10.4 is able to run any binary built for 10.2, etc..
MOST things built on Tiger (10.4) will also run on Panther (10.3), etc... That's called "forwards" compatibility, and it's MUCH harder, because it means that 10.2 somehow is able to deal with the FUTURE changes in the OS.
Summary:Backwards compatibility should always work. The binary you build today should continue to work tomorrow unless you do something unsupported.
Forwards compatibility will usually work, but you shouldn't count on it. If you want to create a binary using 10.4 tools that will run on 10.2, you should use the 10.2 SDK.
-pmb
[Prev in Thread] | Current Thread | [Next in Thread] |