From 7b31bf12b9f517e2a9795d63a1701cdf23279d5a Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Mon, 8 Jul 2013 14:54:20 +0200
Subject: Add support for Visual Studio 2005

---
 mssql/custom/makefile                |   6 +-
 mssql/database/makefile              |   5 +-
 mssql/makefile                       |   5 +-
 mssql/mssql-vc8.sln                  |  15 ++
 mssql/native/makefile                |   5 +-
 mssql/query/makefile                 |   5 +-
 mssql/template/Makefile.am           |   2 +-
 mssql/template/makefile              |   5 +-
 mssql/template/template-vc10.vcxproj |   2 +-
 mssql/template/template-vc11.vcxproj |   2 +-
 mssql/template/template-vc8.vcproj   | 354 +++++++++++++++++++++++++++++++++++
 mssql/template/template-vc9.vcproj   |   2 +-
 mssql/types/makefile                 |   5 +-
 13 files changed, 402 insertions(+), 11 deletions(-)
 create mode 100644 mssql/mssql-vc8.sln
 create mode 100644 mssql/template/template-vc8.vcproj

(limited to 'mssql')

diff --git a/mssql/custom/makefile b/mssql/custom/makefile
index 98c0869..da1def2 100644
--- a/mssql/custom/makefile
+++ b/mssql/custom/makefile
@@ -46,14 +46,17 @@ $(out_base)/: $(driver)
 $(dist): sources := $(cxx_tun)
 $(dist): headers := $(odb_hdr)
 $(dist): export extra_headers := traits.hxx query.hxx
+$(dist): export extra_sources := $(filter-out driver.cxx,$(cxx_tun))
 $(dist): data_dist := test.std custom.sql
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -85,6 +88,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
diff --git a/mssql/database/makefile b/mssql/database/makefile
index b8281c5..c01f888 100644
--- a/mssql/database/makefile
+++ b/mssql/database/makefile
@@ -28,12 +28,14 @@ $(out_base)/: $(driver)
 $(dist): sources := $(cxx_tun)
 $(dist): data_dist := test.std
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -64,6 +66,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
diff --git a/mssql/makefile b/mssql/makefile
index 4891a0a..1b831a6 100644
--- a/mssql/makefile
+++ b/mssql/makefile
@@ -16,9 +16,11 @@ $(default): $(addprefix $(out_base)/,$(addsuffix /,$(tests)))
 
 $(dist): name := mssql
 $(dist): export dirs := $(tests)
-$(dist): export extra_dist := $(name)-vc9.sln $(name)-vc10.sln $(name)-vc11.sln test.bat
+$(dist): export extra_dist := $(name)-vc8.sln $(name)-vc9.sln \
+$(name)-vc10.sln $(name)-vc11.sln test.bat
 $(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests)))
 	$(call meta-automake)
+	$(call meta-vc8sln,$(name)-vc8.sln)
 	$(call meta-vc9sln,$(name)-vc9.sln)
 	$(call meta-vc10sln,$(name)-vc10.sln)
 	$(call meta-vc11sln,$(name)-vc11.sln)
@@ -27,6 +29,7 @@ $(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(tests)))
 $(test): $(addprefix $(out_base)/,$(addsuffix /.test,$(tests)))
 $(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(tests)))
 
+$(call include,$(bld_root)/meta/vc8sln.make)
 $(call include,$(bld_root)/meta/vc9sln.make)
 $(call include,$(bld_root)/meta/vc10sln.make)
 $(call include,$(bld_root)/meta/vc11sln.make)
diff --git a/mssql/mssql-vc8.sln b/mssql/mssql-vc8.sln
new file mode 100644
index 0000000..f38bad2
--- /dev/null
+++ b/mssql/mssql-vc8.sln
@@ -0,0 +1,15 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+__projects__
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+__solution_configurations__
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+__project_configurations__
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/mssql/native/makefile b/mssql/native/makefile
index 95fbd77..1104857 100644
--- a/mssql/native/makefile
+++ b/mssql/native/makefile
@@ -28,12 +28,14 @@ $(out_base)/: $(driver)
 $(dist): sources := $(cxx_tun)
 $(dist): data_dist := test.std
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -64,6 +66,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
diff --git a/mssql/query/makefile b/mssql/query/makefile
index 6194671..b23b9d8 100644
--- a/mssql/query/makefile
+++ b/mssql/query/makefile
@@ -46,12 +46,14 @@ $(dist): sources := $(cxx_tun)
 $(dist): headers := $(odb_hdr)
 $(dist): data_dist := test.std
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(headers) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -83,6 +85,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
diff --git a/mssql/template/Makefile.am b/mssql/template/Makefile.am
index 4e7904a..379b77a 100644
--- a/mssql/template/Makefile.am
+++ b/mssql/template/Makefile.am
@@ -31,5 +31,5 @@ ODBFLAGS += --std c++11
 endif
 
 test-odb.hxx: test.hxx
-	$(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $<
+	$(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) m4_patsubst(__value__(odb_options), __value__(src_base), $(srcdir)) $<
 )
diff --git a/mssql/template/makefile b/mssql/template/makefile
index 325cb8d..1b2b97b 100644
--- a/mssql/template/makefile
+++ b/mssql/template/makefile
@@ -45,12 +45,14 @@ $(dist): sources := $(cxx_tun)
 $(dist): headers := $(odb_hdr)
 $(dist): data_dist := test.std
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(headers) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -82,6 +84,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
diff --git a/mssql/template/template-vc10.vcxproj b/mssql/template/template-vc10.vcxproj
index cf9c6ff..5875d9b 100644
--- a/mssql/template/template-vc10.vcxproj
+++ b/mssql/template/template-vc10.vcxproj
@@ -160,7 +160,7 @@ m4_dnl
 __custom_build_entry__(
 test.hxx,
 odb test.hxx,
-odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx,
+odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx,
 test-odb.hxx;test-odb.ixx;test-odb.cxx)
   </ItemGroup>)
   <ItemGroup>
