Message64834
Hi guys, have been on holiday since PyCon ended, only getting back into
the swing of things now. With regards to the x64 Windows build,
indeed, PCbuild/readme.txt is definitely in need of an update,
especially with the details of the slightly new build system I checked
in a few weeks ago.
As it currently stands, the Professional version of Visual Studio 2008
is required for a complete x64 build, however, this is because a cross-
compilation 'vsvars32.bat'-type file needs to be called in order to do
command line (i.e. nmake) x64 builds.
(The particular file I'm referring to is "C:\Program Files (x86)
\Microsoft Visual Studio 9.0\VC\vcvarsall.bat", which needs to be
invoked with 'x86_amd64' as the first parameter. This is only shipped
with the Professional version of Visual Studio 2008 -- the buildbots
currently rely on it to produce x64 builds, see
http://svn.python.org/projects/python/trunk/Tools/buildbot/build-
amd64.bat.)
We need to invoke this particular batch file in order to build x64
versions tcl/tk and openssl because we're currently reliant on the
nmake-oriented builds each of these projects ship with.
That said, the next step in my build-related improvements is to remove
this reliance and mimick the nmake-oriented builds with custom .vcproj
builds that inherit all of our property sheets -- this is the approach
I took with bsddb and sqlite3 and it worked *very*, *very* well. (See
_bsddb44.vcproj and sqlite3.vcproj in the PCbuild directory.)
There are many advantages with this approach. To name a few: the
release versions of the modules will benefit from profile guided
optimisation, just like the rest of the python build, the modules are
significantly easier to debug, and there is no chance for conflicting
compiler/linker flags (which was a continual source of pain with
bsddb/sqlite3 when they were built with the vendor-supplied build
system).
So, eventually, you should be able to build and entire release version
of Python x64 with just the Express edition of Visual Studio 2008 (note
that the Express edition won't support a PGO build though).
The 'official' release though will be built with a Professional version
though, as Mark states, thus allowing us to take advantage of profile
guided optimisation.
Hopefully this isn't too much off topic. (I can't comment on the
patches Mark has provided just yet as I haven't had a chance to review
them -- just wanted to clear up the x64 cross-compilation questions.)
Perhaps I should create a separate issue to track the work needed to
cross compile an x64 build with the Express edition only. Any
objections? |
|
Date |
User |
Action |
Args |
2008-04-02 05:26:16 | trent | set | spambayes_score: 0.00231346 -> 0.0023134558 recipients:
+ trent, lemburg, loewis, mhammond, theller, ctheune, christian.heimes |
2008-04-02 05:26:09 | trent | set | spambayes_score: 0.00231346 -> 0.00231346 messageid: <1207113969.86.0.981258331102.issue2513@psf.upfronthosting.co.za> |
2008-04-02 05:26:08 | trent | link | issue2513 messages |
2008-04-02 05:26:06 | trent | create | |
|