Build _ctypes.pyd for win AMD64 into the MSVC project file.

Since MSVC doesn't know about .asm files, a helper batch file is needed
to find ml64.exe in predefined locations.  The helper script hardcodes
the path to the MS Platform SDK.
This commit is contained in:
Thomas Heller 2006-08-25 09:26:33 +00:00
parent b1a7d758e2
commit 7dc77ce969
2 changed files with 54 additions and 1 deletions

View File

@ -4,6 +4,7 @@
Version="7.10"
Name="_ctypes"
ProjectGUID="{F22F40F4-D318-40DC-96B3-88DC81CE0894}"
RootNamespace="_ctypes"
Keyword="Win32Proj">
<Platforms>
<Platform
@ -128,7 +129,7 @@
CharacterSet="2">
<Tool
Name="VCCLCompilerTool"
AdditionalOptions=" /USECL:MS_OPTERON"
AdditionalOptions=" /USECL:MS_OPTERON /GS-"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories="..\Include,..\PC,..\Modules\_ctypes\libffi_msvc"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
@ -268,6 +269,41 @@
</File>
<File
RelativePath="..\Modules\_ctypes\libffi_msvc\win32.c">
<FileConfiguration
Name="ReleaseAMD64|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCLCompilerTool"/>
</FileConfiguration>
</File>
<File
RelativePath="..\Modules\_ctypes\libffi_msvc\win64.asm">
<FileConfiguration
Name="Debug|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCustomBuildTool"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCustomBuildTool"/>
</FileConfiguration>
<FileConfiguration
Name="ReleaseAMD64|Win32">
<Tool
Name="VCCustomBuildTool"
CommandLine="amd64_ml64 /nologo /c /Fo &quot;$(IntDir)\win64.obj&quot; &quot;$(InputPath)&quot;
"
Outputs="&quot;$(IntDir)\win64.obj&quot;"/>
</FileConfiguration>
<FileConfiguration
Name="ReleaseItanium|Win32"
ExcludedFromBuild="TRUE">
<Tool
Name="VCCustomBuildTool"/>
</FileConfiguration>
</File>
</Files>
<Globals>

17
PCbuild/amd64_ml64.bat Normal file
View File

@ -0,0 +1,17 @@
@echo off
rem Try to find the AMD64 assembler and call it with the supplied arguments.
set MLEXE=Microsoft Platform SDK\Bin\Win64\x86\AMD64\ml64.EXE
rem For the environment variables see also
rem http://msdn.microsoft.com/library/en-us/win64/win64/wow64_implementation_details.asp
if exist "%ProgramFiles%\%MLEXE%" (
set ML64="%ProgramFiles%\%MLEXE%"
) else if exist "%ProgramW6432%\%MLEXE%" (
set ML64="%ProgramW6432%\%MLEXE%"
) else (
set ML64=ml64.exe
)
%ML64% %*