• Home
Name
Date
Size
#Lines
LOC

..--

README.tcltk-AMD64D03-May-20241.4 KiB3730

build-amd64.batD03-May-2024313 76

build.batD03-May-2024288 86

buildmsi.batD03-May-2024531 2116

clean-amd64.batD03-May-2024317 1110

clean.batD03-May-2024300 1110

external-amd64.batD03-May-20241 KiB2117

external-common.batD03-May-20241.7 KiB4639

external.batD03-May-20241,012 2218

test-amd64.batD03-May-202486 43

test.batD03-May-202482 43

README.tcltk-AMD64

1Comments 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 ..\..
37