mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			37 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | Comments on building tcl/tk for AMD64 with the MS SDK compiler | ||
|  | ============================================================== | ||
|  | 
 | ||
|  | I did have to build tcl/tk manually. | ||
|  | 
 | ||
|  | First, I had to build the nmakehlp.exe helper utility manually by executing | ||
|  |    cl nmakehlp.c /link bufferoverflowU.lib | ||
|  | in both the tcl8.4.12\win and tk8.4.12\win directories. | ||
|  | 
 | ||
|  | Second, the AMD64 compiler refuses to compile the file | ||
|  | tcl8.4.12\generic\tclExecute.c because it insists on using intrinsics | ||
|  | for the 'ceil' and 'floor' functions: | ||
|  | 
 | ||
|  |   ..\generic\tclExecute.c(394) : error C2099: initializer is not a constant | ||
|  |   ..\generic\tclExecute.c(398) : error C2099: initializer is not a constant | ||
|  | 
 | ||
|  | I did comment out these lines; an alternative would have been to use | ||
|  | the /Oi- compiler flag to disable the intrinsic functions. | ||
|  | The commands then used were these: | ||
|  | 
 | ||
|  |    svn export http://svn.python.org/projects/external/tcl8.4.12 | ||
|  |    cd tcl8.4.12\win | ||
|  |    REM | ||
|  |    echo patch the tcl8.4.12\generic\tclExecute.c file | ||
|  |    pause  | ||
|  |    REM | ||
|  |    cl nmakehlp.c /link bufferoverflowU.lib | ||
|  |    nmake -f makefile.vc MACHINE=AMD64 | ||
|  |    nmake -f makefile.vc INSTALLDIR=..\..\tcltk install | ||
|  |    cd ..\.. | ||
|  |    svn export http://svn.python.org/projects/external/tk8.4.12 | ||
|  |    cd tk8.4.12\win | ||
|  |    cl nmakehlp.c /link bufferoverflowU.lib | ||
|  |    nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 MACHINE=AMD64 | ||
|  |    nmake -f makefile.vc TCLDIR=..\..\tcl8.4.12 INSTALLDIR=..\..\tcltk install | ||
|  |    cd ..\.. |