]> granicus.if.org Git - python/commitdiff
Notes about building tcl/tk for windows/AMD64.
authorThomas Heller <theller@ctypes.org>
Wed, 13 Jun 2007 07:07:41 +0000 (07:07 +0000)
committerThomas Heller <theller@ctypes.org>
Wed, 13 Jun 2007 07:07:41 +0000 (07:07 +0000)
Tools/buildbot/README.tcltk-AMD64 [new file with mode: 0644]

diff --git a/Tools/buildbot/README.tcltk-AMD64 b/Tools/buildbot/README.tcltk-AMD64
new file mode 100644 (file)
index 0000000..edc89eb
--- /dev/null
@@ -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 ..\..