blob: edc89eba9e66323a87687a7f1110fcb2eb9949ff [file] [log] [blame]
Guido van Rossum7eaf8222007-06-18 17:58:50 +00001Comments on building tcl/tk for AMD64 with the MS SDK compiler
2==============================================================
3
4I did have to build tcl/tk manually.
5
6First, I had to build the nmakehlp.exe helper utility manually by executing
7 cl nmakehlp.c /link bufferoverflowU.lib
8in both the tcl8.4.12\win and tk8.4.12\win directories.
9
10Second, the AMD64 compiler refuses to compile the file
11tcl8.4.12\generic\tclExecute.c because it insists on using intrinsics
12for 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
17I did comment out these lines; an alternative would have been to use
18the /Oi- compiler flag to disable the intrinsic functions.
19The 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 ..\..