diff options
Diffstat (limited to 'Tools/buildbot')
-rw-r--r-- | Tools/buildbot/README.tcltk-AMD64 | 36 | ||||
-rw-r--r-- | Tools/buildbot/external-amd64.bat | 12 |
2 files changed, 45 insertions, 3 deletions
diff --git a/Tools/buildbot/README.tcltk-AMD64 b/Tools/buildbot/README.tcltk-AMD64 new file mode 100644 index 0000000..edc89eb --- /dev/null +++ b/Tools/buildbot/README.tcltk-AMD64 @@ -0,0 +1,36 @@ +Comments on building tcl/tk for AMD64 with the MS SDK compiler +============================================================== + +I did have to build tcl/tk manually. + +First, I had to build the nmakehlp.exe helper utility manually by executing + cl nmakehlp.c /link bufferoverflowU.lib +in both the tcl8.4.12\win and tk8.4.12\win directories. + +Second, the AMD64 compiler refuses to compile the file +tcl8.4.12\generic\tclExecute.c because it insists on using intrinsics +for the 'ceil' and 'floor' functions: + + ..\generic\tclExecute.c(394) : error C2099: initializer is not a constant + ..\generic\tclExecute.c(398) : error C2099: initializer is not a constant + +I did comment out these lines; an alternative would have been to use +the /Oi- compiler flag to disable the intrinsic functions. +The commands then used were these: + + svn export http://svn.python.org/projects/external/tcl8.4.12 + cd tcl8.4.12\win + REM + echo patch the tcl8.4.12\generic\tclExecute.c file + pause + REM + cl nmakehlp.c /link bufferoverflowU.lib + nmake -f makefile.vc MACHINE=AMD64 + nmake -f makefile.vc INSTALLDIR=..\..\tcltk install + cd ..\.. + svn export http://svn.python.org/projects/external/tk8.4.12 + cd tk8.4.12\win + cl nmakehlp.c /link bufferoverflowU.lib + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 MACHINE=AMD64 + nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install + cd ..\.. diff --git a/Tools/buildbot/external-amd64.bat b/Tools/buildbot/external-amd64.bat index dac8cb3..ec9e6b6 100644 --- a/Tools/buildbot/external-amd64.bat +++ b/Tools/buildbot/external-amd64.bat @@ -7,23 +7,29 @@ call "%VS71COMNTOOLS%vsvars32.bat" call "%MSSdk%\SetEnv" /XP64 /RETAIL @rem Assume we start inside the Python source directory +for %%i in (.) do set CWD=%%~fi cd .. @rem sqlite if not exist sqlite-source-3.3.4 ( svn export http://svn.python.org/projects/external/sqlite-source-3.3.4 - if exist build\PCbuild\sqlite3.dll del build\PCbuild\sqlite3.dll + if exist %CWD%\PCbuild\sqlite3.dll del %CWD%\PCbuild\sqlite3.dll ) -if not exist build\PCbuild\sqlite3.dll ( +if not exist %CWD%\PCbuild\sqlite3.dll ( cd sqlite-source-3.3.4\amd64 cl ..\*.c link /def:..\sqlite3.def /dll *.obj /out:sqlite3.dll bufferoverflowU.lib cd ..\.. - copy sqlite-source-3.3.4\amd64\sqlite3.dll build\PCbuild + copy sqlite-source-3.3.4\amd64\sqlite3.dll %CWD%\PCbuild ) @rem bzip if not exist bzip2-1.0.3 svn export http://svn.python.org/projects/external/bzip2-1.0.3 +if not exist bzip2-1.0.3\libbz2.lib ( + cd bzip2-1.0.3 + nmake /f makefile.msc CFLAGS="-DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo /GS-" + cd .. +) @rem Sleepycat db if not exist db-4.4.20 svn export http://svn.python.org/projects/external/db-4.4.20 |