mirror of https://github.com/python/cpython
The macros _WIN32, _WIN64 and _M_X64 are defined by the compiler. The VS 2008 IDE doesn't know about (some) of the macros and can display wrong information. In my case a section #ifdef _WIN64 was grayed out although the platform was x64. I've added the macros to pyproject.vsprops and x64.vsprops.
I've also added a paragraph about the property files to the readme and fixed the order of pyupdate > pyinstrument.
This commit is contained in:
parent
749fddc093
commit
18679948c4
|
@ -402,7 +402,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
|
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops"
|
||||||
CharacterSet="0"
|
CharacterSet="0"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
|
@ -465,7 +465,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
|
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops"
|
||||||
CharacterSet="0"
|
CharacterSet="0"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<VisualStudioPropertySheet
|
<VisualStudioPropertySheet
|
||||||
ProjectType="Visual C++"
|
ProjectType="Visual C++"
|
||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="pgoptimize"
|
Name="pgupdate"
|
||||||
OutputDirectory="$(SolutionDir)$(PlatformName)-pgo\"
|
OutputDirectory="$(SolutionDir)$(PlatformName)-pgo\"
|
||||||
InheritedPropertySheets="$(SolutionDir)\pginstrument.vsprops"
|
InheritedPropertySheets="$(SolutionDir)\pginstrument.vsprops"
|
||||||
>
|
>
|
||||||
|
|
|
@ -390,7 +390,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
|
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops"
|
||||||
CharacterSet="0"
|
CharacterSet="0"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
|
@ -451,7 +451,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
|
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops"
|
||||||
CharacterSet="0"
|
CharacterSet="0"
|
||||||
WholeProgramOptimization="1"
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
AdditionalIncludeDirectories="..\Include; ..\PC"
|
AdditionalIncludeDirectories="..\Include; ..\PC"
|
||||||
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE"
|
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_WIN32"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
|
|
@ -318,7 +318,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|Win32"
|
Name="PGInstrument|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -392,7 +392,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|x64"
|
Name="PGInstrument|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -542,7 +542,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
|
|
@ -326,7 +326,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|Win32"
|
Name="PGInstrument|Win32"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|x64"
|
Name="PGInstrument|x64"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -476,7 +476,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -550,7 +550,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="2"
|
ConfigurationType="2"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
|
|
@ -305,7 +305,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|Win32"
|
Name="PGInstrument|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -377,7 +377,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|x64"
|
Name="PGInstrument|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -450,7 +450,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
@ -522,7 +522,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
>
|
>
|
||||||
|
|
|
@ -293,6 +293,31 @@ macro "Py_ENABLE_SHARED" to "Py_NO_ENABLE_SHARED". You may also have to
|
||||||
change the "Runtime Library" from "Multi-threaded DLL (/MD)" to
|
change the "Runtime Library" from "Multi-threaded DLL (/MD)" to
|
||||||
"Multi-threaded (/MT)".
|
"Multi-threaded (/MT)".
|
||||||
|
|
||||||
|
Visual Studio properties
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
The PCbuild9 solution makes heavy use of Visual Studio property files
|
||||||
|
(*.vsprops). The properties can be viewed and altered in the Property
|
||||||
|
Manager (View -> Other Windows -> Property Manager).
|
||||||
|
|
||||||
|
* debug (debug macros)
|
||||||
|
* pginstrument (PGO)
|
||||||
|
* pgupdate (PGO)
|
||||||
|
+-- pginstrument
|
||||||
|
* pyd (python extension, release build)
|
||||||
|
+-- release
|
||||||
|
+-- pyproject
|
||||||
|
* pyd_d (python extension, debug build)
|
||||||
|
+-- debug
|
||||||
|
+-- pyproject
|
||||||
|
* pyproject (base settings for all projects)
|
||||||
|
* release (release macros)
|
||||||
|
* x64 (AMD64 / x64 platform specific settings)
|
||||||
|
|
||||||
|
The pyproject propertyfile defines _WIN32 and x64 defines _WIN64 and _M_X64
|
||||||
|
although the macros are set by the compiler, too. The GUI doesn't always know
|
||||||
|
about the macros and confuse the user with false information.
|
||||||
|
|
||||||
YOUR OWN EXTENSION DLLs
|
YOUR OWN EXTENSION DLLs
|
||||||
-----------------------
|
-----------------------
|
||||||
If you want to create your own extension module DLL, there's an example
|
If you want to create your own extension module DLL, there's an example
|
||||||
|
|
|
@ -285,7 +285,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|Win32"
|
Name="PGInstrument|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -353,7 +353,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGInstrument|x64"
|
Name="PGInstrument|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -423,7 +423,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|Win32"
|
Name="PGUpdate|Win32"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
@ -491,7 +491,7 @@
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="PGUpdate|x64"
|
Name="PGUpdate|x64"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
|
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
|
||||||
UseOfMFC="0"
|
UseOfMFC="0"
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
ATLMinimizesCRunTimeLibraryUsage="false"
|
||||||
CharacterSet="2"
|
CharacterSet="2"
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
AdditionalOptions="/USECL:MS_OPTERON /GS-"
|
AdditionalOptions="/USECL:MS_OPTERON /GS-"
|
||||||
|
PreprocessorDefinitions="_WIN64;_M_X64"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
|
|
Loading…
Reference in New Issue