summaryrefslogtreecommitdiffstats
path: root/Tools/buildbot
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/buildbot')
-rw-r--r--Tools/buildbot/README.tcltk-AMD6436
-rw-r--r--Tools/buildbot/external-amd64.bat12
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