diff --git a/mssql/template/template-vc11.vcxproj b/mssql/template/template-vc11.vcxproj
index 3d2a5ae..93f2be8 100644
--- a/mssql/template/template-vc11.vcxproj
+++ b/mssql/template/template-vc11.vcxproj
@@ -164,7 +164,7 @@ m4_dnl
 __custom_build_entry__(
 test.hxx,
 odb test.hxx,
-odb.exe --std c++11 __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx,
+odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx,
 test-odb.hxx;test-odb.ixx;test-odb.cxx)
   </ItemGroup>)
   <ItemGroup>
diff --git a/mssql/template/template-vc8.vcproj b/mssql/template/template-vc8.vcproj
new file mode 100644
index 0000000..cfd697f
--- /dev/null
+++ b/mssql/template/template-vc8.vcproj
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="8.00"
+	Name="__value__(name)"
+	ProjectGUID="{__uuid__()}"
+	RootNamespace="__value__(name)"
+	Keyword="Win32Proj"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+		<Platform
+			Name="x64"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290"
+				Optimization="0"
+				AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common-d.lib odb-mssql-d.lib odb-d.lib"
+				OutputFile="$(OutDir)\driver.exe"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290"
+				AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon"
+				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="$(SolutionDir)\..\libcommon\lib\common.lib odb-mssql.lib odb.lib"
+				OutputFile="$(OutDir)\driver.exe"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Debug|x64"
+			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290"
+				Optimization="0"
+				AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;HAVE_CONFIG_VC_H"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common-d.lib odb-mssql-d.lib odb-d.lib"
+				OutputFile="$(OutDir)\driver.exe"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|x64"
+			OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+			IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+				TargetEnvironment="3"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="/wd4068 /wd4355 /wd4800 /wd4290"
+				AdditionalIncludeDirectories="$(SolutionDir)\..\libcommon"
+				PreprocessorDefinitions="WIN32;_CONSOLE;HAVE_CONFIG_VC_H"
+				RuntimeLibrary="2"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				AdditionalDependencies="$(SolutionDir)\..\libcommon\lib64\common.lib odb-mssql.lib odb.lib"
+				OutputFile="$(OutDir)\driver.exe"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="17"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cxx"
+			UniqueIdentifier="{__uuid__()}"
+			>
+__source_entry__(driver.cxx)
+__ifelse__(__value__(odb_options),,,__source_entry__(test-odb.cxx))
+__source_entries__(extra_sources)
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hxx;ixx;txx"
+			UniqueIdentifier="{__uuid__()}"
+			>
+__ifelse__(__value__(odb_options),,,
+__file_entry_custom_build__(
+test.hxx,
+odb test.hxx,
+odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1400 -I$(SolutionDir)\..\libcommon)) test.hxx,
+test-odb.hxx;test-odb.ixx;test-odb.cxx)
+__file_entry__(test-odb.hxx)
+__file_entry__(test-odb.ixx))
+__file_entries__(extra_headers)
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/mssql/template/template-vc9.vcproj b/mssql/template/template-vc9.vcproj
index 50e7e17..72a95d9 100644
--- a/mssql/template/template-vc9.vcproj
+++ b/mssql/template/template-vc9.vcproj
@@ -349,7 +349,7 @@ __ifelse__(__value__(odb_options),,,
 __file_entry_custom_build__(
 test.hxx,
 odb test.hxx,
-odb.exe __xml__(__shell_quotes__(__value__(odb_options) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx,
+odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), __value__(src_base)/, ) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx,
 test-odb.hxx;test-odb.ixx;test-odb.cxx)
 __file_entry__(test-odb.hxx)
 __file_entry__(test-odb.ixx))
diff --git a/mssql/types/makefile b/mssql/types/makefile
index 8f86027..ab57f1f 100644
--- a/mssql/types/makefile
+++ b/mssql/types/makefile
@@ -47,12 +47,14 @@ $(dist): headers := $(odb_hdr)
 $(dist): export extra_headers := traits.hxx
 $(dist): data_dist := test.std
 $(dist): export name := $(subst /,-,$(subst $(src_root)/mssql/,,$(src_base)))
-$(dist): export extra_dist := $(data_dist) $(name)-vc9.vcproj \
+$(dist): export extra_dist := $(data_dist) \
+$(name)-vc8.vcproj $(name)-vc9.vcproj \
 $(name)-vc10.vcxproj $(name)-vc10.vcxproj.filters \
 $(name)-vc11.vcxproj $(name)-vc11.vcxproj.filters
 $(dist):
 	$(call dist-data,$(sources) $(headers) $(extra_headers) $(data_dist))
 	$(call meta-automake,../template/Makefile.am)
+	$(call meta-vc8proj,../template/template-vc8.vcproj,$(name)-vc8.vcproj)
 	$(call meta-vc9proj,../template/template-vc9.vcproj,$(name)-vc9.vcproj)
 	$(call meta-vc10proj,../template/template-vc10.vcxproj,$(name)-vc10.vcxproj)
 	$(call meta-vc11proj,../template/template-vc11.vcxproj,$(name)-vc11.vcxproj)
@@ -84,6 +86,7 @@ endif
 # How to.
 #
 $(call include,$(bld_root)/dist.make)
+$(call include,$(bld_root)/meta/vc8proj.make)
 $(call include,$(bld_root)/meta/vc9proj.make)
 $(call include,$(bld_root)/meta/vc10proj.make)
 $(call include,$(bld_root)/meta/vc11proj.make)
-- 
cgit v1.1