[Pythonmac-SIG] 64-bit Python?

Chris Kees christopher.e.kees at usace.army.mil
Mon Jun 9 17:52:24 CEST 2008


FYI, I built this revision on an iMac and a MacPro without any  
trouble. I've run it in 32 and 64 bit mode on a non-graphical  
application.  My gui uses Qt4, which I haven't been able to build as a  
4-way universal yet.

Chris
On Jun 5, 2008, at 8:08 AM, Ronald Oussoren wrote:

>
> I've just commited support for building python as a 4-way universal  
> binary to the python repository (revision 63955).
>
> What does does:
>
> This patch adds a new configure argument on OSX:
>        --with-universal-archs=[32-bit|64-bit|all]
>
> When used with the --enable-universalsdk option this controls which
> CPU architectures are includes in the framework. The default is 32- 
> bit,
> meaning i386 and ppc. The most useful alternative is 'all', which  
> includes
> all 4 CPU architectures supported by MacOS X (i386, ppc, x86_64 and  
> ppc64).
>
> This includes limited support for the Carbon bindings in 64-bit mode  
> as well,
> limited because (a) I haven't done extensive testing and (b) a large  
> portion
> of the Carbon API's aren't available in 64-bit mode anyway.
>
> I've also duplicated a feature of Apple's build of python: setting the
> environment variable 'ARCHFLAGS' controls the '-arch' flags used for  
> building
> extensions using distutils.
>
>
> How to build the tree:
>
> - Checkout a copy of the python trunk (that is, the code that will  
> be python 2.6 in the future)
> - in the root of that checkout:
> - mkdir build
> - cd build
> - ../configure --with-framework-name=Python64' '--with-universal- 
> archs=all' '--enable-framework' '--enable-universalsdk=/'  
> 'MACOSX_DEPLOYMENT_TARGET=10.5'
> - make
> - sudo make install
>
> This will install a 4-way universal build of Python 2.6 in /Library/ 
> Frameworks/Python64.framework. Add the 'bin' directory inside the  
> framework to your shell's PATH to use this.   Note how the framework  
> name is "Python64.framework" and not "Python.framework", this allows  
> you to easily remove this build.
>
> There a 3 variants of the command-line interpreter: python-32,  
> python-64 and python-all, python-32 will always run in 32-bit mode,  
> python-64 runs in 64-bit mode and python-all will run in whatever  
> mode is available on a machine. The command "python" without a  
> suffix is an alias for python-32 (because most GUI libraries aren't  
> available in 64-bit mode yet).
>
> Distutils will build extensions 4-way universal as well, use  
> ARCHFLAGS to override this (as documented on Apple's website).
>
> There are some minor issues in this build:
> - the tools installed in /usr/local/bin don't include the 3 variants
> - I haven't tested the Carbon bindings in 64-bit mode.
>
>
> I'll be traveling for the next couple of weeks (WWDC and then some  
> down time) and will probably not be able to provide support during  
> this time. Please file bugs about any issues with this  
> configuration, preferable including patching ;-)
>
> Ronald



More information about the Pythonmac-SIG mailing list