universal flags and configuration

Anders F Björklund afb at macports.org
Fri Feb 22 03:25:34 PST 2008


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.


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...

However, changing the Xcode group to support the above settings
should be pretty straightforward so that will go in soonishly.

--anders



More information about the macports-dev mailing list