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:
Christian Heimes 2007-12-05 21:57:25 +00:00
parent 749fddc093
commit 18679948c4
10 changed files with 48 additions and 22 deletions

View File

@ -402,7 +402,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="2"
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops"
CharacterSet="0"
WholeProgramOptimization="1"
>
@ -465,7 +465,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="2"
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops"
CharacterSet="0"
WholeProgramOptimization="1"
>

View File

@ -2,7 +2,7 @@
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="pgoptimize"
Name="pgupdate"
OutputDirectory="$(SolutionDir)$(PlatformName)-pgo\"
InheritedPropertySheets="$(SolutionDir)\pginstrument.vsprops"
>

View File

@ -390,7 +390,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="2"
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
InheritedPropertySheets=".\pyd.vsprops;.\pgupdate.vsprops"
CharacterSet="0"
WholeProgramOptimization="1"
>
@ -451,7 +451,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="2"
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\pginstrument.vsprops"
InheritedPropertySheets=".\pyd.vsprops;.\x64.vsprops;.\pgupdate.vsprops"
CharacterSet="0"
WholeProgramOptimization="1"
>

View File

@ -12,7 +12,7 @@
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="..\Include; ..\PC"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE"
PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_WIN32"
StringPooling="true"
ExceptionHandling="0"
RuntimeLibrary="0"

View File

@ -318,7 +318,7 @@
<Configuration
Name="PGInstrument|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -392,7 +392,7 @@
<Configuration
Name="PGInstrument|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -468,7 +468,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -542,7 +542,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"

View File

@ -326,7 +326,7 @@
<Configuration
Name="PGInstrument|Win32"
ConfigurationType="2"
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -400,7 +400,7 @@
<Configuration
Name="PGInstrument|x64"
ConfigurationType="2"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -476,7 +476,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="2"
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -550,7 +550,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="2"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>

View File

@ -305,7 +305,7 @@
<Configuration
Name="PGInstrument|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -377,7 +377,7 @@
<Configuration
Name="PGInstrument|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -450,7 +450,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>
@ -522,7 +522,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
>

View File

@ -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
"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
-----------------------
If you want to create your own extension module DLL, there's an example

View File

@ -285,7 +285,7 @@
<Configuration
Name="PGInstrument|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -353,7 +353,7 @@
<Configuration
Name="PGInstrument|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pginstrument.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pginstrument.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -423,7 +423,7 @@
<Configuration
Name="PGUpdate|Win32"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
@ -491,7 +491,7 @@
<Configuration
Name="PGUpdate|x64"
ConfigurationType="1"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\pgupdate.vsprops;.\release.vsprops"
InheritedPropertySheets=".\pyproject.vsprops;.\x64.vsprops;.\release.vsprops;.\pgupdate.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"

View File

@ -9,6 +9,7 @@
<Tool
Name="VCCLCompilerTool"
AdditionalOptions="/USECL:MS_OPTERON /GS-"
PreprocessorDefinitions="_WIN64;_M_X64"
/>
<Tool
Name="VCLinkerTool"