Re: Universal Builds
Re: Universal Builds
- Subject: Re: Universal Builds
- From: koko <email@hidden>
- Date: Thu, 04 Aug 2011 05:48:10 -0600
Thanks for confirming and educating. Apple lists are great!
-koko
On Aug 4, 2011, at 3:04 AM, Christiaan Hofman wrote: On Aug 4, 2011, at 8:19, Wade Tregaskis wrote: I have these build settings:
Architectures : Standard(32/64-bit Universal)
Valid Architectures: ppc ppc64 ppc970 ppc7400 i386 x86_64
Valid Architectures is more like a mask... it's listing the things that you could build for. The actual Architectures setting may specify a subset of this to actually build at the current time.
More precisely, the actual archs that are build are an intersection of Valid Architectures and Architectures (unless of course you've checked Build Active Architecture Only). Though you're probably doing something wrong in your build settings when the Architectures settings is not a subset of Valid Architectures. tl;dr: Xcode's default, {ppc, i386, x86_64}, are the only three you are likely to care about. Even 'ppc' is probably unnecessary these days.
In 3.2.6 and 4.x, unlike in earlier versions, the default (the value of the Standard macro) is actually {i386, x86_64}. So if you want to build for PPC you have to add that explicitly. Moreover on 4.x ppc is simply ignored because it's not supported.
Anything built for 'ppc' will work on all the other forms of ppc, being the lowest common denominator. 'ppc970' and 'ppc7400' just specify that the compiler can use special instructions (e.g. AltiVec) and also that it should order instructions [relatively] optimally for those architectures. That's particularly important for the PPC970 (G5) in order to achieve good performance. [[ It's also why Xcode defaults to scheduling for the G5 even if you target generic 'ppc'... can't have those G4s outperforming G5s now.. ;) ]]
'ppc64' is kind of an odd case... there's very few scenarios in which it's actually useful, since pervasive 64-bit support (in system libraries etc) didn't really come in until Intel. There were also some nasty practical issues with using it, I seem to remember, though the details escape me for the moment.
For sure various system frameworks have serious bugs on ppc64. The bottom line is that you cannot use it, it's simply not supported (unless you want to play russian roulette with your users).
Christiaan
|
_______________________________________________
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