Index: build/generator/gen_win.py
===================================================================
--- build/generator/gen_win.py	(revision 28322)
+++ build/generator/gen_win.py	(working copy)
@@ -265,7 +265,12 @@
       os.makedirs(self.projfilesdir)
 
     #Here we can add additional platforms to compile for
-    self.platforms = ['Win32','x64']
+    self.platforms = ['Win32']
+    
+    # VS2002 and VS2003 only allow a single platform per project file
+    if subdir == 'vcnet-vcproj':
+      if self.vsnet_version != '7.00' and self.vsnet_version != '8.00':
+        self.platforms = ['Win32','x64']
 
     #Here we can add additional modes to compile for
     self.configs = ['Debug','Release']
@@ -1073,6 +1078,8 @@
     source_template = name + '.ezt'
     data = {
       'version' : self.vsnet_proj_ver,
+      'configs' : self.configs,
+      'platforms' : self.platforms      
       }
     for key, val in params:
       data[key] = val
Index: build/generator/neon.vcproj.ezt
===================================================================
--- build/generator/neon.vcproj.ezt	(revision 28322)
+++ build/generator/neon.vcproj.ezt	(working copy)
@@ -7,14 +7,12 @@
 	SccLocalPath=""
 	Keyword="MakeFileProj">
 	<Platforms>
-		<Platform
-			Name="Win32"/>
-		<Platform
-			Name="x64"/>
-	</Platforms>
+[for platforms]		<Platform
+			Name="[platforms]"/>
+[end]	</Platforms>
 	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
+[for platforms]		<Configuration
+			Name="Debug|[platforms]"
 			OutputDirectory="Debug"
 			IntermediateDirectory="Debug"
 			ConfigurationType="0"
@@ -28,7 +26,7 @@
 				Output="libneonD.lib"/>
 		</Configuration>
 		<Configuration
-			Name="Release|Win32"
+			Name="Release|[platforms]"
 			OutputDirectory="Release"
 			IntermediateDirectory="Release"
 			ConfigurationType="0"
@@ -41,35 +39,7 @@
 				CleanCommandLine="nmake /nologo /f neon.mak CLEAN EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
 				Output="libneon.lib"/>
 		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="Debug"
