On Feb 22, 2008, at 05:25, Anders F Björklund wrote:
Previously, I wrote:
- universal_target # for setting macosx_deployment_target and configure target Default: 10.4
- universal_sysroot # the SDK "sysroot" to use, normally for the -isysroot flag Default: /Developer/SDKs/MacOSX10.4u.sdk
- universal_archs # machine architectures to use, can be more than just one Default: ppc i386
The additions means that it will now cross-compile when necessary, and that +universal target is meant to generate similar binaries*. ... * this default is a change from MacPorts 1.6.0, that used 10.5 SDK on Leopard and 10.4u SDK on Tiger (but is the same as in 1.5/1.4)
I changed the above defaults back to the same as on MacPorts 1.6.0, except that it is now configured at compiletime (in macports.conf).
So it will now again use /Developer/SDKs/MacOSX10.5.sdk on Leopard, and /Developer/SDKs/MacOSX10.4u.sdk on Tiger and avoid cross-compile.
This implicitly also fixes the issues were the wrong MDT was being passed to GCC, even if it now passes an extra -mmacosx-version-min
As before, cross-compiling is not going to be supported this way since the variants (like +darwin_8 and +i386) will all be wrong.
I don't really understand why this was changed yet again. I renew my objection, which is that a port built with +universal on Leopard won't work on Tiger (but the same port built with +universal on Tiger will work on Leopard). Doesn't this defeat part of the purpose of universal?
Merge support still needs to be added for +universal to work OK, but I'm not going to continue that Summer-of-Code 2007 project...
mww has already rewritten the summer-of-code merge.rb script into the merge tcl function which is already in trunk.
However, changing the Xcode group to support the above settings should be pretty straightforward so that will go in soonishly.