64-bit, 10.5/10.4, SDK build settings
64-bit, 10.5/10.4, SDK build settings
- Subject: 64-bit, 10.5/10.4, SDK build settings
- From: Alex Sheh <email@hidden>
- Date: Mon, 1 Jun 2009 17:45:21 -0700
- Acceptlanguage: en-US
- Thread-topic: 64-bit, 10.5/10.4, SDK build settings
Hi,
I'm adding 64-bit
support to some applications that we ship, and I have some questions
related to the "Base SDK" and "Mac OSX Deployment Target"
settings.
My requirements are
the following:
- On a machine
running 10.5 or later, I need to run 64-bit code.
- On a machine
running 10.4, it's okay to run 32-bit code.
- We do not support
anything earlier than 10.4.
If I want to build a
64-bit binary, then I have to build against the 10.5 SDK (if I try to build
64-bit against 10.4 SDK, I get a compile error). If I build against the
10.5 SDK, then I have to deploy on 10.5 as well, since the Objective-C ABI
changed in 10.5. However, our software also needs to support 10.4. I'm
trying to determine what is the best way to deploy our software, which build
settings to use, etc., while achieving these requirements.
The universal
binary's internal binaries are architecture-specific, rather than
OS-specific. I suppose I could set conditional build settings for "Base
SDK" and "MacOSX Deployment Target", so that the PowerPC and Intel binaries are
built against 10.4 SDK and deploy on 10.4 or later. This would take
care of the 10.4 support requirement for PowerPC and Intel architectures (since
they don't support 64-bit binaries anyway, there's no need to build against the
10.5 SDK).
However, if I
similarly set conditional build settings for "Base SDK" and "MacOSX
Deployment Target" so that PowerPC 64-bit and Intel 64-bit are built against
10.5 SDK and deploy on 10.5 or later, then I lose 10.4 support for PowerPC
64-bit and Intel 64-bit architectures.
Right now, the only
solution I can think of is to build 2 versions of the software, one that is
32-bit and deploys on 10.4 or later, and another that is 64-bit and deploys
on 10.5 or later. Then, have the installer determine at install time what
system the user is running, and copy down the appropriate binary. I would
rather not do this, if there is a simpler and more correct way of handling the
deployment while meeting the above requirements.
Any
thoughts?
Thanks for your
help,
-
Alex
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden