RE: 64-bit, 10.5/10.4, SDK build settings
RE: 64-bit, 10.5/10.4, SDK build settings
- Subject: RE: 64-bit, 10.5/10.4, SDK build settings
- From: Alex Sheh <email@hidden>
- Date: Mon, 1 Jun 2009 18:37:54 -0700
- Acceptlanguage: en-US
- Thread-topic: 64-bit, 10.5/10.4, SDK build settings
Thanks for the links, I've already read those documents regarding conditional build settings. Those were the conditional build settings that I was referring to in my original posting.
The conditional build settings are architecture-specific and base SDK specific (the SDK that the code is built against), rather than conditional upon the user's OS. The problem is that for PowerPC 64-bit and Intel 64-bit, I need to run a 64-bit binary (the one that was built against 10.5 SDK) when the user is running Leopard 10.5, and I need to run the 32-bit binary (the one built against 10.4 SDK) when the user is running Tiger 10.4.
Since the conditional build settings under "Mac OS X Deployment Target", are for the base SDK and the architecture, I don't see how tweaking them would help. For instance I don't even see how the below would make any sense, since the conditional build settings for "Base SDK" only allow you to set one Base SDK value for each architecture (i.e. PowerPC 64-bit can only be assigned one Base SDK value, since it only builds the single PowerPC 64-bit binary against one of the Base SDK's).
(SDK, i.e. base SDK) (Architecture) (Mac OSX Deployment Target)
MacOSX 10.4 PowerPC 64-bit Mac OS X 10.4
MacOSX 10.5 PowerPC 64-bit Mac OS X 10.5
If there's a flaw in my understanding of how these conditional settings work with respect to Base SDK, user's OS, etc., please let me know. Or if there's a solution using these condiional settings, that I'm missing, please let me know. I would like to find a solution to this problem, and I have spent time reading the documentation, prior to posting here.
Paragraphs regarding conditional setting from original post:
"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."
Thanks,
Alex
-----Original Message-----
From: Ken Thomases [mailto:email@hidden]
Sent: Monday, June 01, 2009 6:14 PM
To: Alex Sheh
Cc: Xcode List
Subject: Re: 64-bit, 10.5/10.4, SDK build settings
On Jun 1, 2009, at 7:45 PM, Alex Sheh wrote:
> 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.
See here:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeProjectManagement/070-Building_Products/building.html#//apple_ref/doc/uid/TP40002693-SW43
and here:
http://developer.apple.com/documentation/DeveloperTools/Conceptual/XcodeBuildSystem/300-Build_Settings/bs_build_settings.html#//apple_ref/doc/uid/TP40002691-SW3
Cheers,
Ken
_______________________________________________
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