[Python-checkins] r79424 - in python/branches/branch_libffi-3_0_10-win: Modules/_ctypes/callproc.c Modules/_ctypes/libffi_msvc/fficonfig.h PCbuild/_ctypes.vcproj

thomas.heller python-checkins at python.org
Thu Mar 25 19:28:03 CET 2010


Author: thomas.heller
Date: Thu Mar 25 19:28:02 2010
New Revision: 79424

Log:
Build _ctypes on Win64.

Modified:
   python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/callproc.c
   python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/libffi_msvc/fficonfig.h
   python/branches/branch_libffi-3_0_10-win/PCbuild/_ctypes.vcproj

Modified: python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/callproc.c
==============================================================================
--- python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/callproc.c	(original)
+++ python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/callproc.c	Thu Mar 25 19:28:02 2010
@@ -1150,11 +1150,7 @@
 	}
 	for (i = 0; i < argcount; ++i) {
 		atypes[i] = args[i].ffi_type;
-		if (atypes[i]->type == FFI_TYPE_STRUCT 
-#ifdef _WIN64
-		    && atypes[i]->size <= sizeof(void *)
-#endif
-		    )
+		if (atypes[i]->type == FFI_TYPE_STRUCT)
 			avalues[i] = (void *)args[i].value.p;
 		else
 			avalues[i] = (void *)&args[i].value;

Modified: python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/libffi_msvc/fficonfig.h
==============================================================================
--- python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/libffi_msvc/fficonfig.h	(original)
+++ python/branches/branch_libffi-3_0_10-win/Modules/_ctypes/libffi_msvc/fficonfig.h	Thu Mar 25 19:28:02 2010
@@ -23,7 +23,7 @@
 /* #undef FFI_MMAP_EXEC_WRIT */
 
 /* Define this is you do not want support for the raw API. */
-#undef FFI_NO_RAW_API
+#define FFI_NO_RAW_API 1
 
 /* Define this is you do not want support for aggregate types. */
 /* #undef FFI_NO_STRUCTS */

Modified: python/branches/branch_libffi-3_0_10-win/PCbuild/_ctypes.vcproj
==============================================================================
--- python/branches/branch_libffi-3_0_10-win/PCbuild/_ctypes.vcproj	(original)
+++ python/branches/branch_libffi-3_0_10-win/PCbuild/_ctypes.vcproj	Thu Mar 25 19:28:02 2010
@@ -104,7 +104,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc;..\Modules\_ctypes\libffi\include;..\Modules\_ctypes\libffi\src\x86"
+				PreprocessorDefinitions="X86_WIN64"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -230,7 +231,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc;..\Modules\_ctypes\libffi\include;..\Modules\_ctypes\libffi\src\x86"
+				PreprocessorDefinitions="X86_WIN64"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -358,7 +360,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc;..\Modules\_ctypes\libffi\include;..\Modules\_ctypes\libffi\src\x86"
+				PreprocessorDefinitions="X86_WIN64"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -487,7 +490,8 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc;..\Modules\_ctypes\libffi\include;..\Modules\_ctypes\libffi\src\x86"
+				PreprocessorDefinitions="X86_WIN64"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -547,7 +551,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffi_common.h"
+				RelativePath="..\Modules\_ctypes\libffi\include\ffi_common.h"
 				>
 			</File>
 			<File
@@ -555,7 +559,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffitarget.h"
+				RelativePath="..\Modules\_ctypes\libffi\src\x86\ffitarget.h"
 				>
 			</File>
 		</Filter>
@@ -585,6 +589,14 @@
 			<File
 				RelativePath="..\Modules\_ctypes\libffi\src\x86\ffi.c"
 				>
+				<FileConfiguration
+					Name="Debug|x64"
+					>
+					<Tool
+						Name="VCCLCompilerTool"
+						PreprocessorDefinitions="X86_WIN64"
+					/>
+				</FileConfiguration>
 			</File>
 			<File
 				RelativePath="..\Modules\_ctypes\libffi\src\prep_cif.c"
@@ -602,7 +614,7 @@
 					>
 					<Tool
 						Name="VCCustomBuildTool"
-						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
 						Outputs="$(IntDir)$(InputName).obj"
 					/>
 				</FileConfiguration>
@@ -619,7 +631,7 @@
 					>
 					<Tool
 						Name="VCCustomBuildTool"
-						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
 						Outputs="$(IntDir)$(InputName).obj"
 					/>
 				</FileConfiguration>
@@ -636,7 +648,7 @@
 					>
 					<Tool
 						Name="VCCustomBuildTool"
-						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
 						Outputs="$(IntDir)$(InputName).obj"
 					/>
 				</FileConfiguration>
@@ -653,7 +665,7 @@
 					>
 					<Tool
 						Name="VCCustomBuildTool"
-						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml /nologo /Zi /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
 						Outputs="$(IntDir)$(InputName).obj"
 					/>
 				</FileConfiguration>
@@ -666,6 +678,78 @@
 					/>
 				</FileConfiguration>
 			</File>
+			<File
+				RelativePath="..\Modules\_ctypes\libffi\src\x86\win64.S"
+				>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Debug|x64"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml64 /Zi /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
+						Outputs="$(IntDir)$(InputName).obj"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="Release|x64"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml64 /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
+						Outputs="$(IntDir)$(InputName).obj"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="PGInstrument|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="PGInstrument|x64"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml64 /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
+						Outputs="$(IntDir)$(InputName).obj"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="PGUpdate|Win32"
+					ExcludedFromBuild="true"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+					/>
+				</FileConfiguration>
+				<FileConfiguration
+					Name="PGUpdate|x64"
+					>
+					<Tool
+						Name="VCCustomBuildTool"
+						CommandLine="cl /nologo /EP /I ..\Modules\_ctypes\libffi_msvc /I ..\Modules\_ctypes\libffi\src\x86 $(InputPath) &gt; $(IntDir)$(InputName).asm&#x0D;&#x0A;ml64 /nologo /c /Fo $(IntDir)$(InputName).obj $(IntDir)$(InputName).asm&#x0D;&#x0A;"
+						Outputs="$(IntDir)$(InputName).obj"
+					/>
+				</FileConfiguration>
+			</File>
 		</Filter>
 	</Files>
 	<Globals>


More information about the Python-checkins mailing list