1 Comments on building tcl/tk for AMD64 with the MS SDK compiler 2 ============================================================== 3 4 I did have to build tcl/tk manually. 5 6 First, I had to build the nmakehlp.exe helper utility manually by executing 7 cl nmakehlp.c /link bufferoverflowU.lib 8 in both the tcl8.4.12\win and tk8.4.12\win directories. 9 10 Second, the AMD64 compiler refuses to compile the file 11 tcl8.4.12\generic\tclExecute.c because it insists on using intrinsics 12 for the 'ceil' and 'floor' functions: 13 14 ..\generic\tclExecute.c(394) : error C2099: initializer is not a constant 15 ..\generic\tclExecute.c(398) : error C2099: initializer is not a constant 16 17 I did comment out these lines; an alternative would have been to use 18 the /Oi- compiler flag to disable the intrinsic functions. 19 The commands then used were these: 20 21 svn export http://svn.python.org/projects/external/tcl8.4.12 22 cd tcl8.4.12\win 23 REM 24 echo patch the tcl8.4.12\generic\tclExecute.c file 25 pause 26 REM 27 cl nmakehlp.c /link bufferoverflowU.lib 28 nmake -f makefile.vc MACHINE=AMD64 29 nmake -f makefile.vc INSTALLDIR=..\..\tcltk install 30 cd ..\.. 31 svn export http://svn.python.org/projects/external/tk8.4.12 32 cd tk8.4.12\win 33 cl nmakehlp.c /link bufferoverflowU.lib 34 nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 MACHINE=AMD64 35 nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install 36 cd ..\.. 37