equal
deleted
inserted
replaced
|
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 ..\.. |