[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