mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +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 ..\..
							 |