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 ..\..
|
---|