-			IntermediateDirectory="Debug"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="nmake /nologo /f neon.mak ALL DEBUG_BUILD=Aye EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path] ZLIB_LIBS=[zlib_path]\zlibstatD.lib[end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				ReBuildCommandLine="nmake /nologo /f neon.mak CLEAN ALL DEBUG_BUILD=Aye EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path] ZLIB_LIBS=[zlib_path]\zlibstatD.lib[end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				CleanCommandLine="nmake /nologo /f neon.mak CLEAN DEBUG_BUILD=Aye EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path] ZLIB_LIBS=[zlib_path]\zlibstatD.lib[end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				Output="libneonD.lib"/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="Release"
-			IntermediateDirectory="Release"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="nmake /nologo /f neon.mak ALL EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				ReBuildCommandLine="nmake /nologo /f neon.mak CLEAN ALL EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				CleanCommandLine="nmake /nologo /f neon.mak CLEAN EXPAT_INC=[expat_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-				Output="libneon.lib"/>
-		</Configuration>
-	</Configurations>
+[end]	</Configurations>
 	<Files>
 		<Filter
 			Name="Source Files"
Index: build/generator/serf.vcproj.ezt
===================================================================
--- build/generator/serf.vcproj.ezt	(revision 28322)
+++ build/generator/serf.vcproj.ezt	(working copy)
@@ -7,14 +7,12 @@
     SccLocalPath=""
     Keyword="MakeFileProj">
     <Platforms>
-        <Platform
-            Name="Win32"/>
-		<Platform
-			Name="x64"/>
-    </Platforms>
+[for platforms]		<Platform
+			Name="[platforms]"/>
+[end]	</Platforms>
     <Configurations>
-        <Configuration
-            Name="Debug|Win32"
+[for platforms]        <Configuration
+            Name="Debug|[platforms]"
             OutputDirectory="Debug"
             IntermediateDirectory="Debug"
             ConfigurationType="0"
@@ -28,7 +26,7 @@
                 Output="$(OutDir)\serf.lib"/>
         </Configuration>
         <Configuration
-            Name="Release|Win32"
+            Name="Release|[platforms]"
             OutputDirectory="Release"
             IntermediateDirectory="Release"
             ConfigurationType="0"
@@ -41,35 +39,7 @@
                 CleanCommandLine="nmake /s /nologo /f serf.mak CLEAN APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
                 Output="$(OutDir)\serf.lib"/>
         </Configuration>
-		<Configuration
-            Name="Debug|x64"
-            OutputDirectory="Debug"
-            IntermediateDirectory="Debug"
-            ConfigurationType="0"
-            UseOfMFC="0"
-            ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-                Name="VCNMakeTool"
-                BuildCommandLine="nmake /s /nologo /f serf.mak ALL DEBUG_BUILD=1 APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                ReBuildCommandLine="nmake /s /nologo /f serf.mak CLEAN ALL DEBUG_BUILD=1 APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                CleanCommandLine="nmake /s /nologo /f serf.mak CLEAN DEBUG_BUILD=1 APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path]  [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                Output="$(OutDir)\serf.lib"/>
-		</Configuration>
-		<Configuration
-            Name="Release|x64"
-            OutputDirectory="Release"
-            IntermediateDirectory="Release"
-            ConfigurationType="0"
-            UseOfMFC="0"
-            ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-                Name="VCNMakeTool"
-                BuildCommandLine="nmake /s /nologo /f serf.mak ALL APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                ReBuildCommandLine="nmake /s /nologo /f serf.mak CLEAN ALL APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path]  [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                CleanCommandLine="nmake /s /nologo /f serf.mak CLEAN APR_SRC=[apr_path] APRUTIL_SRC=[apr_util_path] [if-any zlib_path]ZLIB_SRC=[zlib_path][end] [if-any openssl_path]OPENSSL_SRC=[openssl_path][end]"
-                Output="$(OutDir)\serf.lib"/>
-		</Configuration>
-    </Configurations>
+[end]    </Configurations>
     <Files>
         <Filter
             Name="Source Files"
Index: build/generator/svn_config.vcproj.ezt
===================================================================
--- build/generator/svn_config.vcproj.ezt	(revision 28322)
+++ build/generator/svn_config.vcproj.ezt	(working copy)
@@ -7,14 +7,12 @@
 	SccLocalPath=""
 	Keyword="MakeFileProj">
 	<Platforms>
-		<Platform
-			Name="Win32"/>
-		<Platform
-			Name="x64"/>
-	</Platforms>
+[for platforms]		<Platform
+			Name="[platforms]"/>
+[end]	</Platforms>
 	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
+[for platforms][for configs]		<Configuration
+			Name="[configs]|[platforms]"
 			OutputDirectory="."
 			IntermediateDirectory="."
 			ConfigurationType="10"
@@ -32,96 +30,22 @@
 			<Tool
 				Name="VCPreBuildEventTool"/>
 		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="."
-			IntermediateDirectory="."
-			ConfigurationType="10"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			DeleteExtensionsOnClean="*.obj;*.ilk;*.pdb;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;$(TargetPath)">
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName="./svn_config.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="."
-			IntermediateDirectory="."
-			ConfigurationType="10"
-			UseOfMFC="0"
-			DeleteExtensionsOnClean="*.obj;*.ilk;*.pdb;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;$(TargetPath)"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName="./svn_config.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="."
-			IntermediateDirectory="."
-			ConfigurationType="10"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE"
-			DeleteExtensionsOnClean="*.obj;*.ilk;*.pdb;*.tlb;*.tli;*.tlh;*.tmp;*.rsp;$(TargetPath)">
-			<Tool
-				Name="VCCustomBuildTool"/>
-			<Tool
-				Name="VCMIDLTool"
-				TypeLibraryName="./svn_config.tlb"
-				HeaderFileName=""/>
-			<Tool
-				Name="VCPostBuildEventTool"/>
-			<Tool
-				Name="VCPreBuildEventTool"/>
-		</Configuration>
+[end][end]
 	</Configurations>
 	<Files>
 		<File
 			RelativePath="..\..\subversion\svn_private_config.h">
-			<FileConfiguration
-				Name="Debug|Win32"
+[for platforms][for configs]			<FileConfiguration
+				Name="[configs]|[platforms]"
 				ExcludedFromBuild="TRUE">
 				<Tool
 					Name="VCCustomBuildTool"/>
 			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32"
-				ExcludedFromBuild="TRUE">
-				<Tool
-					Name="VCCustomBuildTool"/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64"
-				ExcludedFromBuild="TRUE">
-				<Tool
-					Name="VCCustomBuildTool"/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64"
-				ExcludedFromBuild="TRUE">
-				<Tool
-					Name="VCCustomBuildTool"/>
-			</FileConfiguration>
-		</File>
+[end][end]		</File>
 		<File
 			RelativePath="..\..\subversion\svn_private_config.hw">
-			<FileConfiguration
-				Name="Debug|Win32">
+[for platforms][for configs]			<FileConfiguration
+				Name="[configs]|[platforms]">
 				<Tool
 					Name="VCCustomBuildTool"
 					Description="Creating svn_private_config.h from svn_private_config.hw."
@@ -129,34 +53,7 @@
 "
 					Outputs="..\..\subversion\svn_private_config.h"/>
 			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|Win32">
-				<Tool
-					Name="VCCustomBuildTool"
-					Description="Creating svn_private_config.h from svn_private_config.hw."
-					CommandLine="copy ..\..\subversion\svn_private_config.hw ..\..\subversion\svn_private_config.h &gt; nul
-"
-					Outputs="..\..\subversion\svn_private_config.h"/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Debug|x64">
-				<Tool
-					Name="VCCustomBuildTool"
-					Description="Creating svn_private_config.h from svn_private_config.hw."
-					CommandLine="copy ..\..\subversion\svn_private_config.hw ..\..\subversion\svn_private_config.h &gt; nul
-"
-					Outputs="..\..\subversion\svn_private_config.h"/>
-			</FileConfiguration>
-			<FileConfiguration
-				Name="Release|x64">
-				<Tool
-					Name="VCCustomBuildTool"
-					Description="Creating svn_private_config.h from svn_private_config.hw."
-					CommandLine="copy ..\..\subversion\svn_private_config.hw ..\..\subversion\svn_private_config.h &gt; nul
-"
-					Outputs="..\..\subversion\svn_private_config.h"/>
-			</FileConfiguration>
-		</File>
+[end][end]		</File>
 	</Files>
 	<Globals>
 	</Globals>
Index: build/generator/svn_locale.vcproj.ezt
===================================================================
--- build/generator/svn_locale.vcproj.ezt	(revision 28322)
+++ build/generator/svn_locale.vcproj.ezt	(working copy)
@@ -7,14 +7,12 @@
 	SccLocalPath=""
 	Keyword="MakeFileProj">
 	<Platforms>
-		<Platform
-			Name="Win32"/>
-		<Platform
-			Name="x64"/>
-	</Platforms>
+[for platforms]		<Platform
+			Name="[platforms]"/>
+[end]	</Platforms>
 	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
+[for platforms]		<Configuration
+			Name="Debug|[platforms]"
 			ConfigurationType="0"
 			UseOfMFC="0"
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
@@ -25,7 +23,7 @@
                         />
 		</Configuration>
 		<Configuration
-			Name="Release|Win32"
+			Name="Release|[platforms]"
 			ConfigurationType="0"
 			UseOfMFC="0"
 			ATLMinimizesCRunTimeLibraryUsage="FALSE">
@@ -35,29 +33,7 @@
 				ReBuildCommandLine="cmd /c build_locale.bat Release"
 			/>
 		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="cmd /c build_locale.bat Debug"
-				ReBuildCommandLine="cmd /c build_locale.bat Debug"
-                        />
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="cmd /c build_locale.bat Release"
-				ReBuildCommandLine="cmd /c build_locale.bat Release"
-			/>
-		</Configuration>
-	</Configurations>
+[end]	</Configurations>
 	<Files>
 	</Files>
 	<Globals>
Index: build/generator/zlib.vcproj.ezt
===================================================================
--- build/generator/zlib.vcproj.ezt	(revision 28322)
+++ build/generator/zlib.vcproj.ezt	(working copy)
@@ -7,14 +7,12 @@
 	SccLocalPath=""
 	Keyword="MakeFileProj">
 	<Platforms>
-		<Platform
-			Name="Win32"/>
-		<Platform
-			Name="x64"/>
-	</Platforms>
+[for platforms]		<Platform
+			Name="[platforms]"/>
+[end]	</Platforms>
 	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
+[for platforms]		<Configuration
+			Name="Debug|[platforms]"
 			OutputDirectory="[zlib_path]\Debug"
 			IntermediateDirectory="[zlib_path]\Debug"
 			ConfigurationType="0"
@@ -28,7 +26,7 @@
 				Output="[zlib_path]\zlibstatD.lib"/>
 		</Configuration>
 		<Configuration
-			Name="Release|Win32"
+			Name="Release|[platforms]"
 			OutputDirectory="[zlib_path]\Release"
 			IntermediateDirectory="[zlib_path]\Release"
 			ConfigurationType="0"
@@ -41,35 +39,7 @@
 				CleanCommandLine="cmd /c build_zlib.bat release clean"
 				Output="[zlib_path]\zlibstat.lib"/>
 		</Configuration>
-		<Configuration
-			Name="Debug|x64"
-			OutputDirectory="[zlib_path]\Debug"
-			IntermediateDirectory="[zlib_path]\Debug"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="cmd /c build_zlib.bat debug"
-				ReBuildCommandLine="cmd /c build_zlib.bat debug rebuild"
-				CleanCommandLine="cmd /c build_zlib.bat debug clean"
-				Output="[zlib_path]\zlibstatD.lib"/>
-		</Configuration>
-		<Configuration
-			Name="Release|x64"
-			OutputDirectory="[zlib_path]\Release"
-			IntermediateDirectory="[zlib_path]\Release"
-			ConfigurationType="0"
-			UseOfMFC="0"
-			ATLMinimizesCRunTimeLibraryUsage="FALSE">
-			<Tool
-				Name="VCNMakeTool"
-				BuildCommandLine="cmd /c build_zlib.bat release"
-				ReBuildCommandLine="cmd /c build_zlib.bat release rebuild"
-				CleanCommandLine="cmd /c build_zlib.bat release clean"
-				Output="[zlib_path]\zlibstat.lib"/>
-		</Configuration>
-	</Configurations>
+[end]	</Configurations>
 	<Files>
 		<Filter
 			Name="Source Files"
