[issue4064] distutils.util.get_platform() is wrong for universal builds on macosx

Ronald Oussoren report at bugs.python.org
Wed Oct 8 08:02:14 CEST 2008


Ronald Oussoren <ronaldoussoren at mac.com> added the comment:

On 7 Oct, 2008, at 22:13, Martin v. Löwis wrote:

>
> Martin v. Löwis <martin at v.loewis.de> added the comment:
>
>> Somewhere along the way the calculation of the architecture string  
>> got
>> messed up, resulting in the current situation. That is, the current
>> situation is not as designed by the original author of the universal
>> binary support code.
>
> Ok, what *is* the desired way of naming architectures on that system?
> Is that documented somewhere?

It is not documented anywhere but in the code, but this is the  
intended behaviour:

* A single architecture build (what you would build on any other unix  
platform)
   uses the architecture string of the architecture
   it was build for (that is, "i386", "ppc", "x86_64" or "ppc64")

* A 32-bit universal build uses "fat" as the architecture string,  
regardless of the
    architecture of the machine we're running on.
    As an exception: OS X 10.3.9 machines are treated as if we're on a  
single
    architecture build because the compiler on that platform doesn't  
support
    building fat binaries.

* A 4-way universal build (that is, including all architectures  
supported by
    OSX) uses "universal" as the architecture string.

We (Bob Ippolitto and I) had some discussion about the architecture  
strings when
we were working on support for universal binaries and rejected my  
initial suggestion
of using "i386,ppc" instead of "fat" because that would be unwieldy.

Ronald

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue4064>
_______________________________________


More information about the Python-bugs-list mailing list