[Python-Dev] FW: [issue2513] 64bit cross compilation on windows

Mark Hammond mhammond at skippinet.com.au
Tue Apr 1 11:45:57 CEST 2008


I wrote:

> FYI, I've uploaded a patch that provides for cross-compilation on
> Windows between 32 and 64 bit platforms - all comments invited!

While I have some people's attention I'd like to re-raise another issue I
foresee for x64 builds.  I've mentioned this over the last couple of months,
but haven't got much of a response, so this seems like a reasonable
opportunity to try one more time :)
 
Currently, the "official" (by way of being de-facto) directory structure for
a build tree is 'PCBuild/.' for x86 builds and 'PCBuild/amd64' for x64
platforms.  I believe this might cause problems for people trying to port
their applications to 64bit platforms.  My proposal is that we change this
subtly - that both 'PCBuild/x86', and 'PCBuild/amd64' exist, while
'PCBuild/.' is always the 'native' platform - ie, that 'PCBuild/.' be a copy
of one of the platform subdirectories.

The rationale is fairly simple: I'm quite certain that this new directory
layout will break existing "native only" build processes (ie, those that
aren't aware of cross-compilation).  I'm quite certain that Mozilla will
break, for example, and no cross-compilation process exists that I am aware
of.  Existing build tools already know about the PCBuild directory, and are
focused almost exclusively towards native compilation - all such tools on
non-x86 platforms are currently broken.  My proposal would help avoid
breakage for existing build processes or tools that try to natively target
x64, and give a reasonable story for build processes that explicitly support
cross-compilation.  I believe the costs are fairly small - disk space is
cheap and the extra complexity in the VS project files should be reasonable.

What do people think?  I think it's time to take the approach of "silent
ascent", so unless I hear objections I'll upload a new patch which
implements this and also takes it into account for Distutils builds.

Cheers, 

Mark




More information about the Python-Dev mailing list