summaryrefslogtreecommitdiffstats
path: root/PCbuild/_bsddb.vcproj
diff options
context:
space:
mode:
authorTrent Nelson <trent.nelson@snakebite.org>2008-03-19 07:45:19 (GMT)
committerTrent Nelson <trent.nelson@snakebite.org>2008-03-19 07:45:19 (GMT)
commit05a96641b4aef8a8f61db9d55cc051f39260b12f (patch)
treee81bbb26ecd8876c4799f7e8f2231af3caf1688c /PCbuild/_bsddb.vcproj
parentb27745fb6d522b18cef532e4b51c9368d568e90e (diff)
downloadcpython-05a96641b4aef8a8f61db9d55cc051f39260b12f.zip
cpython-05a96641b4aef8a8f61db9d55cc051f39260b12f.tar.gz
cpython-05a96641b4aef8a8f61db9d55cc051f39260b12f.tar.bz2
Refine the Visual Studio 2008 build solution in order to improve how we deal with external components, as well as fixing outstanding issues with Windows x64 build support. Introduce two new .vcproj files, _bsddb44.vcproj and sqlite3.vcproj, which replace the previous pre-link event scripts for _bsddb and _sqlite3 respectively. The new project files inherit from our property files as if they were any other Python module. This has numerous benefits. First, the components get built with exactly the same compiler flags and settings as the rest of Python. Second, it makes it much easier to debug problems in the external components when they're part of the build system. Third, they'll benefit from profile guided optimisation in the release builds, just like the rest of Python core.
I've also introduced a slightly new pattern for managing externals in subversion. New components get checked in as <name>-<version>.x, where <version> matches the exact vendor version string. After the initial import of the external component, the .x is tagged as .0 (i.e. tcl-8.4.18.x -> tcl-8.4.18.0). Some components may not need any tweaking, whereas there are others that might (tcl/tk fall into this bucket). In that case, the relevant modifications are made to the .x branch, which will be subsequently tagged as .1 (and then n+1 going forward) when they build successfully and all tests pass. Buildbots will be converted to rely on these explicit tags only, which makes it easy for us to switch them over to a new version as and when required. (Simple change to external(-amd64).bat: if we've bumped tcl to 8.4.18.1, change the .bat to rmdir 8.4.18.0 if it exists and check out a new .1 copy.)
Diffstat (limited to 'PCbuild/_bsddb.vcproj')
-rw-r--r--PCbuild/_bsddb.vcproj43
1 files changed, 18 insertions, 25 deletions
diff --git a/PCbuild/_bsddb.vcproj b/PCbuild/_bsddb.vcproj
index 3efdcce..f9d77e8 100644
--- a/PCbuild/_bsddb.vcproj
+++ b/PCbuild/_bsddb.vcproj
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
- Version="9,00"
+ Version="9.00"
Name="_bsddb"
ProjectGUID="{B4D38F3F-68FB-42EC-A45D-E00657BB3627}"
RootNamespace="_bsddb"
@@ -42,7 +42,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -52,11 +52,9 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist Debug\libdb44sd.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Debug|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)\Debug\libdb44sd.lib"
BaseAddress="0x1e180000"
/>
<Tool
@@ -105,7 +103,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -115,11 +113,11 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist &quot;x64\Debug AMD64\db_static.lib&quot; exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Debug AMD64|x64&quot;&#x0D;&#x0A;"
+ CommandLine=""
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="&quot;$(bsddbDir)x64\Debug AMD64\db_static.lib&quot;"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
/>
<Tool
@@ -168,7 +166,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -178,11 +176,10 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist Release\libdb44s.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)\Release\libdb44s.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
/>
<Tool
@@ -232,7 +229,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -242,11 +239,11 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist x64\Release AMD64\db_static.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release AMD64|Win32&quot;&#x0D;&#x0A;"
+ CommandLine=""
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)x64\Release AMD64\db_static.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
/>
<Tool
@@ -295,7 +292,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -305,11 +302,10 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist Release\libdb44s.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)\Release\libdb44s.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
/>
<Tool
@@ -359,7 +355,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -369,11 +365,10 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist &quot;x64\Release AMD64\db_static.lib&quot; exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release AMD64|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)x64\Release AMD64\db_static.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
TargetMachine="17"
/>
@@ -423,7 +418,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -433,11 +428,10 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist Release\libdb44s.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)\Release\libdb44s.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
/>
<Tool
@@ -487,7 +481,7 @@
/>
<Tool
Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(bsddbDir)"
+ AdditionalIncludeDirectories="$(bsddbDir),$(bsddbDir)\.."
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -497,11 +491,10 @@
/>
<Tool
Name="VCPreLinkEventTool"
- CommandLine="cd $(bsddbDir)&#x0D;&#x0A;if exist x64\Release AMD64\db_static.lib exit 0&#x0D;&#x0A;vcbuild /useenv db_static.vcproj &quot;Release AMD64|Win32&quot;&#x0D;&#x0A;"
/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="$(bsddbDir)x64\Release AMD64\db_static.lib"
+ AdditionalDependencies="$(bsddbDepLibs)"
BaseAddress="0x1e180000"
TargetMachine="17"
/>