I just wanted to share some thoughts about something i’m struggling with.
We are developing commercial software and we target the 10.5 sdk. Most of our machines are running 10.6, me as the head developer still run 10.5.8. This is because i have the feeling that if i’m running 10.6 and targeting 10.5 i’ll never be completely sure if it really works on 10.5. Jules experienced the same problem as i pointed out that his compiled binaries of the IntroJucer and Jucemo (1_52) on sourceforge crash when run on 10.5.8. They run fine in 10.6, but they are targeted for 10.5.
Quite a few of our customers are still running 10.5 (in the VJ community where are active 10.5.8 is still regarded as a better performing (graphically) OS than 10.6, especially if you run 10.6 on an older machine), so i really can’t start targeting 10.6.
I had some strange issues with debugging strings lately with the latest version from the tip, so i though it was time to upgrade to a newer version of Xcode, but the only xcode version you can download from the apple site are 3.2.6 and 4 and they both run only on 10.6. Am i really the only one to think this is strange?
So how about you guys, how do you tackle this, and does someone have a (legal) link to a 3.2.5 version of XCode (i think 3.2.5 is the latest version of Xcode that still runs on 10.5).
Unofficial answer, I set up a Hackintosh with 10.5 installed as a VM, then compiled my entire tool chain to make sure there were no 10.6 dependencies.
Since my code avoids making system specific calls unless completely necessary, I can be reasonably sure that if the tool chain compiles on 10.5, then my binaries, even when compiled against 10.6, will be 10.5 safe.
Aside: I was using the same strategy with Tiger until just last month, when the need to support Intel 64, finally forced me to kill off PPC and !0.4 support. I wasn’t happy about it, but I only have three Mac users here, and I’m one of them, so I can’t justify running another OSX development platform.
By targeting 10.5 from 10.6.
The last version of xcode that runs on 10.5 is 3.1.4. Everything from 3.2 up is 10.6 only.
You can download old versions of xcode from http://connect.apple.com. Click the “Developer Tools” link on the right side menu after you’ve logged in.
Thanx for your feedback.
Just upgraded my machine to Snow Leopard, will install 10.5.8 on another partition to have a proper test setup.
Just a thing that has bitten me in the butt (XCode 3) that might help you.
If you hold the option key while clicking on Overview in the toolbar you can see the ACTUAL sdk the target will use. I’ve got targets that have 10.4u as the base sdk, and others with 10.5(for ilok), and sometime’s it doesn’t use the sdk that seems explicitly set in the target sdk param.
Setting it with the option key to use the base sdk(meaning base sdk for whatever target) seems to make it listen. A good way to confirm is to look at the detail build view when compiling and checking the sysroot.
I know we are supposed to use the most recent SDK and change the deployment setting, and this does seem to work somewhat, however I have found the library iconv will link to an incompatible version if the sdk isn’t set to the same deployment os version.
Fun stuff :shock: