[Python-checkins] cpython (2.7): Close #24508: Backport the 3.5 MSBuild project files.

zach.ware python-checkins at python.org
Thu Jul 16 08:42:07 CEST 2015


https://hg.python.org/cpython/rev/ca78b9449e04
changeset:   96916:ca78b9449e04
branch:      2.7
user:        Zachary Ware <zachary.ware at gmail.com>
date:        Thu Jul 16 00:24:48 2015 -0500
summary:
  Close #24508: Backport the 3.5 MSBuild project files.

The old project files move to PC/VS9.0 and remain supported.

VS2008 is still required to build 2.7; VS2010 (or later, plus Windows SDK 7.1)
is *also* required to use the new project files.

files:
  .hgeol                                         |    1 +
  .hgignore                                      |   34 +-
  Lib/distutils/command/build_ext.py             |   10 +-
  Lib/lib-tk/FixTk.py                            |    5 +-
  Lib/test/regrtest.py                           |    9 +
  Lib/test/test_tcl.py                           |    4 +-
  Misc/NEWS                                      |    4 +
  PCbuild/_bsddb.vcproj                          |    4 +-
  PCbuild/_ctypes.vcproj                         |   48 +-
  PCbuild/_ctypes_test.vcproj                    |    4 +-
  PCbuild/_elementtree.vcproj                    |   54 +-
  PCbuild/_hashlib.vcproj                        |    2 +-
  PCbuild/_msi.vcproj                            |    2 +-
  PCbuild/_multiprocessing.vcproj                |   14 +-
  PCbuild/_socket.vcproj                         |    4 +-
  PCbuild/_sqlite3.vcproj                        |   38 +-
  PCbuild/_ssl.vcproj                            |    2 +-
  PCbuild/_testcapi.vcproj                       |    2 +-
  PCbuild/_tkinter.vcproj                        |    4 +-
  PCbuild/bdist_wininst.vcproj                   |   44 +-
  PCbuild/build.bat                              |    4 +-
  PCbuild/build_env.bat                          |    0 
  PCbuild/build_pgo.bat                          |    8 +-
  PCbuild/build_ssl.bat                          |    0 
  PCbuild/build_ssl.py                           |    2 +-
  PCbuild/build_tkinter.py                       |    0 
  PCbuild/bz2.vcproj                             |    2 +-
  PCbuild/debug.vsprops                          |    0 
  PCbuild/env.bat                                |    0 
  PCbuild/field3.py                              |    0 
  PCbuild/idle.bat                               |    0 
  PCbuild/installer.bmp                          |    0 
  PCbuild/kill_python.c                          |    0 
  PCbuild/kill_python.vcproj                     |    0 
  PCbuild/make_buildinfo.c                       |    6 +-
  PCbuild/make_buildinfo.vcproj                  |    0 
  PCbuild/make_versioninfo.vcproj                |   26 +-
  PCbuild/pcbuild.sln                            |    0 
  PCbuild/pginstrument.vsprops                   |    0 
  PCbuild/pgupdate.vsprops                       |    0 
  PCbuild/pyd.vsprops                            |    0 
  PCbuild/pyd_d.vsprops                          |    0 
  PCbuild/pyexpat.vcproj                         |   28 +-
  PCbuild/pyproject.vsprops                      |    6 +-
  PCbuild/python.vcproj                          |   10 +-
  PCbuild/pythoncore.vcproj                      |  640 +++---
  PCbuild/pythonw.vcproj                         |    4 +-
  PCbuild/readme.txt                             |    4 +-
  PCbuild/release.vsprops                        |    0 
  PCbuild/rmpyc.py                               |    0 
  PCbuild/rt.bat                                 |    4 +-
  PCbuild/select.vcproj                          |    2 +-
  PCbuild/sqlite3.vcproj                         |    0 
  PCbuild/sqlite3.vsprops                        |    0 
  PCbuild/unicodedata.vcproj                     |    6 +-
  PCbuild/vs9to8.py                              |    0 
  PCbuild/w9xpopen.vcproj                        |    2 +-
  PCbuild/winsound.vcproj                        |    2 +-
  PCbuild/x64.vsprops                            |    0 
  PC/bdist_wininst/bdist_wininst.vcxproj         |  103 +
  PC/bdist_wininst/bdist_wininst.vcxproj.filters |   61 +
  PCbuild/_bsddb.vcxproj                         |  314 +++
  PCbuild/_bsddb.vcxproj.filters                 |  702 +++++++
  PCbuild/_ctypes.vcxproj                        |  107 +
  PCbuild/_ctypes.vcxproj.filters                |   65 +
  PCbuild/_ctypes_test.vcxproj                   |   77 +
  PCbuild/_ctypes_test.vcxproj.filters           |   21 +
  PCbuild/_elementtree.vcxproj                   |  103 +
  PCbuild/_elementtree.vcxproj.filters           |   72 +
  PCbuild/_hashlib.vcxproj                       |   90 +
  PCbuild/_hashlib.vcxproj.filters               |   13 +
  PCbuild/_msi.vcxproj                           |   80 +
  PCbuild/_msi.vcxproj.filters                   |   13 +
  PCbuild/_multiprocessing.vcxproj               |   88 +
  PCbuild/_multiprocessing.vcxproj.filters       |   36 +
  PCbuild/_socket.vcxproj                        |   83 +
  PCbuild/_socket.vcxproj.filters                |   21 +
  PCbuild/_sqlite3.vcxproj                       |  107 +
  PCbuild/_sqlite3.vcxproj.filters               |   72 +
  PCbuild/_ssl.vcxproj                           |   94 +
  PCbuild/_ssl.vcxproj.filters                   |   13 +
  PCbuild/_testcapi.vcxproj                      |   80 +
  PCbuild/_testcapi.vcxproj.filters              |   13 +
  PCbuild/_tkinter.vcxproj                       |   90 +
  PCbuild/_tkinter.vcxproj.filters               |   16 +
  PCbuild/build.bat                              |  101 +-
  PCbuild/build_pgo.bat                          |   37 +-
  PCbuild/bz2.vcxproj                            |   96 +
  PCbuild/bz2.vcxproj.filters                    |   48 +
  PCbuild/clean.bat                              |    5 +
  PCbuild/env.bat                                |   17 +-
  PCbuild/get_externals.bat                      |    3 +
  PCbuild/libeay.vcxproj                         |  907 +++++++++
  PCbuild/openssl.props                          |   75 +
  PCbuild/pcbuild.proj                           |   77 +
  PCbuild/pcbuild.sln                            |  291 +-
  PCbuild/pyexpat.vcxproj                        |   84 +
  PCbuild/pyexpat.vcxproj.filters                |   33 +
  PCbuild/pyproject.props                        |  159 +
  PCbuild/python.props                           |  112 +
  PCbuild/python.vcxproj                         |  106 +
  PCbuild/python.vcxproj.filters                 |   26 +
  PCbuild/pythoncore.vcxproj                     |  408 ++++
  PCbuild/pythoncore.vcxproj.filters             |  953 ++++++++++
  PCbuild/pythonw.vcxproj                        |   80 +
  PCbuild/pythonw.vcxproj.filters                |   21 +
  PCbuild/readme.txt                             |   34 +-
  PCbuild/rt.bat                                 |   10 +-
  PCbuild/select.vcxproj                         |   79 +
  PCbuild/select.vcxproj.filters                 |   13 +
  PCbuild/sqlite3.vcxproj                        |   77 +
  PCbuild/sqlite3.vcxproj.filters                |   24 +
  PCbuild/ssleay.vcxproj                         |  119 +
  PCbuild/tcl.vcxproj                            |   90 +
  PCbuild/tcltk.props                            |   43 +
  PCbuild/tix.vcxproj                            |   94 +
  PCbuild/tk.vcxproj                             |   95 +
  PCbuild/unicodedata.vcxproj                    |   83 +
  PCbuild/unicodedata.vcxproj.filters            |   24 +
  PCbuild/w9xpopen.vcxproj                       |   77 +
  PCbuild/w9xpopen.vcxproj.filters               |   13 +
  PCbuild/winsound.vcxproj                       |   79 +
  PCbuild/winsound.vcxproj.filters               |   14 +
  Tools/buildbot/build.bat                       |    2 +-
  124 files changed, 7414 insertions(+), 774 deletions(-)


diff --git a/.hgeol b/.hgeol
--- a/.hgeol
+++ b/.hgeol
@@ -40,6 +40,7 @@
 
 # The Windows readme is likely to be read in Notepad, so make it readable
 PCbuild/readme.txt = CRLF
+PC/VS9.0/readme.txt = CRLF
 
 # All other files (which presumably are human-editable) are "native".
 # This must be the last rule!
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -17,6 +17,7 @@
 platform$
 pyconfig.h$
 python$
+python.bat$
 python.exe$
 reflog.txt$
 tags$
@@ -44,21 +45,38 @@
 *.pyd
 *.cover
 *~
+Lib/distutils/command/*.pdb
 Lib/lib2to3/*.pickle
 Lib/test/data/*
 Misc/*.wpu
 PC/python_nt*.h
 PC/pythonnt_rc*.h
-PC/*.obj
+PC/*/*.exe
+PC/*/*.exp
+PC/*/*.lib
+PC/*/*.bsc
+PC/*/*.dll
+PC/*/*.pdb
+PC/*/*.user
+PC/*/*.ncb
+PC/*/*.suo
+PC/*/Win32-temp-*
+PC/*/x64-temp-*
+PC/*/amd64
+PCbuild/*.user
+PCbuild/*.suo
+PCbuild/*.*sdf
+PCbuild/*-pgi
+PCbuild/*-pgo
+PCbuild/.vs
+PCbuild/*.dll
+PCbuild/*.exp
 PCbuild/*.exe
-PCbuild/*.dll
+PCbuild/*.ilk
+PCbuild/*.lib
 PCbuild/*.pdb
-PCbuild/*.lib
-PCbuild/*.exp
-PCbuild/*.o
-PCbuild/*.ncb
-PCbuild/*.bsc
-PCbuild/Win32-temp-*
+PCbuild/amd64
+PCbuild/obj
 .coverage
 coverage/
 externals/
diff --git a/Lib/distutils/command/build_ext.py b/Lib/distutils/command/build_ext.py
--- a/Lib/distutils/command/build_ext.py
+++ b/Lib/distutils/command/build_ext.py
@@ -199,10 +199,12 @@
                 else:
                     # win-amd64 or win-ia64
                     suffix = self.plat_name[4:]
-                new_lib = os.path.join(sys.exec_prefix, 'PCbuild')
-                if suffix:
-                    new_lib = os.path.join(new_lib, suffix)
-                self.library_dirs.append(new_lib)
+                # We could have been built in one of two places; add both
+                for d in ('PCbuild',), ('PC', 'VS9.0'):
+                    new_lib = os.path.join(sys.exec_prefix, *d)
+                    if suffix:
+                        new_lib = os.path.join(new_lib, suffix)
+                    self.library_dirs.append(new_lib)
 
             elif MSVC_VERSION == 8:
                 self.library_dirs.append(os.path.join(sys.exec_prefix,
diff --git a/Lib/lib-tk/FixTk.py b/Lib/lib-tk/FixTk.py
--- a/Lib/lib-tk/FixTk.py
+++ b/Lib/lib-tk/FixTk.py
@@ -49,7 +49,10 @@
 prefix = os.path.join(sys.prefix,"tcl")
 if not os.path.exists(prefix):
     # devdir/externals/tcltk/lib
-    prefix = os.path.join(sys.prefix, "externals", "tcltk", "lib")
+    tcltk = 'tcltk'
+    if sys.maxsize > 2**31 - 1:
+        tcltk = 'tcltk64'
+    prefix = os.path.join(sys.prefix, "externals", tcltk, "lib")
     prefix = os.path.abspath(prefix)
 # if this does not exist, no further search is needed
 if os.path.exists(prefix):
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -203,6 +203,15 @@
         newsoft = min(hard, max(soft, 1024*2048))
         resource.setrlimit(resource.RLIMIT_STACK, (newsoft, hard))
 
+# Windows, Tkinter, and resetting the environment after each test don't
+# mix well.  To alleviate test failures due to Tcl/Tk not being able to
+# find its library, get the necessary environment massage done once early.
+if sys.platform == 'win32':
+    try:
+        import FixTk
+    except Exception:
+        pass
+
 # Test result constants.
 PASSED = 1
 FAILED = 0
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py
--- a/Lib/test/test_tcl.py
+++ b/Lib/test/test_tcl.py
@@ -8,9 +8,7 @@
 # Skip this test if the _tkinter module wasn't built.
 _tkinter = test_support.import_module('_tkinter')
 
-# Make sure tkinter._fix runs to set up the environment
-tkinter = test_support.import_fresh_module('Tkinter')
-
+import Tkinter as tkinter
 from Tkinter import Tcl
 from _tkinter import TclError
 
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,10 @@
 Build
 -----
 
+- Issue #24508: Backported the MSBuild project files from Python 3.5.  The
+  backported files replace the old project files in PCbuild; the old files moved
+  to PC/VS9.0 and remain supported.
+
 - Issue #24432: Update Windows builds and OS X 10.5 installer to use OpenSSL
   1.0.2c.
 
diff --git a/PCbuild/_bsddb.vcproj b/PC/VS9.0/_bsddb.vcproj
rename from PCbuild/_bsddb.vcproj
rename to PC/VS9.0/_bsddb.vcproj
--- a/PCbuild/_bsddb.vcproj
+++ b/PC/VS9.0/_bsddb.vcproj
@@ -537,7 +537,7 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\bsddb.h"
+				RelativePath="..\..\Modules\bsddb.h"
 				>
 			</File>
 		</Filter>
@@ -545,7 +545,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_bsddb.c"
+				RelativePath="..\..\Modules\_bsddb.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_ctypes.vcproj b/PC/VS9.0/_ctypes.vcproj
rename from PCbuild/_ctypes.vcproj
rename to PC/VS9.0/_ctypes.vcproj
--- a/PCbuild/_ctypes.vcproj
+++ b/PC/VS9.0/_ctypes.vcproj
@@ -42,7 +42,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -103,7 +103,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -164,7 +164,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -228,7 +228,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -291,7 +291,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -355,7 +355,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -419,7 +419,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -483,7 +483,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\_ctypes\libffi_msvc"
+				AdditionalIncludeDirectories="..\..\Modules\_ctypes\libffi_msvc"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -531,27 +531,27 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\_ctypes\ctypes.h"
+				RelativePath="..\..\Modules\_ctypes\ctypes.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\ctypes_dlfcn.h"
+				RelativePath="..\..\Modules\_ctypes\ctypes_dlfcn.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffi.h"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\ffi.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffi_common.h"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\ffi_common.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\fficonfig.h"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\fficonfig.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffitarget.h"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\ffitarget.h"
 				>
 			</File>
 		</Filter>
@@ -559,39 +559,39 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_ctypes\_ctypes.c"
+				RelativePath="..\..\Modules\_ctypes\_ctypes.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\callbacks.c"
+				RelativePath="..\..\Modules\_ctypes\callbacks.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\callproc.c"
+				RelativePath="..\..\Modules\_ctypes\callproc.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\cfield.c"
+				RelativePath="..\..\Modules\_ctypes\cfield.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\ffi.c"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\ffi.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\malloc_closure.c"
+				RelativePath="..\..\Modules\_ctypes\malloc_closure.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\prep_cif.c"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\prep_cif.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\stgdict.c"
+				RelativePath="..\..\Modules\_ctypes\stgdict.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\win32.c"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\win32.c"
 				>
 				<FileConfiguration
 					Name="Debug|x64"
@@ -627,7 +627,7 @@
 				</FileConfiguration>
 			</File>
 			<File
-				RelativePath="..\Modules\_ctypes\libffi_msvc\win64.asm"
+				RelativePath="..\..\Modules\_ctypes\libffi_msvc\win64.asm"
 				>
 				<FileConfiguration
 					Name="Debug|Win32"
diff --git a/PCbuild/_ctypes_test.vcproj b/PC/VS9.0/_ctypes_test.vcproj
rename from PCbuild/_ctypes_test.vcproj
rename to PC/VS9.0/_ctypes_test.vcproj
--- a/PCbuild/_ctypes_test.vcproj
+++ b/PC/VS9.0/_ctypes_test.vcproj
@@ -503,7 +503,7 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\_ctypes\_ctypes_test.h"
+				RelativePath="..\..\Modules\_ctypes\_ctypes_test.h"
 				>
 			</File>
 		</Filter>
@@ -511,7 +511,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_ctypes\_ctypes_test.c"
+				RelativePath="..\..\Modules\_ctypes\_ctypes_test.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_elementtree.vcproj b/PC/VS9.0/_elementtree.vcproj
rename from PCbuild/_elementtree.vcproj
rename to PC/VS9.0/_elementtree.vcproj
--- a/PCbuild/_elementtree.vcproj
+++ b/PC/VS9.0/_elementtree.vcproj
@@ -42,7 +42,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -104,7 +104,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -166,7 +166,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -229,7 +229,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -291,7 +291,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -354,7 +354,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -417,7 +417,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -480,7 +480,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="..\Modules\expat"
+				AdditionalIncludeDirectories="..\..\Modules\expat"
 				PreprocessorDefinitions="XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -527,63 +527,63 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\expat\ascii.h"
+				RelativePath="..\..\Modules\expat\ascii.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\asciitab.h"
+				RelativePath="..\..\Modules\expat\asciitab.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\expat.h"
+				RelativePath="..\..\Modules\expat\expat.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\expat_config.h"
+				RelativePath="..\..\Modules\expat\expat_config.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\expat_external.h"
+				RelativePath="..\..\Modules\expat\expat_external.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\iasciitab.h"
+				RelativePath="..\..\Modules\expat\iasciitab.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\internal.h"
+				RelativePath="..\..\Modules\expat\internal.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\latin1tab.h"
+				RelativePath="..\..\Modules\expat\latin1tab.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\macconfig.h"
+				RelativePath="..\..\Modules\expat\macconfig.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\nametab.h"
+				RelativePath="..\..\Modules\expat\nametab.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\pyexpatns.h"
+				RelativePath="..\..\Modules\expat\pyexpatns.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\utf8tab.h"
+				RelativePath="..\..\Modules\expat\utf8tab.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\winconfig.h"
+				RelativePath="..\..\Modules\expat\winconfig.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmlrole.h"
+				RelativePath="..\..\Modules\expat\xmlrole.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmltok.h"
+				RelativePath="..\..\Modules\expat\xmltok.h"
 				>
 			</File>
 		</Filter>
@@ -591,19 +591,19 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_elementtree.c"
+				RelativePath="..\..\Modules\_elementtree.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmlparse.c"
+				RelativePath="..\..\Modules\expat\xmlparse.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmlrole.c"
+				RelativePath="..\..\Modules\expat\xmlrole.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmltok.c"
+				RelativePath="..\..\Modules\expat\xmltok.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_hashlib.vcproj b/PC/VS9.0/_hashlib.vcproj
rename from PCbuild/_hashlib.vcproj
rename to PC/VS9.0/_hashlib.vcproj
--- a/PCbuild/_hashlib.vcproj
+++ b/PC/VS9.0/_hashlib.vcproj
@@ -535,7 +535,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_hashopenssl.c"
+				RelativePath="..\..\Modules\_hashopenssl.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_msi.vcproj b/PC/VS9.0/_msi.vcproj
rename from PCbuild/_msi.vcproj
rename to PC/VS9.0/_msi.vcproj
--- a/PCbuild/_msi.vcproj
+++ b/PC/VS9.0/_msi.vcproj
@@ -519,7 +519,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\PC\_msi.c"
+				RelativePath="..\..\PC\_msi.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_multiprocessing.vcproj b/PC/VS9.0/_multiprocessing.vcproj
rename from PCbuild/_multiprocessing.vcproj
rename to PC/VS9.0/_multiprocessing.vcproj
--- a/PCbuild/_multiprocessing.vcproj
+++ b/PC/VS9.0/_multiprocessing.vcproj
@@ -519,11 +519,11 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\_multiprocessing\multiprocessing.h"
+				RelativePath="..\..\Modules\_multiprocessing\multiprocessing.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_multiprocessing\connection.h"
+				RelativePath="..\..\Modules\_multiprocessing\connection.h"
 				>
 			</File>
 		</Filter>
@@ -531,23 +531,23 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_multiprocessing\multiprocessing.c"
+				RelativePath="..\..\Modules\_multiprocessing\multiprocessing.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_multiprocessing\pipe_connection.c"
+				RelativePath="..\..\Modules\_multiprocessing\pipe_connection.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_multiprocessing\semaphore.c"
+				RelativePath="..\..\Modules\_multiprocessing\semaphore.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_multiprocessing\socket_connection.c"
+				RelativePath="..\..\Modules\_multiprocessing\socket_connection.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_multiprocessing\win32_functions.c"
+				RelativePath="..\..\Modules\_multiprocessing\win32_functions.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_socket.vcproj b/PC/VS9.0/_socket.vcproj
rename from PCbuild/_socket.vcproj
rename to PC/VS9.0/_socket.vcproj
--- a/PCbuild/_socket.vcproj
+++ b/PC/VS9.0/_socket.vcproj
@@ -519,7 +519,7 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\socketmodule.h"
+				RelativePath="..\..\Modules\socketmodule.h"
 				>
 			</File>
 		</Filter>
@@ -527,7 +527,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\socketmodule.c"
+				RelativePath="..\..\Modules\socketmodule.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_sqlite3.vcproj b/PC/VS9.0/_sqlite3.vcproj
rename from PCbuild/_sqlite3.vcproj
rename to PC/VS9.0/_sqlite3.vcproj
--- a/PCbuild/_sqlite3.vcproj
+++ b/PC/VS9.0/_sqlite3.vcproj
@@ -527,43 +527,43 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\_sqlite\cache.h"
+				RelativePath="..\..\Modules\_sqlite\cache.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\connection.h"
+				RelativePath="..\..\Modules\_sqlite\connection.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\cursor.h"
+				RelativePath="..\..\Modules\_sqlite\cursor.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\microprotocols.h"
+				RelativePath="..\..\Modules\_sqlite\microprotocols.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\module.h"
+				RelativePath="..\..\Modules\_sqlite\module.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\prepare_protocol.h"
+				RelativePath="..\..\Modules\_sqlite\prepare_protocol.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\row.h"
+				RelativePath="..\..\Modules\_sqlite\row.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\sqlitecompat.h"
+				RelativePath="..\..\Modules\_sqlite\sqlitecompat.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\statement.h"
+				RelativePath="..\..\Modules\_sqlite\statement.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\util.h"
+				RelativePath="..\..\Modules\_sqlite\util.h"
 				>
 			</File>
 		</Filter>
@@ -571,39 +571,39 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_sqlite\cache.c"
+				RelativePath="..\..\Modules\_sqlite\cache.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\connection.c"
+				RelativePath="..\..\Modules\_sqlite\connection.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\cursor.c"
+				RelativePath="..\..\Modules\_sqlite\cursor.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\microprotocols.c"
+				RelativePath="..\..\Modules\_sqlite\microprotocols.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\module.c"
+				RelativePath="..\..\Modules\_sqlite\module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\prepare_protocol.c"
+				RelativePath="..\..\Modules\_sqlite\prepare_protocol.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\row.c"
+				RelativePath="..\..\Modules\_sqlite\row.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\statement.c"
+				RelativePath="..\..\Modules\_sqlite\statement.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sqlite\util.c"
+				RelativePath="..\..\Modules\_sqlite\util.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_ssl.vcproj b/PC/VS9.0/_ssl.vcproj
rename from PCbuild/_ssl.vcproj
rename to PC/VS9.0/_ssl.vcproj
--- a/PCbuild/_ssl.vcproj
+++ b/PC/VS9.0/_ssl.vcproj
@@ -535,7 +535,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_ssl.c"
+				RelativePath="..\..\Modules\_ssl.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_testcapi.vcproj b/PC/VS9.0/_testcapi.vcproj
rename from PCbuild/_testcapi.vcproj
rename to PC/VS9.0/_testcapi.vcproj
--- a/PCbuild/_testcapi.vcproj
+++ b/PC/VS9.0/_testcapi.vcproj
@@ -511,7 +511,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_testcapimodule.c"
+				RelativePath="..\..\Modules\_testcapimodule.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/_tkinter.vcproj b/PC/VS9.0/_tkinter.vcproj
rename from PCbuild/_tkinter.vcproj
rename to PC/VS9.0/_tkinter.vcproj
--- a/PCbuild/_tkinter.vcproj
+++ b/PC/VS9.0/_tkinter.vcproj
@@ -527,11 +527,11 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\_tkinter.c"
+				RelativePath="..\..\Modules\_tkinter.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\tkappinit.c"
+				RelativePath="..\..\Modules\tkappinit.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/bdist_wininst.vcproj b/PC/VS9.0/bdist_wininst.vcproj
rename from PCbuild/bdist_wininst.vcproj
rename to PC/VS9.0/bdist_wininst.vcproj
--- a/PCbuild/bdist_wininst.vcproj
+++ b/PC/VS9.0/bdist_wininst.vcproj
@@ -20,7 +20,7 @@
 	<Configurations>
 		<Configuration
 			Name="Release|Win32"
-			OutputDirectory="..\lib\distutils\command"
+			OutputDirectory="..\..\lib\distutils\command"
 			ConfigurationType="1"
 			InheritedPropertySheets=".\pyproject.vsprops;.\release.vsprops"
 			UseOfMFC="0"
@@ -45,14 +45,14 @@
 				MkTypLibCompatible="true"
 				SuppressStartupBanner="true"
 				TargetEnvironment="1"
-				TypeLibraryName=".\..\lib\distutils\command\wininst.tlb"
+				TypeLibraryName=".\..\..\lib\distutils\command\wininst.tlb"
 				HeaderFileName=""
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="1"
 				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\PC\bdist_wininst;..\Include;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\PC\bdist_wininst;..\..\Include;..\..\Modules\zlib"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
 				StringPooling="true"
 				RuntimeLibrary="0"
@@ -67,7 +67,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="0"
-				AdditionalIncludeDirectories="..\PC;..\PC\bdist_wininst;..\Include"
+				AdditionalIncludeDirectories="..\..\PC;..\..\PC\bdist_wininst;..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -75,11 +75,11 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="comctl32.lib imagehlp.lib"
-				OutputFile="..\lib\distutils\command\wininst-9.0.exe"
+				OutputFile="..\..\lib\distutils\command\wininst-9.0.exe"
 				LinkIncremental="1"
 				SuppressStartupBanner="true"
 				IgnoreDefaultLibraryNames="LIBC"
-				ProgramDatabaseFile="..\lib\distutils\command\wininst-9.0.pdb"
+				ProgramDatabaseFile="..\..\lib\distutils\command\wininst-9.0.pdb"
 				SubSystem="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
@@ -135,14 +135,14 @@
 				MkTypLibCompatible="true"
 				SuppressStartupBanner="true"
 				TargetEnvironment="3"
-				TypeLibraryName=".\..\lib\distutils\command\wininst.tlb"
+				TypeLibraryName=".\..\..\lib\distutils\command\wininst.tlb"
 				HeaderFileName=""
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="1"
 				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\PC\bdist_wininst;..\Include;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\PC\bdist_wininst;..\..\Include;..\..\Modules\zlib"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE"
 				StringPooling="true"
 				RuntimeLibrary="0"
@@ -157,7 +157,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="0"
-				AdditionalIncludeDirectories="..\PC;..\PC\bdist_wininst;..\Include"
+				AdditionalIncludeDirectories="..\..\PC;..\..\PC\bdist_wininst;..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -165,11 +165,11 @@
 			<Tool
 				Name="VCLinkerTool"
 				AdditionalDependencies="comctl32.lib imagehlp.lib"
-				OutputFile="..\lib\distutils\command\wininst-9.0-amd64.exe"
+				OutputFile="..\..\lib\distutils\command\wininst-9.0-amd64.exe"
 				LinkIncremental="1"
 				SuppressStartupBanner="true"
 				IgnoreDefaultLibraryNames="LIBC"
-				ProgramDatabaseFile="..\lib\distutils\command\wininst-9.0-amd64.pdb"
+				ProgramDatabaseFile="..\..\lib\distutils\command\wininst-9.0-amd64.pdb"
 				SubSystem="2"
 				RandomizedBaseAddress="1"
 				DataExecutionPrevention="0"
@@ -206,38 +206,38 @@
 			Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
 			>
 			<File
-				RelativePath="..\PC\bdist_wininst\extract.c"
+				RelativePath="..\..\PC\bdist_wininst\extract.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\bdist_wininst\install.c"
+				RelativePath="..\..\PC\bdist_wininst\install.c"
 				>
 			</File>
 			<Filter
 				Name="zlib"
 				>
 				<File
-					RelativePath="..\Modules\zlib\adler32.c"
+					RelativePath="..\..\Modules\zlib\adler32.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\crc32.c"
+					RelativePath="..\..\Modules\zlib\crc32.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inffast.c"
+					RelativePath="..\..\Modules\zlib\inffast.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inflate.c"
+					RelativePath="..\..\Modules\zlib\inflate.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inftrees.c"
+					RelativePath="..\..\Modules\zlib\inftrees.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zutil.c"
+					RelativePath="..\..\Modules\zlib\zutil.c"
 					>
 				</File>
 			</Filter>
@@ -247,7 +247,7 @@
 			Filter="h;hpp;hxx;hm;inl"
 			>
 			<File
-				RelativePath="..\PC\bdist_wininst\archive.h"
+				RelativePath="..\..\PC\bdist_wininst\archive.h"
 				>
 			</File>
 		</Filter>
@@ -256,11 +256,11 @@
 			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
 			>
 			<File
-				RelativePath="..\PC\bdist_wininst\install.rc"
+				RelativePath="..\..\PC\bdist_wininst\install.rc"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\bdist_wininst\PythonPowered.bmp"
+				RelativePath="..\..\PC\bdist_wininst\PythonPowered.bmp"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/build.bat b/PC/VS9.0/build.bat
copy from PCbuild/build.bat
copy to PC/VS9.0/build.bat
--- a/PCbuild/build.bat
+++ b/PC/VS9.0/build.bat
@@ -31,7 +31,7 @@
     echo.Unknown target: %2 & goto :eof
 )
 if '%1'=='-d' (set conf=Debug) & shift & goto CheckOpts
-if '%1'=='-e' call "%dir%get_externals.bat" & (set build_tkinter=true) & shift & goto CheckOpts
+if '%1'=='-e' call "%dir%..\..\PCbuild\get_externals.bat" & (set build_tkinter=true) & shift & goto CheckOpts
 if '%1'=='-k' (set kill=true) & shift & goto CheckOpts
 
 if '%conf%'=='Debug' (set dbg_ext=_d) else (set dbg_ext=)
@@ -54,7 +54,7 @@
     vcbuild "%dir%kill_python.vcproj" "%conf%|%platf%" && "%builddir%kill_python%dbg_ext%.exe"
 )
 
-set externals_dir=%dir%..\externals
+set externals_dir=%dir%..\..\externals
 if '%build_tkinter%'=='true' (
     if '%platf%'=='x64' (
         set tcltkdir=%externals_dir%\tcltk64
diff --git a/PCbuild/build_env.bat b/PC/VS9.0/build_env.bat
copy from PCbuild/build_env.bat
copy to PC/VS9.0/build_env.bat
diff --git a/PCbuild/build_pgo.bat b/PC/VS9.0/build_pgo.bat
copy from PCbuild/build_pgo.bat
copy to PC/VS9.0/build_pgo.bat
--- a/PCbuild/build_pgo.bat
+++ b/PC/VS9.0/build_pgo.bat
@@ -9,12 +9,12 @@
 set platf=Win32
 
 rem use the performance testsuite.  This is quick and simple
-set job1=..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
-set path1=..\tools\pybench
+set job1=..\..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
+set path1=..\..\tools\pybench
 
 rem or the whole testsuite for more thorough testing
-set job2=..\lib\test\regrtest.py
-set path2=..\lib
+set job2=..\..\lib\test\regrtest.py
+set path2=..\..\lib
 
 set job=%job1%
 set clrpath=%path1%
diff --git a/PCbuild/build_ssl.bat b/PC/VS9.0/build_ssl.bat
rename from PCbuild/build_ssl.bat
rename to PC/VS9.0/build_ssl.bat
diff --git a/PCbuild/build_ssl.py b/PC/VS9.0/build_ssl.py
rename from PCbuild/build_ssl.py
rename to PC/VS9.0/build_ssl.py
--- a/PCbuild/build_ssl.py
+++ b/PC/VS9.0/build_ssl.py
@@ -70,7 +70,7 @@
     propfile = (os.path.join(os.path.dirname(__file__), 'pyproject.vsprops'))
     with open(propfile) as f:
         m = re.search('openssl-([^"]+)"', f.read())
-        return "..\externals\openssl-"+m.group(1)
+        return "..\..\externals\openssl-"+m.group(1)
 
 
 def create_makefile64(makefile, m32):
diff --git a/PCbuild/build_tkinter.py b/PC/VS9.0/build_tkinter.py
rename from PCbuild/build_tkinter.py
rename to PC/VS9.0/build_tkinter.py
diff --git a/PCbuild/bz2.vcproj b/PC/VS9.0/bz2.vcproj
rename from PCbuild/bz2.vcproj
rename to PC/VS9.0/bz2.vcproj
--- a/PCbuild/bz2.vcproj
+++ b/PC/VS9.0/bz2.vcproj
@@ -527,7 +527,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\bz2module.c"
+				RelativePath="..\..\Modules\bz2module.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/debug.vsprops b/PC/VS9.0/debug.vsprops
rename from PCbuild/debug.vsprops
rename to PC/VS9.0/debug.vsprops
diff --git a/PCbuild/env.bat b/PC/VS9.0/env.bat
copy from PCbuild/env.bat
copy to PC/VS9.0/env.bat
diff --git a/PCbuild/field3.py b/PC/VS9.0/field3.py
copy from PCbuild/field3.py
copy to PC/VS9.0/field3.py
diff --git a/PCbuild/idle.bat b/PC/VS9.0/idle.bat
copy from PCbuild/idle.bat
copy to PC/VS9.0/idle.bat
diff --git a/PCbuild/installer.bmp b/PC/VS9.0/installer.bmp
copy from PCbuild/installer.bmp
copy to PC/VS9.0/installer.bmp
diff --git a/PCbuild/kill_python.c b/PC/VS9.0/kill_python.c
rename from PCbuild/kill_python.c
rename to PC/VS9.0/kill_python.c
diff --git a/PCbuild/kill_python.vcproj b/PC/VS9.0/kill_python.vcproj
rename from PCbuild/kill_python.vcproj
rename to PC/VS9.0/kill_python.vcproj
diff --git a/PCbuild/make_buildinfo.c b/PC/VS9.0/make_buildinfo.c
rename from PCbuild/make_buildinfo.c
rename to PC/VS9.0/make_buildinfo.c
--- a/PCbuild/make_buildinfo.c
+++ b/PC/VS9.0/make_buildinfo.c
@@ -46,7 +46,7 @@
     if (_stat(command+1, &st) < 0)
         /* subwcrev.exe not part of the release */
         return 0;
-    strcat_s(command, CMD_SIZE, "\" .. ..\\Modules\\getbuildinfo.c getbuildinfo2.c");
+    strcat_s(command, CMD_SIZE, "\" .. ..\\..\\Modules\\getbuildinfo.c getbuildinfo2.c");
     puts(command); fflush(stdout);
     if (system(command) < 0)
         return 0;
@@ -82,8 +82,8 @@
     if ((do_unlink = make_buildinfo2()))
         strcat_s(command, CMD_SIZE, "getbuildinfo2.c -DSUBWCREV ");
     else
-        strcat_s(command, CMD_SIZE, "..\\Modules\\getbuildinfo.c");
-    strcat_s(command, CMD_SIZE, " -Fogetbuildinfo.o -I..\\Include -I..\\PC");
+        strcat_s(command, CMD_SIZE, "..\\..\\Modules\\getbuildinfo.c");
+    strcat_s(command, CMD_SIZE, " -Fogetbuildinfo.o -I..\\..\\Include -I..\\..\\PC");
     puts(command); fflush(stdout);
     result = system(command);
     if (do_unlink)
diff --git a/PCbuild/make_buildinfo.vcproj b/PC/VS9.0/make_buildinfo.vcproj
rename from PCbuild/make_buildinfo.vcproj
rename to PC/VS9.0/make_buildinfo.vcproj
diff --git a/PCbuild/make_versioninfo.vcproj b/PC/VS9.0/make_versioninfo.vcproj
rename from PCbuild/make_versioninfo.vcproj
rename to PC/VS9.0/make_versioninfo.vcproj
--- a/PCbuild/make_versioninfo.vcproj
+++ b/PC/VS9.0/make_versioninfo.vcproj
@@ -32,8 +32,8 @@
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Build PC/pythonnt_rc(_d).h"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\PC\pythonnt_rc.h&#x0D;&#x0A;"
-				Outputs="$(SolutionDir)..\PC\pythonnt_rc.h"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\..\PC\pythonnt_rc.h&#x0D;&#x0A;"
+				Outputs="$(SolutionDir)..\..\PC\pythonnt_rc.h"
 			/>
 			<Tool
 				Name="VCXMLDataGeneratorTool"
@@ -92,7 +92,7 @@
 			/>
 			<Tool
 				Name="VCPostBuildEventTool"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\PC\python_nt.h&#x0D;&#x0A;"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\..\PC\python_nt.h&#x0D;&#x0A;"
 			/>
 		</Configuration>
 		<Configuration
@@ -106,8 +106,8 @@
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Build PC/pythonnt_rc(_d).h"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\PC\pythonnt_rc.h&#x0D;&#x0A;"
-				Outputs="$(SolutionDir)..\PC\pythonnt_rc.h"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\..\PC\pythonnt_rc.h&#x0D;&#x0A;"
+				Outputs="$(SolutionDir)..\..\PC\pythonnt_rc.h"
 			/>
 			<Tool
 				Name="VCXMLDataGeneratorTool"
@@ -158,7 +158,7 @@
 			/>
 			<Tool
 				Name="VCPostBuildEventTool"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\PC\python_nt.h&#x0D;&#x0A;"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo.exe > ..\..\PC\python_nt.h&#x0D;&#x0A;"
 			/>
 		</Configuration>
 		<Configuration
@@ -175,8 +175,8 @@
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Build PC/pythonnt_rc(_d).h"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\PC\pythonnt_rc_d.h&#x0D;&#x0A;"
-				Outputs="$(SolutionDir)..\PC\pythonnt_rc_d.h"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\..\PC\pythonnt_rc_d.h&#x0D;&#x0A;"
+				Outputs="$(SolutionDir)..\..\PC\pythonnt_rc_d.h"
 			/>
 			<Tool
 				Name="VCXMLDataGeneratorTool"
@@ -235,7 +235,7 @@
 			/>
 			<Tool
 				Name="VCPostBuildEventTool"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\PC\python_nt_d.h&#x0D;&#x0A;"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\..\PC\python_nt_d.h&#x0D;&#x0A;"
 			/>
 		</Configuration>
 		<Configuration
@@ -249,8 +249,8 @@
 			<Tool
 				Name="VCCustomBuildTool"
 				Description="Build PC/pythonnt_rc(_d).h"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\PC\pythonnt_rc_d.h&#x0D;&#x0A;"
-				Outputs="$(SolutionDir)..\PC\pythonnt_rc_d.h"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\..\PC\pythonnt_rc_d.h&#x0D;&#x0A;"
+				Outputs="$(SolutionDir)..\..\PC\pythonnt_rc_d.h"
 			/>
 			<Tool
 				Name="VCXMLDataGeneratorTool"
@@ -303,7 +303,7 @@
 			/>
 			<Tool
 				Name="VCPostBuildEventTool"
-				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\PC\python_nt_d.h&#x0D;&#x0A;"
+				CommandLine="cd $(SolutionDir)&#x0D;&#x0A;make_versioninfo_d.exe > ..\..\PC\python_nt_d.h&#x0D;&#x0A;"
 			/>
 		</Configuration>
 	</Configurations>
@@ -314,7 +314,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\PC\make_versioninfo.c"
+				RelativePath="..\..\PC\make_versioninfo.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/pcbuild.sln b/PC/VS9.0/pcbuild.sln
copy from PCbuild/pcbuild.sln
copy to PC/VS9.0/pcbuild.sln
diff --git a/PCbuild/pginstrument.vsprops b/PC/VS9.0/pginstrument.vsprops
rename from PCbuild/pginstrument.vsprops
rename to PC/VS9.0/pginstrument.vsprops
diff --git a/PCbuild/pgupdate.vsprops b/PC/VS9.0/pgupdate.vsprops
rename from PCbuild/pgupdate.vsprops
rename to PC/VS9.0/pgupdate.vsprops
diff --git a/PCbuild/pyd.vsprops b/PC/VS9.0/pyd.vsprops
rename from PCbuild/pyd.vsprops
rename to PC/VS9.0/pyd.vsprops
diff --git a/PCbuild/pyd_d.vsprops b/PC/VS9.0/pyd_d.vsprops
rename from PCbuild/pyd_d.vsprops
rename to PC/VS9.0/pyd_d.vsprops
diff --git a/PCbuild/pyexpat.vcproj b/PC/VS9.0/pyexpat.vcproj
rename from PCbuild/pyexpat.vcproj
rename to PC/VS9.0/pyexpat.vcproj
--- a/PCbuild/pyexpat.vcproj
+++ b/PC/VS9.0/pyexpat.vcproj
@@ -42,7 +42,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -103,7 +103,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -164,7 +164,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -226,7 +226,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -287,7 +287,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -349,7 +349,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -411,7 +411,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -473,7 +473,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories=".\..\Modules\expat"
+				AdditionalIncludeDirectories=".\..\..\Modules\expat"
 				PreprocessorDefinitions="PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE"
 			/>
 			<Tool
@@ -519,11 +519,11 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\expat\xmlrole.h"
+				RelativePath="..\..\Modules\expat\xmlrole.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmltok.h"
+				RelativePath="..\..\Modules\expat\xmltok.h"
 				>
 			</File>
 		</Filter>
@@ -531,19 +531,19 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\pyexpat.c"
+				RelativePath="..\..\Modules\pyexpat.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmlparse.c"
+				RelativePath="..\..\Modules\expat\xmlparse.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmlrole.c"
+				RelativePath="..\..\Modules\expat\xmlrole.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\expat\xmltok.c"
+				RelativePath="..\..\Modules\expat\xmltok.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/pyproject.vsprops b/PC/VS9.0/pyproject.vsprops
rename from PCbuild/pyproject.vsprops
rename to PC/VS9.0/pyproject.vsprops
--- a/PCbuild/pyproject.vsprops
+++ b/PC/VS9.0/pyproject.vsprops
@@ -11,7 +11,7 @@
 		Optimization="2"
 		InlineFunctionExpansion="1"
 		EnableIntrinsicFunctions="true"
-		AdditionalIncludeDirectories="..\Include; ..\PC"
+		AdditionalIncludeDirectories="..\..\Include; ..\..\PC"
 		PreprocessorDefinitions="_WIN32"
 		StringPooling="true"
 		ExceptionHandling="0"
@@ -34,7 +34,7 @@
 	/>
 	<Tool
 		Name="VCResourceCompilerTool"
-		AdditionalIncludeDirectories="..\PC;..\Include"
+		AdditionalIncludeDirectories="..\..\PC;..\..\Include"
 	/>
 	<UserMacro
 		Name="PyDllName"
@@ -46,7 +46,7 @@
 	/>
 	<UserMacro
 		Name="externalsDir"
-		Value="..\externals"
+		Value="..\..\externals"
 	/>
 	<UserMacro
 		Name="bsddb47Dir"
diff --git a/PCbuild/python.vcproj b/PC/VS9.0/python.vcproj
rename from PCbuild/python.vcproj
rename to PC/VS9.0/python.vcproj
--- a/PCbuild/python.vcproj
+++ b/PC/VS9.0/python.vcproj
@@ -202,7 +202,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="_DEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -277,7 +277,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="_DEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -615,11 +615,11 @@
 			Name="Resource Files"
 			>
 			<File
-				RelativePath="..\PC\pycon.ico"
+				RelativePath="..\..\PC\pycon.ico"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\python_exe.rc"
+				RelativePath="..\..\PC\python_exe.rc"
 				>
 			</File>
 		</Filter>
@@ -627,7 +627,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\python.c"
+				RelativePath="..\..\Modules\python.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/pythoncore.vcproj b/PC/VS9.0/pythoncore.vcproj
rename from PCbuild/pythoncore.vcproj
rename to PC/VS9.0/pythoncore.vcproj
--- a/PCbuild/pythoncore.vcproj
+++ b/PC/VS9.0/pythoncore.vcproj
@@ -43,7 +43,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -54,7 +54,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -118,7 +118,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -129,7 +129,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -196,7 +196,7 @@
 				Optimization="0"
 				InlineFunctionExpansion="0"
 				EnableIntrinsicFunctions="false"
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="3"
 			/>
@@ -207,7 +207,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="_DEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -274,7 +274,7 @@
 				Optimization="0"
 				InlineFunctionExpansion="0"
 				EnableIntrinsicFunctions="false"
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="3"
 			/>
@@ -285,7 +285,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="_DEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -348,7 +348,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -359,7 +359,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -423,7 +423,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -434,7 +434,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -498,7 +498,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -509,7 +509,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -573,7 +573,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				AdditionalOptions="/Zm200 "
-				AdditionalIncludeDirectories="..\Python;..\Modules\zlib"
+				AdditionalIncludeDirectories="..\..\Python;..\..\Modules\zlib"
 				PreprocessorDefinitions="_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;WIN32"
 				RuntimeLibrary="2"
 			/>
@@ -584,7 +584,7 @@
 				Name="VCResourceCompilerTool"
 				PreprocessorDefinitions="NDEBUG"
 				Culture="1033"
-				AdditionalIncludeDirectories="..\Include"
+				AdditionalIncludeDirectories="..\..\Include"
 			/>
 			<Tool
 				Name="VCPreLinkEventTool"
@@ -631,359 +631,359 @@
 			Name="Include"
 			>
 			<File
-				RelativePath="..\Include\abstract.h"
+				RelativePath="..\..\Include\abstract.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\asdl.h"
+				RelativePath="..\..\Include\asdl.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\ast.h"
+				RelativePath="..\..\Include\ast.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\bitset.h"
+				RelativePath="..\..\Include\bitset.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\boolobject.h"
+				RelativePath="..\..\Include\boolobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\bufferobject.h"
+				RelativePath="..\..\Include\bufferobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\bytes_methods.h"
+				RelativePath="..\..\Include\bytes_methods.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\bytearrayobject.h"
+				RelativePath="..\..\Include\bytearrayobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\bytesobject.h"
+				RelativePath="..\..\Include\bytesobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\cellobject.h"
+				RelativePath="..\..\Include\cellobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\ceval.h"
+				RelativePath="..\..\Include\ceval.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\classobject.h"
+				RelativePath="..\..\Include\classobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\cobject.h"
+				RelativePath="..\..\Include\cobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\code.h"
+				RelativePath="..\..\Include\code.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\codecs.h"
+				RelativePath="..\..\Include\codecs.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\compile.h"
+				RelativePath="..\..\Include\compile.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\complexobject.h"
+				RelativePath="..\..\Include\complexobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\cStringIO.h"
+				RelativePath="..\..\Include\cStringIO.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\datetime.h"
+				RelativePath="..\..\Include\datetime.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\descrobject.h"
+				RelativePath="..\..\Include\descrobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\dictobject.h"
+				RelativePath="..\..\Include\dictobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\dtoa.h"
+				RelativePath="..\..\Include\dtoa.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\enumobject.h"
+				RelativePath="..\..\Include\enumobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\errcode.h"
+				RelativePath="..\..\Include\errcode.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\eval.h"
+				RelativePath="..\..\Include\eval.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\fileobject.h"
+				RelativePath="..\..\Include\fileobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\floatobject.h"
+				RelativePath="..\..\Include\floatobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\frameobject.h"
+				RelativePath="..\..\Include\frameobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\funcobject.h"
+				RelativePath="..\..\Include\funcobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\genobject.h"
+				RelativePath="..\..\Include\genobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\graminit.h"
+				RelativePath="..\..\Include\graminit.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\grammar.h"
+				RelativePath="..\..\Include\grammar.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\import.h"
+				RelativePath="..\..\Include\import.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\intobject.h"
+				RelativePath="..\..\Include\intobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\intrcheck.h"
+				RelativePath="..\..\Include\intrcheck.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\iterobject.h"
+				RelativePath="..\..\Include\iterobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\listobject.h"
+				RelativePath="..\..\Include\listobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\longintrepr.h"
+				RelativePath="..\..\Include\longintrepr.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\longobject.h"
+				RelativePath="..\..\Include\longobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\marshal.h"
+				RelativePath="..\..\Include\marshal.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\memoryobject.h"
+				RelativePath="..\..\Include\memoryobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\metagrammar.h"
+				RelativePath="..\..\Include\metagrammar.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\methodobject.h"
+				RelativePath="..\..\Include\methodobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\modsupport.h"
+				RelativePath="..\..\Include\modsupport.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\moduleobject.h"
+				RelativePath="..\..\Include\moduleobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\node.h"
+				RelativePath="..\..\Include\node.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\object.h"
+				RelativePath="..\..\Include\object.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\objimpl.h"
+				RelativePath="..\..\Include\objimpl.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\opcode.h"
+				RelativePath="..\..\Include\opcode.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\osdefs.h"
+				RelativePath="..\..\Include\osdefs.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\parsetok.h"
+				RelativePath="..\..\Include\parsetok.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\patchlevel.h"
+				RelativePath="..\..\Include\patchlevel.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pgen.h"
+				RelativePath="..\..\Include\pgen.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pgenheaders.h"
+				RelativePath="..\..\Include\pgenheaders.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\py_curses.h"
+				RelativePath="..\..\Include\py_curses.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyarena.h"
+				RelativePath="..\..\Include\pyarena.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pycapsule.h"
+				RelativePath="..\..\Include\pycapsule.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyctype.h"
+				RelativePath="..\..\Include\pyctype.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pydebug.h"
+				RelativePath="..\..\Include\pydebug.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyerrors.h"
+				RelativePath="..\..\Include\pyerrors.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyexpat.h"
+				RelativePath="..\..\Include\pyexpat.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyfpe.h"
+				RelativePath="..\..\Include\pyfpe.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pygetopt.h"
+				RelativePath="..\..\Include\pygetopt.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pymactoolbox.h"
+				RelativePath="..\..\Include\pymactoolbox.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pymath.h"
+				RelativePath="..\..\Include\pymath.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pymem.h"
+				RelativePath="..\..\Include\pymem.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pyport.h"
+				RelativePath="..\..\Include\pyport.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pystate.h"
+				RelativePath="..\..\Include\pystate.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pystrcmp.h"
+				RelativePath="..\..\Include\pystrcmp.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pystrtod.h"
+				RelativePath="..\..\Include\pystrtod.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\Python-ast.h"
+				RelativePath="..\..\Include\Python-ast.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\Python.h"
+				RelativePath="..\..\Include\Python.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pythonrun.h"
+				RelativePath="..\..\Include\pythonrun.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\pythread.h"
+				RelativePath="..\..\Include\pythread.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\rangeobject.h"
+				RelativePath="..\..\Include\rangeobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\setobject.h"
+				RelativePath="..\..\Include\setobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\sliceobject.h"
+				RelativePath="..\..\Include\sliceobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\stringobject.h"
+				RelativePath="..\..\Include\stringobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\structmember.h"
+				RelativePath="..\..\Include\structmember.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\structseq.h"
+				RelativePath="..\..\Include\structseq.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\symtable.h"
+				RelativePath="..\..\Include\symtable.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\sysmodule.h"
+				RelativePath="..\..\Include\sysmodule.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\timefuncs.h"
+				RelativePath="..\..\Include\timefuncs.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\token.h"
+				RelativePath="..\..\Include\token.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\traceback.h"
+				RelativePath="..\..\Include\traceback.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\tupleobject.h"
+				RelativePath="..\..\Include\tupleobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\ucnhash.h"
+				RelativePath="..\..\Include\ucnhash.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\unicodeobject.h"
+				RelativePath="..\..\Include\unicodeobject.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Include\weakrefobject.h"
+				RelativePath="..\..\Include\weakrefobject.h"
 				>
 			</File>
 		</Filter>
@@ -991,310 +991,310 @@
 			Name="Modules"
 			>
 			<File
-				RelativePath="..\Modules\_bisectmodule.c"
+				RelativePath="..\..\Modules\_bisectmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_codecsmodule.c"
+				RelativePath="..\..\Modules\_codecsmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_collectionsmodule.c"
+				RelativePath="..\..\Modules\_collectionsmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_csv.c"
+				RelativePath="..\..\Modules\_csv.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_functoolsmodule.c"
+				RelativePath="..\..\Modules\_functoolsmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_heapqmodule.c"
+				RelativePath="..\..\Modules\_heapqmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_hotshot.c"
+				RelativePath="..\..\Modules\_hotshot.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_json.c"
+				RelativePath="..\..\Modules\_json.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_localemodule.c"
+				RelativePath="..\..\Modules\_localemodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_lsprof.c"
+				RelativePath="..\..\Modules\_lsprof.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_math.c"
+				RelativePath="..\..\Modules\_math.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_math.h"
+				RelativePath="..\..\Modules\_math.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_randommodule.c"
+				RelativePath="..\..\Modules\_randommodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_sre.c"
+				RelativePath="..\..\Modules\_sre.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_struct.c"
+				RelativePath="..\..\Modules\_struct.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\_weakref.c"
+				RelativePath="..\..\Modules\_weakref.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\arraymodule.c"
+				RelativePath="..\..\Modules\arraymodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\audioop.c"
+				RelativePath="..\..\Modules\audioop.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\binascii.c"
+				RelativePath="..\..\Modules\binascii.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\cmathmodule.c"
+				RelativePath="..\..\Modules\cmathmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\cPickle.c"
+				RelativePath="..\..\Modules\cPickle.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\cStringIO.c"
+				RelativePath="..\..\Modules\cStringIO.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\datetimemodule.c"
+				RelativePath="..\..\Modules\datetimemodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\errnomodule.c"
+				RelativePath="..\..\Modules\errnomodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\future_builtins.c"
+				RelativePath="..\..\Modules\future_builtins.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\gcmodule.c"
+				RelativePath="..\..\Modules\gcmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\imageop.c"
+				RelativePath="..\..\Modules\imageop.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\itertoolsmodule.c"
+				RelativePath="..\..\Modules\itertoolsmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\main.c"
+				RelativePath="..\..\Modules\main.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\mathmodule.c"
+				RelativePath="..\..\Modules\mathmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\md5.c"
+				RelativePath="..\..\Modules\md5.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\md5.h"
+				RelativePath="..\..\Modules\md5.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\md5module.c"
+				RelativePath="..\..\Modules\md5module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\mmapmodule.c"
+				RelativePath="..\..\Modules\mmapmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\operator.c"
+				RelativePath="..\..\Modules\operator.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\parsermodule.c"
+				RelativePath="..\..\Modules\parsermodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\posixmodule.c"
+				RelativePath="..\..\Modules\posixmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\rotatingtree.c"
+				RelativePath="..\..\Modules\rotatingtree.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\rotatingtree.h"
+				RelativePath="..\..\Modules\rotatingtree.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\sha256module.c"
+				RelativePath="..\..\Modules\sha256module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\sha512module.c"
+				RelativePath="..\..\Modules\sha512module.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\shamodule.c"
+				RelativePath="..\..\Modules\shamodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\signalmodule.c"
+				RelativePath="..\..\Modules\signalmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\stropmodule.c"
+				RelativePath="..\..\Modules\stropmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\symtablemodule.c"
+				RelativePath="..\..\Modules\symtablemodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\threadmodule.c"
+				RelativePath="..\..\Modules\threadmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\timemodule.c"
+				RelativePath="..\..\Modules\timemodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\xxsubtype.c"
+				RelativePath="..\..\Modules\xxsubtype.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\zipimport.c"
+				RelativePath="..\..\Modules\zipimport.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\zlibmodule.c"
+				RelativePath="..\..\Modules\zlibmodule.c"
 				>
 			</File>
 			<Filter
 				Name="zlib"
 				>
 				<File
-					RelativePath="..\Modules\zlib\adler32.c"
+					RelativePath="..\..\Modules\zlib\adler32.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\compress.c"
+					RelativePath="..\..\Modules\zlib\compress.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\crc32.c"
+					RelativePath="..\..\Modules\zlib\crc32.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\crc32.h"
+					RelativePath="..\..\Modules\zlib\crc32.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\deflate.c"
+					RelativePath="..\..\Modules\zlib\deflate.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\deflate.h"
+					RelativePath="..\..\Modules\zlib\deflate.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\gzclose.c"
+					RelativePath="..\..\Modules\zlib\gzclose.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\gzlib.c"
+					RelativePath="..\..\Modules\zlib\gzlib.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\gzread.c"
+					RelativePath="..\..\Modules\zlib\gzread.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\gzwrite.c"
+					RelativePath="..\..\Modules\zlib\gzwrite.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\infback.c"
+					RelativePath="..\..\Modules\zlib\infback.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inffast.c"
+					RelativePath="..\..\Modules\zlib\inffast.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inffast.h"
+					RelativePath="..\..\Modules\zlib\inffast.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inffixed.h"
+					RelativePath="..\..\Modules\zlib\inffixed.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inflate.c"
+					RelativePath="..\..\Modules\zlib\inflate.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inflate.h"
+					RelativePath="..\..\Modules\zlib\inflate.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inftrees.c"
+					RelativePath="..\..\Modules\zlib\inftrees.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\inftrees.h"
+					RelativePath="..\..\Modules\zlib\inftrees.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\trees.c"
+					RelativePath="..\..\Modules\zlib\trees.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\trees.h"
+					RelativePath="..\..\Modules\zlib\trees.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\uncompr.c"
+					RelativePath="..\..\Modules\zlib\uncompr.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zconf.h"
+					RelativePath="..\..\Modules\zlib\zconf.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zconf.in.h"
+					RelativePath="..\..\Modules\zlib\zconf.in.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zlib.h"
+					RelativePath="..\..\Modules\zlib\zlib.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zutil.c"
+					RelativePath="..\..\Modules\zlib\zutil.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\zlib\zutil.h"
+					RelativePath="..\..\Modules\zlib\zutil.h"
 					>
 				</File>
 			</Filter>
@@ -1302,71 +1302,71 @@
 				Name="cjkcodecs"
 				>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_cn.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_cn.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_hk.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_hk.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_iso2022.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_iso2022.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_jp.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_jp.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_kr.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_kr.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\_codecs_tw.c"
+					RelativePath="..\..\Modules\cjkcodecs\_codecs_tw.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\alg_jisx0201.h"
+					RelativePath="..\..\Modules\cjkcodecs\alg_jisx0201.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\cjkcodecs.h"
+					RelativePath="..\..\Modules\cjkcodecs\cjkcodecs.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\emu_jisx0213_2000.h"
+					RelativePath="..\..\Modules\cjkcodecs\emu_jisx0213_2000.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_cn.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_cn.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_hk.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_hk.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_jisx0213_pair.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_jisx0213_pair.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_jp.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_jp.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_kr.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_kr.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\mappings_tw.h"
+					RelativePath="..\..\Modules\cjkcodecs\mappings_tw.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\multibytecodec.c"
+					RelativePath="..\..\Modules\cjkcodecs\multibytecodec.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\cjkcodecs\multibytecodec.h"
+					RelativePath="..\..\Modules\cjkcodecs\multibytecodec.h"
 					>
 				</File>
 			</Filter>
@@ -1374,35 +1374,35 @@
 				Name="_io"
 				>
 				<File
-					RelativePath="..\Modules\_io\_iomodule.c"
+					RelativePath="..\..\Modules\_io\_iomodule.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\_iomodule.h"
+					RelativePath="..\..\Modules\_io\_iomodule.h"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\bufferedio.c"
+					RelativePath="..\..\Modules\_io\bufferedio.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\bytesio.c"
+					RelativePath="..\..\Modules\_io\bytesio.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\fileio.c"
+					RelativePath="..\..\Modules\_io\fileio.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\iobase.c"
+					RelativePath="..\..\Modules\_io\iobase.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\stringio.c"
+					RelativePath="..\..\Modules\_io\stringio.c"
 					>
 				</File>
 				<File
-					RelativePath="..\Modules\_io\textio.c"
+					RelativePath="..\..\Modules\_io\textio.c"
 					>
 				</File>
 			</Filter>
@@ -1411,183 +1411,183 @@
 			Name="Objects"
 			>
 			<File
-				RelativePath="..\Objects\abstract.c"
+				RelativePath="..\..\Objects\abstract.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\boolobject.c"
+				RelativePath="..\..\Objects\boolobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\bufferobject.c"
+				RelativePath="..\..\Objects\bufferobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\bytes_methods.c"
+				RelativePath="..\..\Objects\bytes_methods.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\bytearrayobject.c"
+				RelativePath="..\..\Objects\bytearrayobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\capsule.c"
+				RelativePath="..\..\Objects\capsule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\cellobject.c"
+				RelativePath="..\..\Objects\cellobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\classobject.c"
+				RelativePath="..\..\Objects\classobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\cobject.c"
+				RelativePath="..\..\Objects\cobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\codeobject.c"
+				RelativePath="..\..\Objects\codeobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\complexobject.c"
+				RelativePath="..\..\Objects\complexobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringlib\count.h"
+				RelativePath="..\..\Objects\stringlib\count.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\descrobject.c"
+				RelativePath="..\..\Objects\descrobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\dictobject.c"
+				RelativePath="..\..\Objects\dictobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\enumobject.c"
+				RelativePath="..\..\Objects\enumobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\exceptions.c"
+				RelativePath="..\..\Objects\exceptions.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringlib\fastsearch.h"
+				RelativePath="..\..\Objects\stringlib\fastsearch.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\fileobject.c"
+				RelativePath="..\..\Objects\fileobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringlib\find.h"
+				RelativePath="..\..\Objects\stringlib\find.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\floatobject.c"
+				RelativePath="..\..\Objects\floatobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\frameobject.c"
+				RelativePath="..\..\Objects\frameobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\funcobject.c"
+				RelativePath="..\..\Objects\funcobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\genobject.c"
+				RelativePath="..\..\Objects\genobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\intobject.c"
+				RelativePath="..\..\Objects\intobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\iterobject.c"
+				RelativePath="..\..\Objects\iterobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\listobject.c"
+				RelativePath="..\..\Objects\listobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\longobject.c"
+				RelativePath="..\..\Objects\longobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\memoryobject.c"
+				RelativePath="..\..\Objects\memoryobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\methodobject.c"
+				RelativePath="..\..\Objects\methodobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\moduleobject.c"
+				RelativePath="..\..\Objects\moduleobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\object.c"
+				RelativePath="..\..\Objects\object.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\obmalloc.c"
+				RelativePath="..\..\Objects\obmalloc.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringlib\partition.h"
+				RelativePath="..\..\Objects\stringlib\partition.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\rangeobject.c"
+				RelativePath="..\..\Objects\rangeobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\setobject.c"
+				RelativePath="..\..\Objects\setobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\sliceobject.c"
+				RelativePath="..\..\Objects\sliceobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringlib\split.h"
+				RelativePath="..\..\Objects\stringlib\split.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\stringobject.c"
+				RelativePath="..\..\Objects\stringobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\structseq.c"
+				RelativePath="..\..\Objects\structseq.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\tupleobject.c"
+				RelativePath="..\..\Objects\tupleobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\typeobject.c"
+				RelativePath="..\..\Objects\typeobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\unicodectype.c"
+				RelativePath="..\..\Objects\unicodectype.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\unicodeobject.c"
+				RelativePath="..\..\Objects\unicodeobject.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\unicodetype_db.h"
+				RelativePath="..\..\Objects\unicodetype_db.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Objects\weakrefobject.c"
+				RelativePath="..\..\Objects\weakrefobject.c"
 				>
 			</File>
 		</Filter>
@@ -1595,59 +1595,59 @@
 			Name="Parser"
 			>
 			<File
-				RelativePath="..\Parser\acceler.c"
+				RelativePath="..\..\Parser\acceler.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\bitset.c"
+				RelativePath="..\..\Parser\bitset.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\firstsets.c"
+				RelativePath="..\..\Parser\firstsets.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\grammar.c"
+				RelativePath="..\..\Parser\grammar.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\grammar1.c"
+				RelativePath="..\..\Parser\grammar1.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\listnode.c"
+				RelativePath="..\..\Parser\listnode.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\metagrammar.c"
+				RelativePath="..\..\Parser\metagrammar.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\myreadline.c"
+				RelativePath="..\..\Parser\myreadline.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\node.c"
+				RelativePath="..\..\Parser\node.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\parser.c"
+				RelativePath="..\..\Parser\parser.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\parser.h"
+				RelativePath="..\..\Parser\parser.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\parsetok.c"
+				RelativePath="..\..\Parser\parsetok.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\tokenizer.c"
+				RelativePath="..\..\Parser\tokenizer.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Parser\tokenizer.h"
+				RelativePath="..\..\Parser\tokenizer.h"
 				>
 			</File>
 		</Filter>
@@ -1655,39 +1655,39 @@
 			Name="PC"
 			>
 			<File
-				RelativePath="..\PC\_subprocess.c"
+				RelativePath="..\..\PC\_subprocess.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\_winreg.c"
+				RelativePath="..\..\PC\_winreg.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\config.c"
+				RelativePath="..\..\PC\config.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\dl_nt.c"
+				RelativePath="..\..\PC\dl_nt.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\errmap.h"
+				RelativePath="..\..\PC\errmap.h"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\getpathp.c"
+				RelativePath="..\..\PC\getpathp.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\import_nt.c"
+				RelativePath="..\..\PC\import_nt.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\msvcrtmodule.c"
+				RelativePath="..\..\PC\msvcrtmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\PC\pyconfig.h"
+				RelativePath="..\..\PC\pyconfig.h"
 				>
 			</File>
 		</Filter>
@@ -1695,183 +1695,183 @@
 			Name="Python"
 			>
 			<File
-				RelativePath="..\Python\_warnings.c"
+				RelativePath="..\..\Python\_warnings.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\asdl.c"
+				RelativePath="..\..\Python\asdl.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\ast.c"
+				RelativePath="..\..\Python\ast.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\bltinmodule.c"
+				RelativePath="..\..\Python\bltinmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\ceval.c"
+				RelativePath="..\..\Python\ceval.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\codecs.c"
+				RelativePath="..\..\Python\codecs.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\compile.c"
+				RelativePath="..\..\Python\compile.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\dtoa.c"
+				RelativePath="..\..\Python\dtoa.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\dynload_win.c"
+				RelativePath="..\..\Python\dynload_win.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\errors.c"
+				RelativePath="..\..\Python\errors.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\formatter_string.c"
+				RelativePath="..\..\Python\formatter_string.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\formatter_unicode.c"
+				RelativePath="..\..\Python\formatter_unicode.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\frozen.c"
+				RelativePath="..\..\Python\frozen.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\future.c"
+				RelativePath="..\..\Python\future.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getargs.c"
+				RelativePath="..\..\Python\getargs.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getcompiler.c"
+				RelativePath="..\..\Python\getcompiler.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getcopyright.c"
+				RelativePath="..\..\Python\getcopyright.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getopt.c"
+				RelativePath="..\..\Python\getopt.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getplatform.c"
+				RelativePath="..\..\Python\getplatform.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\getversion.c"
+				RelativePath="..\..\Python\getversion.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\graminit.c"
+				RelativePath="..\..\Python\graminit.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\import.c"
+				RelativePath="..\..\Python\import.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\importdl.c"
+				RelativePath="..\..\Python\importdl.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\importdl.h"
+				RelativePath="..\..\Python\importdl.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\marshal.c"
+				RelativePath="..\..\Python\marshal.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\modsupport.c"
+				RelativePath="..\..\Python\modsupport.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\mysnprintf.c"
+				RelativePath="..\..\Python\mysnprintf.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\mystrtoul.c"
+				RelativePath="..\..\Python\mystrtoul.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\peephole.c"
+				RelativePath="..\..\Python\peephole.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pyarena.c"
+				RelativePath="..\..\Python\pyarena.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pyctype.c"
+				RelativePath="..\..\Python\pyctype.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pyfpe.c"
+				RelativePath="..\..\Python\pyfpe.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pymath.c"
+				RelativePath="..\..\Python\pymath.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pystate.c"
+				RelativePath="..\..\Python\pystate.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pystrcmp.c"
+				RelativePath="..\..\Python\pystrcmp.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pystrtod.c"
+				RelativePath="..\..\Python\pystrtod.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\Python-ast.c"
+				RelativePath="..\..\Python\Python-ast.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\pythonrun.c"
+				RelativePath="..\..\Python\pythonrun.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\random.c"
+				RelativePath="..\..\Python\random.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\structmember.c"
+				RelativePath="..\..\Python\structmember.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\symtable.c"
+				RelativePath="..\..\Python\symtable.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\sysmodule.c"
+				RelativePath="..\..\Python\sysmodule.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\thread.c"
+				RelativePath="..\..\Python\thread.c"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\thread_nt.h"
+				RelativePath="..\..\Python\thread_nt.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Python\traceback.c"
+				RelativePath="..\..\Python\traceback.c"
 				>
 			</File>
 		</Filter>
@@ -1879,7 +1879,7 @@
 			Name="Resource Files"
 			>
 			<File
-				RelativePath="..\PC\python_nt.rc"
+				RelativePath="..\..\PC\python_nt.rc"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/pythonw.vcproj b/PC/VS9.0/pythonw.vcproj
rename from PCbuild/pythonw.vcproj
rename to PC/VS9.0/pythonw.vcproj
--- a/PCbuild/pythonw.vcproj
+++ b/PC/VS9.0/pythonw.vcproj
@@ -600,7 +600,7 @@
 			Name="Resource Files"
 			>
 			<File
-				RelativePath="..\PC\python_exe.rc"
+				RelativePath="..\..\PC\python_exe.rc"
 				>
 			</File>
 		</Filter>
@@ -608,7 +608,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\PC\WinMain.c"
+				RelativePath="..\..\PC\WinMain.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/readme.txt b/PC/VS9.0/readme.txt
copy from PCbuild/readme.txt
copy to PC/VS9.0/readme.txt
--- a/PCbuild/readme.txt
+++ b/PC/VS9.0/readme.txt
@@ -11,7 +11,7 @@
 Professional Edition is required at the very least.  The official Python
 releases are built with this version of Visual Studio.
 
-For other Windows platforms and compilers, see ../PC/readme.txt.
+For other Windows platforms and compilers, see PC/readme.txt.
 
 All you need to do is open the workspace "pcbuild.sln" in Visual Studio,
 select the desired combination of configuration and platform and eventually
@@ -256,5 +256,5 @@
 -----------------------
 
 If you want to create your own extension module DLL, there's an example
-with easy-to-follow instructions in ../PC/example/; read the file
+with easy-to-follow instructions in PC/example/; read the file
 readme.txt there first.
diff --git a/PCbuild/release.vsprops b/PC/VS9.0/release.vsprops
rename from PCbuild/release.vsprops
rename to PC/VS9.0/release.vsprops
diff --git a/PCbuild/rmpyc.py b/PC/VS9.0/rmpyc.py
copy from PCbuild/rmpyc.py
copy to PC/VS9.0/rmpyc.py
diff --git a/PCbuild/rt.bat b/PC/VS9.0/rt.bat
copy from PCbuild/rt.bat
copy to PC/VS9.0/rt.bat
--- a/PCbuild/rt.bat
+++ b/PC/VS9.0/rt.bat
@@ -40,9 +40,9 @@
 if "%1"=="-d" (set suffix=_d)    & shift & goto CheckOpts
 if "%1"=="-x64" (set prefix=%prefix%amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
 
-PATH %PATH%;%pcbuild%..\externals\%tcltk%\bin
+PATH %PATH%;%pcbuild%..\..\externals\%tcltk%\bin
 set exe="%prefix%\python%suffix%"
-set cmd=%exe% %dashO% -Wd -3 -E -tt "%pcbuild%\..\Lib\test\regrtest.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
+set cmd=%exe% %dashO% -Wd -3 -E -tt "%pcbuild%\..\..\Lib\test\regrtest.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
 if defined qmode goto Qmode
 
 echo Deleting .pyc/.pyo files ...
diff --git a/PCbuild/select.vcproj b/PC/VS9.0/select.vcproj
rename from PCbuild/select.vcproj
rename to PC/VS9.0/select.vcproj
--- a/PCbuild/select.vcproj
+++ b/PC/VS9.0/select.vcproj
@@ -527,7 +527,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\selectmodule.c"
+				RelativePath="..\..\Modules\selectmodule.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/sqlite3.vcproj b/PC/VS9.0/sqlite3.vcproj
rename from PCbuild/sqlite3.vcproj
rename to PC/VS9.0/sqlite3.vcproj
diff --git a/PCbuild/sqlite3.vsprops b/PC/VS9.0/sqlite3.vsprops
rename from PCbuild/sqlite3.vsprops
rename to PC/VS9.0/sqlite3.vsprops
diff --git a/PCbuild/unicodedata.vcproj b/PC/VS9.0/unicodedata.vcproj
rename from PCbuild/unicodedata.vcproj
rename to PC/VS9.0/unicodedata.vcproj
--- a/PCbuild/unicodedata.vcproj
+++ b/PC/VS9.0/unicodedata.vcproj
@@ -511,11 +511,11 @@
 			Name="Header Files"
 			>
 			<File
-				RelativePath="..\Modules\unicodedata_db.h"
+				RelativePath="..\..\Modules\unicodedata_db.h"
 				>
 			</File>
 			<File
-				RelativePath="..\Modules\unicodename_db.h"
+				RelativePath="..\..\Modules\unicodename_db.h"
 				>
 			</File>
 		</Filter>
@@ -523,7 +523,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\Modules\unicodedata.c"
+				RelativePath="..\..\Modules\unicodedata.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/vs9to8.py b/PC/VS9.0/vs9to8.py
rename from PCbuild/vs9to8.py
rename to PC/VS9.0/vs9to8.py
diff --git a/PCbuild/w9xpopen.vcproj b/PC/VS9.0/w9xpopen.vcproj
rename from PCbuild/w9xpopen.vcproj
rename to PC/VS9.0/w9xpopen.vcproj
--- a/PCbuild/w9xpopen.vcproj
+++ b/PC/VS9.0/w9xpopen.vcproj
@@ -566,7 +566,7 @@
 			Name="Source Files"
 			>
 			<File
-				RelativePath="..\PC\w9xpopen.c"
+				RelativePath="..\..\PC\w9xpopen.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/winsound.vcproj b/PC/VS9.0/winsound.vcproj
rename from PCbuild/winsound.vcproj
rename to PC/VS9.0/winsound.vcproj
--- a/PCbuild/winsound.vcproj
+++ b/PC/VS9.0/winsound.vcproj
@@ -513,7 +513,7 @@
 			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
 			>
 			<File
-				RelativePath="..\PC\winsound.c"
+				RelativePath="..\..\PC\winsound.c"
 				>
 			</File>
 		</Filter>
diff --git a/PCbuild/x64.vsprops b/PC/VS9.0/x64.vsprops
rename from PCbuild/x64.vsprops
rename to PC/VS9.0/x64.vsprops
diff --git a/PC/bdist_wininst/bdist_wininst.vcxproj b/PC/bdist_wininst/bdist_wininst.vcxproj
new file mode 100644
--- /dev/null
+++ b/PC/bdist_wininst/bdist_wininst.vcxproj
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}</ProjectGuid>
+    <RootNamespace>wininst</RootNamespace>
+    <MakeVersionInfoBeforeTarget>ClCompile</MakeVersionInfoBeforeTarget>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="..\..\PCBuild\python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="..\..\PCBuild\pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <OutDir>$(PySourcePath)lib\distutils\command\</OutDir>
+    <LinkIncremental>false</LinkIncremental>
+    <TargetName>wininst-$(VisualStudioVersion)</TargetName>
+    <TargetName Condition="$(Platform) == 'x64'">$(TargetName)-amd64</TargetName>
+    <TargetExt>.exe</TargetExt>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Midl>
+      <TypeLibraryName>$(OutDir)wininst.tlb</TypeLibraryName>
+    </Midl>
+    <ClCompile>
+      <Optimization>MinSpace</Optimization>
+      <AdditionalIncludeDirectories>$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>$(PySourcePath)PC\bdist_wininst;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>comctl32.lib;imagehlp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="extract.c" />
+    <ClCompile Include="install.c" />
+    <ClCompile Include="..\..\Modules\zlib\adler32.c" />
+    <ClCompile Include="..\..\Modules\zlib\crc32.c" />
+    <ClCompile Include="..\..\Modules\zlib\inffast.c" />
+    <ClCompile Include="..\..\Modules\zlib\inflate.c" />
+    <ClCompile Include="..\..\Modules\zlib\inftrees.c" />
+    <ClCompile Include="..\..\Modules\zlib\zutil.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="archive.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="install.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="PythonPowered.bmp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/PC/bdist_wininst/bdist_wininst.vcxproj.filters b/PC/bdist_wininst/bdist_wininst.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PC/bdist_wininst/bdist_wininst.vcxproj.filters
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{293b1092-03ad-4b7c-acb9-c4ab62e52f55}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+    </Filter>
+    <Filter Include="Source Files\zlib">
+      <UniqueIdentifier>{0edc0406-282f-4dbc-b60e-a867c34a2a31}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{ea0c0f0e-3b73-474e-a999-e9689d032ccc}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{0c77c1cf-3f87-4f87-bd86-b425211c2181}</UniqueIdentifier>
+      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\bdist_wininst\extract.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\bdist_wininst\install.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\adler32.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\crc32.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inffast.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inflate.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inftrees.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\zutil.c">
+      <Filter>Source Files\zlib</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\PC\bdist_wininst\archive.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\bdist_wininst\install.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\PC\bdist_wininst\PythonPowered.bmp">
+      <Filter>Resource Files</Filter>
+    </None>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/PCbuild/_bsddb.vcxproj b/PCbuild/_bsddb.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_bsddb.vcxproj
@@ -0,0 +1,314 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B4D38F3F-68FB-42EC-A45D-E00657BB3627}</ProjectGuid>
+    <RootNamespace>_bsddb</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Label="Configuration" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(bsddbDir)\build_windows;$(bsddbDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1e180000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\bsddb.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_bsddb.c" />
+    <ClCompile Include="$(bsddbDir)\crypto\aes_method.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_compact.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_compare.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_conv.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_curadj.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_cursor.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_delete.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_method.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_open.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_put.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_rec.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_reclaim.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_recno.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_rsearch.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_search.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_split.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_stat.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_upgrade.c" />
+    <ClCompile Include="$(bsddbDir)\btree\bt_verify.c" />
+    <ClCompile Include="$(bsddbDir)\btree\btree_auto.c" />
+    <ClCompile Include="$(bsddbDir)\db\crdel_auto.c" />
+    <ClCompile Include="$(bsddbDir)\db\crdel_rec.c" />
+    <ClCompile Include="$(bsddbDir)\crypto\crypto.c" />
+    <ClCompile Include="$(bsddbDir)\db\db.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_am.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_auto.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_byteorder.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_cam.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_cds.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_conv.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_dispatch.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_dup.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_err.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_getlong.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_idspace.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_iface.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_join.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_log2.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_meta.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_method.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_open.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_overflow.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_ovfl_vrfy.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_pr.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_rec.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_reclaim.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_remove.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_rename.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_ret.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_setid.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_setlsn.c" />
+    <ClCompile Include="$(bsddbDir)\common\db_shash.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_stati.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_truncate.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_upg.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_upg_opd.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_vrfy.c" />
+    <ClCompile Include="$(bsddbDir)\db\db_vrfyutil.c" />
+    <ClCompile Include="$(bsddbDir)\dbm\dbm.c" />
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg.c" />
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_auto.c" />
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_rec.c" />
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_stat.c" />
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_util.c" />
+    <ClCompile Include="$(bsddbDir)\common\dbt.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_alloc.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_config.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_failchk.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_file.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_globals.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_method.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_name.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_open.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_recover.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_region.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_register.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_sig.c" />
+    <ClCompile Include="$(bsddbDir)\env\env_stat.c" />
+    <ClCompile Include="$(bsddbDir)\fileops\fileops_auto.c" />
+    <ClCompile Include="$(bsddbDir)\fileops\fop_basic.c" />
+    <ClCompile Include="$(bsddbDir)\fileops\fop_rec.c" />
+    <ClCompile Include="$(bsddbDir)\fileops\fop_util.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_auto.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_conv.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_dup.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_func.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_meta.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_method.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_open.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_page.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_rec.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_reclaim.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_stat.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_upgrade.c" />
+    <ClCompile Include="$(bsddbDir)\hash\hash_verify.c" />
+    <ClCompile Include="$(bsddbDir)\hmac\hmac.c" />
+    <ClCompile Include="$(bsddbDir)\hsearch\hsearch.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_deadlock.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_failchk.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_id.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_list.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_method.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_region.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_stat.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_timer.c" />
+    <ClCompile Include="$(bsddbDir)\lock\lock_util.c" />
+    <ClCompile Include="$(bsddbDir)\log\log.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_archive.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_compare.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_debug.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_get.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_method.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_put.c" />
+    <ClCompile Include="$(bsddbDir)\log\log_stat.c" />
+    <ClCompile Include="$(bsddbDir)\common\mkpath.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_alloc.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_bh.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_fget.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_fmethod.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_fopen.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_fput.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_fset.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_method.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_mvcc.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_region.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_register.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_resize.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_stat.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_sync.c" />
+    <ClCompile Include="$(bsddbDir)\mp\mp_trickle.c" />
+    <ClCompile Include="$(bsddbDir)\crypto\mersenne\mt19937db.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_alloc.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_failchk.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_method.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_region.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_stat.c" />
+    <ClCompile Include="$(bsddbDir)\mutex\mut_win32.c" />
+    <ClCompile Include="$(bsddbDir)\common\openflags.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_abort.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_abs.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_addrinfo.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_alloc.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_clock.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_config.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_cpu.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_ctime.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_dir.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_errno.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_fid.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_flock.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_fsync.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_getenv.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_handle.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_map.c" />
+    <ClCompile Include="$(bsddbDir)\common\os_method.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_mkdir.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_open.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_pid.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_rename.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_root.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_rpath.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_rw.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_seek.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_stack.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_stat.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_tmpdir.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_truncate.c" />
+    <ClCompile Include="$(bsddbDir)\os\os_uid.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_unlink.c" />
+    <ClCompile Include="$(bsddbDir)\os_windows\os_yield.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_auto.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_conv.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_files.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_method.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_open.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_rec.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_stat.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_upgrade.c" />
+    <ClCompile Include="$(bsddbDir)\qam\qam_verify.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_auto.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_backup.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_elect.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_lease.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_log.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_method.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_record.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_region.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_stat.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_util.c" />
+    <ClCompile Include="$(bsddbDir)\rep\rep_verify.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_auto.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_elect.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_method.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_msg.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_net.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_queue.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_sel.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_stat.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_util.c" />
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_windows.c" />
+    <ClCompile Include="$(bsddbDir)\crypto\rijndael\rijndael-alg-fst.c" />
+    <ClCompile Include="$(bsddbDir)\crypto\rijndael\rijndael-api-fst.c" />
+    <ClCompile Include="$(bsddbDir)\sequence\seq_stat.c" />
+    <ClCompile Include="$(bsddbDir)\sequence\sequence.c" />
+    <ClCompile Include="$(bsddbDir)\hmac\sha1.c" />
+    <ClCompile Include="$(bsddbDir)\clib\strsep.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_auto.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_chkpt.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_failchk.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_method.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_rec.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_recover.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_region.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_stat.c" />
+    <ClCompile Include="$(bsddbDir)\txn\txn_util.c" />
+    <ClCompile Include="$(bsddbDir)\common\util_cache.c" />
+    <ClCompile Include="$(bsddbDir)\common\util_log.c" />
+    <ClCompile Include="$(bsddbDir)\common\util_sig.c" />
+    <ClCompile Include="$(bsddbDir)\xa\xa.c" />
+    <ClCompile Include="$(bsddbDir)\xa\xa_db.c" />
+    <ClCompile Include="$(bsddbDir)\xa\xa_map.c" />
+    <ClCompile Include="$(bsddbDir)\common\zerofill.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_bsddb.vcxproj.filters b/PCbuild/_bsddb.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_bsddb.vcxproj.filters
@@ -0,0 +1,702 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{82655853-5a03-4804-a421-44510138071e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{c52be92f-9033-4a0f-bf55-1b65c7e7b015}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Berkeley DB 4.7.25 Source Files">
+      <UniqueIdentifier>{49074366-917a-4969-88c7-0f6ec09c7021}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\bsddb.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_bsddb.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\crypto\aes_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_compact.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_compare.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_conv.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_curadj.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_cursor.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_delete.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_put.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_reclaim.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_recno.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_rsearch.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_search.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_split.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_upgrade.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\bt_verify.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\btree\btree_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\crdel_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\crdel_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\crypto\crypto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_am.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_byteorder.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_cam.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_cds.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_conv.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_dispatch.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_dup.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_err.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_getlong.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_idspace.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_iface.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_join.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_log2.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_meta.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_overflow.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_ovfl_vrfy.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_pr.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_reclaim.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_remove.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_rename.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_ret.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_setid.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_setlsn.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\db_shash.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_stati.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_truncate.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_upg.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_upg_opd.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_vrfy.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\db\db_vrfyutil.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbm\dbm.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\dbreg\dbreg_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\dbt.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_alloc.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_config.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_failchk.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_file.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_globals.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_name.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_recover.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_register.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_sig.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\env\env_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\fileops\fileops_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\fileops\fop_basic.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\fileops\fop_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\fileops\fop_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_conv.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_dup.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_func.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_meta.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_page.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_reclaim.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_upgrade.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hash\hash_verify.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hmac\hmac.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hsearch\hsearch.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_deadlock.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_failchk.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_id.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_list.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_timer.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\lock\lock_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_archive.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_compare.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_debug.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_get.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_put.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\log\log_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\mkpath.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_alloc.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_bh.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_fget.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_fmethod.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_fopen.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_fput.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_fset.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_mvcc.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_register.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_resize.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_sync.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mp\mp_trickle.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\crypto\mersenne\mt19937db.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_alloc.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_failchk.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\mutex\mut_win32.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\openflags.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_abort.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_abs.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_addrinfo.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_alloc.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_clock.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_config.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_cpu.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_ctime.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_dir.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_errno.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_fid.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_flock.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_fsync.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_getenv.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_handle.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_map.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\os_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_mkdir.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_pid.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_rename.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_root.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_rpath.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_rw.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_seek.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_stack.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_tmpdir.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_truncate.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os\os_uid.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_unlink.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\os_windows\os_yield.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_conv.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_files.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_open.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_upgrade.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\qam\qam_verify.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_backup.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_elect.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_lease.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_log.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_record.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\rep\rep_verify.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_elect.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_msg.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_net.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_queue.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_sel.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\repmgr\repmgr_windows.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\crypto\rijndael\rijndael-alg-fst.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\crypto\rijndael\rijndael-api-fst.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\sequence\seq_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\sequence\sequence.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\hmac\sha1.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\clib\strsep.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_auto.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_chkpt.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_failchk.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_method.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_rec.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_recover.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_region.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_stat.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\txn\txn_util.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\util_cache.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\util_log.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\util_sig.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\xa\xa.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\xa\xa_db.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\xa\xa_map.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bsddbDir)\common\zerofill.c">
+      <Filter>Berkeley DB 4.7.25 Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_ctypes.vcxproj b/PCbuild/_ctypes.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ctypes.vcxproj
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{0E9791DB-593A-465F-98BC-681011311618}</ProjectGuid>
+    <RootNamespace>_ctypes</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\Modules\_ctypes\libffi_msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <BaseAddress>0x1D1A0000</BaseAddress>
+      <AdditionalOptions>/EXPORT:DllGetClassObject,PRIVATE /EXPORT:DllCanUnloadNow,PRIVATE %(AdditionalOptions)</AdditionalOptions>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_ctypes\ctypes.h" />
+    <ClInclude Include="..\Modules\_ctypes\ctypes_dlfcn.h" />
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffi.h" />
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffi_common.h" />
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\fficonfig.h" />
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffitarget.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ctypes\_ctypes.c" />
+    <ClCompile Include="..\Modules\_ctypes\callbacks.c" />
+    <ClCompile Include="..\Modules\_ctypes\callproc.c" />
+    <ClCompile Include="..\Modules\_ctypes\cfield.c" />
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\ffi.c" />
+    <ClCompile Include="..\Modules\_ctypes\malloc_closure.c" />
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\prep_cif.c" />
+    <ClCompile Include="..\Modules\_ctypes\stgdict.c" />
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\win32.c">
+      <ExcludedFromBuild Condition="'$(Platform)'=='x64'">true</ExcludedFromBuild>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\Modules\_ctypes\libffi_msvc\win64.asm">
+      <ExcludedFromBuild Condition="'$(Platform)'=='Win32'">true</ExcludedFromBuild>
+      <Command>ml64 /nologo /c /Zi /Fo "$(IntDir)win64.obj" "%(FullPath)"</Command>
+      <Outputs>$(IntDir)win64.obj;%(Outputs)</Outputs>
+    </CustomBuild>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_ctypes.vcxproj.filters b/PCbuild/_ctypes.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ctypes.vcxproj.filters
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{806081ee-2af0-48d0-a83e-ee02a74baa0f}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{dbdea1f2-ad8b-44ca-b782-fcf65d91559b}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_ctypes\ctypes.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_ctypes\ctypes_dlfcn.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffi.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffi_common.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\fficonfig.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_ctypes\libffi_msvc\ffitarget.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ctypes\_ctypes.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\callbacks.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\callproc.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\cfield.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\ffi.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\malloc_closure.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\prep_cif.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\stgdict.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_ctypes\libffi_msvc\win32.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <CustomBuild Include="..\Modules\_ctypes\libffi_msvc\win64.asm">
+      <Filter>Source Files</Filter>
+    </CustomBuild>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_ctypes_test.vcxproj b/PCbuild/_ctypes_test.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ctypes_test.vcxproj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9EC7190A-249F-4180-A900-548FDCF3055F}</ProjectGuid>
+    <RootNamespace>_ctypes_test</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_ctypes\_ctypes_test.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ctypes\_ctypes_test.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_ctypes_test.vcxproj.filters b/PCbuild/_ctypes_test.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ctypes_test.vcxproj.filters
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{8fd70119-5481-4e5d-b187-d0b14eb27e38}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{38abc486-e143-49dc-8cf0-8aefab0e0d3d}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_ctypes\_ctypes_test.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ctypes\_ctypes_test.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_elementtree.vcxproj b/PCbuild/_elementtree.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_elementtree.vcxproj
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{17E1E049-C309-4D79-843F-AE483C264AEA}</ProjectGuid>
+    <RootNamespace>_elementtree</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>..\Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;USE_PYEXPAT_CAPI;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <BaseAddress>0x1D100000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\expat\ascii.h" />
+    <ClInclude Include="..\Modules\expat\asciitab.h" />
+    <ClInclude Include="..\Modules\expat\expat.h" />
+    <ClInclude Include="..\Modules\expat\expat_config.h" />
+    <ClInclude Include="..\Modules\expat\expat_external.h" />
+    <ClInclude Include="..\Modules\expat\iasciitab.h" />
+    <ClInclude Include="..\Modules\expat\internal.h" />
+    <ClInclude Include="..\Modules\expat\latin1tab.h" />
+    <ClInclude Include="..\Modules\expat\macconfig.h" />
+    <ClInclude Include="..\Modules\expat\nametab.h" />
+    <ClInclude Include="..\Modules\expat\pyexpatns.h" />
+    <ClInclude Include="..\Modules\expat\utf8tab.h" />
+    <ClInclude Include="..\Modules\expat\winconfig.h" />
+    <ClInclude Include="..\Modules\expat\xmlrole.h" />
+    <ClInclude Include="..\Modules\expat\xmltok.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_elementtree.c" />
+    <ClCompile Include="..\Modules\expat\xmlparse.c" />
+    <ClCompile Include="..\Modules\expat\xmlrole.c" />
+    <ClCompile Include="..\Modules\expat\xmltok.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_elementtree.vcxproj.filters b/PCbuild/_elementtree.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_elementtree.vcxproj.filters
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{643d8607-d024-40fe-8583-1823c96430f0}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{7b5335ad-059f-486f-85e4-f4757e26a9bf}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\expat\ascii.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\asciitab.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\expat.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\expat_config.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\expat_external.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\iasciitab.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\internal.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\latin1tab.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\macconfig.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\nametab.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\pyexpatns.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\utf8tab.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\winconfig.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\xmlrole.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\xmltok.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_elementtree.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmlparse.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmlrole.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmltok.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_hashlib.vcxproj b/PCbuild/_hashlib.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_hashlib.vcxproj
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{447F05A8-F581-4CAC-A466-5AC7936E207E}</ProjectGuid>
+    <RootNamespace>_hashlib</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(opensslDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_hashopenssl.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="ssleay.vcxproj">
+      <Project>{10615b24-73bf-4efa-93aa-236916321317}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="libeay.vcxproj">
+      <Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_hashlib.vcxproj.filters b/PCbuild/_hashlib.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_hashlib.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{cc45963d-bd25-4eb8-bdba-a5507090bca4}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_hashopenssl.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_msi.vcxproj b/PCbuild/_msi.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_msi.vcxproj
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{31FFC478-7B4A-43E8-9954-8D03E2187E9C}</ProjectGuid>
+    <RootNamespace>_msi</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <AdditionalDependencies>cabinet.lib;msi.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1D160000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\_msi.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_msi.vcxproj.filters b/PCbuild/_msi.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_msi.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{bdef7710-e433-4ac0-84e0-14f34454bd3e}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\_msi.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_multiprocessing.vcxproj b/PCbuild/_multiprocessing.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_multiprocessing.vcxproj
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{9E48B300-37D1-11DD-8C41-005056C00008}</ProjectGuid>
+    <RootNamespace>_multiprocessing</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1e1D0000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_multiprocessing\multiprocessing.h" />
+    <ClInclude Include="..\Modules\_multiprocessing\connection.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_multiprocessing\multiprocessing.c" />
+    <ClCompile Include="..\Modules\_multiprocessing\pipe_connection.c" />
+    <ClCompile Include="..\Modules\_multiprocessing\semaphore.c" />
+    <ClCompile Include="..\Modules\_multiprocessing\socket_connection.c" />
+    <ClCompile Include="..\Modules\_multiprocessing\win32_functions.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_multiprocessing.vcxproj.filters b/PCbuild/_multiprocessing.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_multiprocessing.vcxproj.filters
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{623c956c-1893-43d9-a7dc-96e4fef20f93}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{34615a62-f999-4659-83f5-19d17a644530}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_multiprocessing\multiprocessing.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_multiprocessing\connection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_multiprocessing\multiprocessing.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_multiprocessing\pipe_connection.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_multiprocessing\semaphore.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_multiprocessing\socket_connection.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_multiprocessing\win32_functions.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_socket.vcxproj b/PCbuild/_socket.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_socket.vcxproj
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{86937F53-C189-40EF-8CE8-8759D8E7D480}</ProjectGuid>
+    <RootNamespace>_socket</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1e1D0000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\socketmodule.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\socketmodule.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_socket.vcxproj.filters b/PCbuild/_socket.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_socket.vcxproj.filters
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{1452207f-707c-4e84-b532-307193a0fd85}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{1edfe0d0-7b9d-4dc8-a335-b21fef7cc77a}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\socketmodule.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\socketmodule.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_sqlite3.vcxproj b/PCbuild/_sqlite3.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_sqlite3.vcxproj
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{13CECB97-4119-4316-9D42-8534019A5A44}</ProjectGuid>
+    <RootNamespace>_sqlite3</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>MODULE_NAME="sqlite3";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <BaseAddress>0x1e180000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_sqlite\cache.h" />
+    <ClInclude Include="..\Modules\_sqlite\connection.h" />
+    <ClInclude Include="..\Modules\_sqlite\cursor.h" />
+    <ClInclude Include="..\Modules\_sqlite\microprotocols.h" />
+    <ClInclude Include="..\Modules\_sqlite\module.h" />
+    <ClInclude Include="..\Modules\_sqlite\prepare_protocol.h" />
+    <ClInclude Include="..\Modules\_sqlite\row.h" />
+    <ClInclude Include="..\Modules\_sqlite\sqlitecompat.h" />
+    <ClInclude Include="..\Modules\_sqlite\statement.h" />
+    <ClInclude Include="..\Modules\_sqlite\util.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_sqlite\cache.c" />
+    <ClCompile Include="..\Modules\_sqlite\connection.c" />
+    <ClCompile Include="..\Modules\_sqlite\cursor.c" />
+    <ClCompile Include="..\Modules\_sqlite\microprotocols.c" />
+    <ClCompile Include="..\Modules\_sqlite\module.c" />
+    <ClCompile Include="..\Modules\_sqlite\prepare_protocol.c" />
+    <ClCompile Include="..\Modules\_sqlite\row.c" />
+    <ClCompile Include="..\Modules\_sqlite\statement.c" />
+    <ClCompile Include="..\Modules\_sqlite\util.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="sqlite3.vcxproj">
+      <Project>{a1a295e5-463c-437f-81ca-1f32367685da}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_sqlite3.vcxproj.filters b/PCbuild/_sqlite3.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_sqlite3.vcxproj.filters
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{dac8ab3b-ce16-4bef-bef9-76463a01f5c4}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{814b187d-44ad-4f2b-baa7-18ca8a8a6a77}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\_sqlite\cache.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\connection.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\cursor.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\microprotocols.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\module.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\prepare_protocol.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\row.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\sqlitecompat.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\statement.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_sqlite\util.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_sqlite\cache.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\connection.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\cursor.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\microprotocols.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\module.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\prepare_protocol.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\row.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\statement.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sqlite\util.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_ssl.vcxproj b/PCbuild/_ssl.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ssl.vcxproj
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C6E20F84-3247-4AD6-B051-B073268F73BA}</ProjectGuid>
+    <RootNamespace>_ssl</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(opensslDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;crypt32.lib;$(OutDir)libeay$(PyDebugExt).lib;$(OutDir)ssleay$(PyDebugExt).lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ssl.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="libeay.vcxproj">
+      <Project>{e5b04cc0-eb4c-42ab-b4dc-18ef95f864b0}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="ssleay.vcxproj">
+      <Project>{10615b24-73bf-4efa-93aa-236916321317}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="_socket.vcxproj">
+      <Project>{86937f53-c189-40ef-8ce8-8759d8e7d480}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_ssl.vcxproj.filters b/PCbuild/_ssl.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_ssl.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{695348f7-e9f6-4fe1-bc03-5f08ffc8095b}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_ssl.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_testcapi.vcxproj b/PCbuild/_testcapi.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_testcapi.vcxproj
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}</ProjectGuid>
+    <RootNamespace>_testcapi</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <BaseAddress>0x1e1F0000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_testcapimodule.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_testcapi.vcxproj.filters b/PCbuild/_testcapi.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_testcapi.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{a76a90d8-8e8b-4c36-8f58-8bd46abe9f5e}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_testcapimodule.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/_tkinter.vcxproj b/PCbuild/_tkinter.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/_tkinter.vcxproj
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}</ProjectGuid>
+    <RootNamespace>_tkinter</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="tcltk.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(tcltkDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WITH_APPINIT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>$(tcltkLib);%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_tkinter.c" />
+    <ClCompile Include="..\Modules\tkappinit.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="tcl.vcxproj">
+      <Project>{b5fd6f1d-129e-4bff-9340-03606fac7283}</Project>
+    </ProjectReference>
+    <ProjectReference Include="tk.vcxproj">
+      <Project>{7e85eccf-a72c-4da4-9e52-884508e80ba1}</Project>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/_tkinter.vcxproj.filters b/PCbuild/_tkinter.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/_tkinter.vcxproj.filters
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{b9ce64dd-cb95-472d-bbe8-5583b2cd375b}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_tkinter.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\tkappinit.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/build.bat b/PCbuild/build.bat
--- a/PCbuild/build.bat
+++ b/PCbuild/build.bat
@@ -6,102 +6,47 @@
 rem  -c  Set the configuration (default: Release)
 rem  -p  Set the platform (x64 or Win32, default: Win32)
 rem  -r  Target Rebuild instead of Build
-rem  -t  Set the target manually (Build, Rebuild, or Clean)
+rem  -t  Set the target manually (Build, Rebuild, Clean, or CleanAll)
 rem  -d  Set the configuration to Debug
 rem  -e  Pull in external libraries using get_externals.bat
-rem  -k  Attempt to kill any running Pythons before building
+rem  -m  Enable parallel build
+rem  -M  Disable parallel build (disabled by default)
+rem  -v  Increased output messages
+rem  -k  Attempt to kill any running Pythons before building (usually unnecessary)
 
 setlocal
 set platf=Win32
 set vs_platf=x86
 set conf=Release
-set target=
+set target=Build
 set dir=%~dp0
+set parallel=
+set verbose=/nologo /v:m
 set kill=
-set build_tkinter=
 
 :CheckOpts
 if '%1'=='-c' (set conf=%2) & shift & shift & goto CheckOpts
 if '%1'=='-p' (set platf=%2) & shift & shift & goto CheckOpts
-if '%1'=='-r' (set target=/rebuild) & shift & goto CheckOpts
-if '%1'=='-t' (
-    if '%2'=='Clean' (set target=/clean) & shift & shift & goto CheckOpts
-    if '%2'=='Rebuild' (set target=/rebuild) & shift & shift & goto CheckOpts
-    if '%2'=='Build' (set target=) & shift & shift & goto CheckOpts
-    echo.Unknown target: %2 & goto :eof
-)
+if '%1'=='-r' (set target=Rebuild) & shift & goto CheckOpts
+if '%1'=='-t' (set target=%2) & shift & shift & goto CheckOpts
 if '%1'=='-d' (set conf=Debug) & shift & goto CheckOpts
-if '%1'=='-e' call "%dir%get_externals.bat" & (set build_tkinter=true) & shift & goto CheckOpts
+if '%1'=='-e' call "%dir%get_externals.bat" & shift & goto CheckOpts
+if '%1'=='-m' (set parallel=/m) & shift & goto CheckOpts
+if '%1'=='-M' (set parallel=) & shift & goto CheckOpts
+if '%1'=='-v' (set verbose=/v:n) & shift & goto CheckOpts
 if '%1'=='-k' (set kill=true) & shift & goto CheckOpts
 
-if '%conf%'=='Debug' (set dbg_ext=_d) else (set dbg_ext=)
-if '%platf%'=='x64' (
-    set vs_platf=x86_amd64
-    set builddir=%dir%amd64\
-) else (
-    set builddir=%dir%
-)
-rem Can't use builddir until we're in a new command...
-if '%platf%'=='x64' (
-    rem Needed for buliding OpenSSL
-    set HOST_PYTHON=%builddir%python%dbg_ext%.exe
+if '%platf%'=='x64' (set vs_platf=x86_amd64)
+
+rem Setup the environment
+call "%dir%env.bat" %vs_platf% >nul
+
+if '%kill%'=='true' (
+    msbuild /v:m /nologo /target:KillPython "%dir%\pythoncore.vcxproj" /p:Configuration=%conf% /p:Platform=%platf% /p:KillPython=true
 )
 
-rem Setup the environment
-call "%dir%env.bat" %vs_platf%
-
-if '%kill%'=='true' (
-    vcbuild "%dir%kill_python.vcproj" "%conf%|%platf%" && "%builddir%kill_python%dbg_ext%.exe"
-)
-
-set externals_dir=%dir%..\externals
-if '%build_tkinter%'=='true' (
-    if '%platf%'=='x64' (
-        set tcltkdir=%externals_dir%\tcltk64
-        set machine=AMD64
-    ) else (
-        set tcltkdir=%externals_dir%\tcltk
-        set machine=IX86
-    )
-    if '%conf%'=='Debug' (
-        set tcl_dbg_ext=g
-        set debug_flag=1
-    ) else (
-        set tcl_dbg_ext=
-        set debug_flag=0
-    )
-    set tcldir=%externals_dir%\tcl-8.5.15.0
-    set tkdir=%externals_dir%\tk-8.5.15.0
-    set tixdir=%externals_dir%\tix-8.4.3.5
-)
-if '%build_tkinter%'=='true' (
-    if not exist "%tcltkdir%\bin\tcl85%tcl_dbg_ext%.dll" (
-        @rem all and install need to be separate invocations, otherwise nmakehlp is not found on install
-        pushd "%tcldir%\win"
-        nmake -f makefile.vc MACHINE=%machine% DEBUG=%debug_flag% INSTALLDIR="%tcltkdir%" clean all
-        nmake -f makefile.vc MACHINE=%machine% DEBUG=%debug_flag% INSTALLDIR="%tcltkdir%" install
-        popd
-    )
-
-    if not exist "%tcltkdir%\bin\tk85%tcl_dbg_ext%.dll" (
-        pushd "%tkdir%\win"
-        nmake -f makefile.vc MACHINE=%machine% DEBUG=%debug_flag% INSTALLDIR="%tcltkdir%" TCLDIR="%tcldir%" clean
-        nmake -f makefile.vc MACHINE=%machine% DEBUG=%debug_flag% INSTALLDIR="%tcltkdir%" TCLDIR="%tcldir%" all
-        nmake -f makefile.vc MACHINE=%machine% DEBUG=%debug_flag% INSTALLDIR="%tcltkdir%" TCLDIR="%tcldir%" install
-        popd
-    )
-
-    if not exist "%tcltkdir%\lib\tix8.4.3\tix84%tcl_dbg_ext%.dll" (
-        pushd "%tixdir%\win"
-        nmake -f python.mak DEBUG=%debug_flag% MACHINE=%machine% TCL_DIR="%tcldir%" TK_DIR="%tkdir%" INSTALL_DIR="%tcltkdir%" clean
-        nmake -f python.mak DEBUG=%debug_flag% MACHINE=%machine% TCL_DIR="%tcldir%" TK_DIR="%tkdir%" INSTALL_DIR="%tcltkdir%" all
-        nmake -f python.mak DEBUG=%debug_flag% MACHINE=%machine% TCL_DIR="%tcldir%" TK_DIR="%tkdir%" INSTALL_DIR="%tcltkdir%" install
-        popd
-    )
-)
-
-rem Call on VCBuild to do the work, echo the command.
+rem Call on MSBuild to do the work, echo the command.
 rem Passing %1-9 is not the preferred option, but argument parsing in
 rem batch is, shall we say, "lackluster"
 echo on
-vcbuild "%dir%pcbuild.sln" %target% "%conf%|%platf%" %1 %2 %3 %4 %5 %6 %7 %8 %9
+msbuild "%dir%pcbuild.proj" /t:%target% %parallel% %verbose% /p:Configuration=%conf% /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/PCbuild/build_pgo.bat b/PCbuild/build_pgo.bat
--- a/PCbuild/build_pgo.bat
+++ b/PCbuild/build_pgo.bat
@@ -7,14 +7,16 @@
 
 setlocal
 set platf=Win32
+set parallel=/m
+set dir=%~dp0
 
 rem use the performance testsuite.  This is quick and simple
-set job1=..\tools\pybench\pybench.py -n 1 -C 1 --with-gc
-set path1=..\tools\pybench
+set job1="%dir%..\tools\pybench\pybench.py" -n 1 -C 1 --with-gc
+set path1="%dir%..\tools\pybench"
 
 rem or the whole testsuite for more thorough testing
-set job2=..\lib\test\regrtest.py
-set path2=..\lib
+set job2="%dir%..\lib\test\regrtest.py"
+set path2="%dir%..\lib"
 
 set job=%job1%
 set clrpath=%path1%
@@ -22,20 +24,25 @@
 :CheckOpts
 if "%1"=="-p" (set platf=%2) & shift & shift & goto CheckOpts
 if "%1"=="-2" (set job=%job2%) & (set clrpath=%path2%) & shift & goto CheckOpts
+if "%1"=="-M" (set parallel=) & shift & goto CheckOpts
 
-set PGI=%platf%-pgi
-set PGO=%platf%-pgo
 
- at echo on
+rem We cannot cross compile PGO builds, as the optimization needs to be run natively
+set vs_platf=x86
+set PGO=%dir%win32-pgo
+
+if "%platf%"=="x64" (set vs_platf=amd64) & (set PGO=%dir%amd64-pgo)
+rem Setup the environment
+call "%dir%env.bat" %vs_platf%
+
+
 rem build the instrumented version
-call build -p %platf% -c PGInstrument
+msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGInstrument /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
 
 rem remove .pyc files, .pgc files and execute the job
-%PGI%\python.exe rmpyc.py %clrpath%
-del %PGI%\*.pgc
-%PGI%\python.exe %job%
+"%PGO%\python.exe" "%dir%rmpyc.py" %clrpath%
+del "%PGO%\*.pgc"
+"%PGO%\python.exe" %job%
 
-rem finally build the optimized version
-if exist %PGO% del /s /q %PGO%
-call build -p %platf% -c PGUpdate
-
+rem build optimized version
+msbuild "%dir%pcbuild.proj" %parallel% /t:Build /p:Configuration=PGUpdate /p:Platform=%platf% %1 %2 %3 %4 %5 %6 %7 %8 %9
diff --git a/PCbuild/bz2.vcxproj b/PCbuild/bz2.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/bz2.vcxproj
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}</ProjectGuid>
+    <RootNamespace>bz2</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    <ProjectName>bz2</ProjectName>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Label="Configuration" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(bz2Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <BaseAddress>0x1D170000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\bz2module.c" />
+    <ClCompile Include="$(bz2Dir)\blocksort.c" />
+    <ClCompile Include="$(bz2Dir)\bzlib.c" />
+    <ClCompile Include="$(bz2Dir)\compress.c" />
+    <ClCompile Include="$(bz2Dir)\crctable.c" />
+    <ClCompile Include="$(bz2Dir)\decompress.c" />
+    <ClCompile Include="$(bz2Dir)\huffman.c" />
+    <ClCompile Include="$(bz2Dir)\randtable.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(bz2Dir)\bzlib.h" />
+    <ClInclude Include="$(bz2Dir)\bzlib_private.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/bz2.vcxproj.filters b/PCbuild/bz2.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/bz2.vcxproj.filters
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{f53a859d-dad2-4d5b-ae41-f28d8b571f5a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="bzip2 1.0.6 Header Files">
+      <UniqueIdentifier>{7e0bed05-ae33-43b7-8797-656455bbb7f3}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="bzip2 1.0.6 Source Files">
+      <UniqueIdentifier>{ed574b89-6983-4cdf-9f98-fe7048d9e89c}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\bz2module.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\blocksort.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\bzlib.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\compress.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\crctable.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\decompress.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\huffman.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="$(bz2Dir)\randtable.c">
+      <Filter>bzip2 1.0.6 Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(bz2Dir)\bzlib.h">
+      <Filter>bzip2 1.0.6 Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="$(bz2Dir)\bzlib_private.h">
+      <Filter>bzip2 1.0.6 Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/clean.bat b/PCbuild/clean.bat
new file mode 100644
--- /dev/null
+++ b/PCbuild/clean.bat
@@ -0,0 +1,5 @@
+ at echo off
+rem A batch program to clean a particular configuration,
+rem just for convenience.
+
+call %~dp0build.bat -t Clean %*
diff --git a/PCbuild/env.bat b/PCbuild/env.bat
--- a/PCbuild/env.bat
+++ b/PCbuild/env.bat
@@ -1,4 +1,17 @@
 @echo off
-echo Build environments: x86, ia64, amd64, x86_amd64, x86_ia64
+rem This script adds the latest available tools to the path for the current
+rem command window. However, all builds of Python should ignore the version
+rem of the tools on PATH and use PlatformToolset instead, which should
+rem always be 'v90'.
+rem
+rem To build Python with a newer toolset, pass "/p:PlatformToolset=v100" (or
+rem 'v110', 'v120' or 'v140') to the build script.  Note that no toolset
+rem other than 'v90' is supported!
+
+echo Build environments: x86, amd64, x86_amd64
 echo.
-call "%VS90COMNTOOLS%..\..\VC\vcvarsall.bat" %*
+set VSTOOLS=%VS140COMNTOOLS%
+if "%VSTOOLS%"=="" set VSTOOLS=%VS120COMNTOOLS%
+if "%VSTOOLS%"=="" set VSTOOLS=%VS110COMNTOOLS%
+if "%VSTOOLS%"=="" set VSTOOLS=%VS100COMNTOOLS%
+call "%VSTOOLS%..\..\VC\vcvarsall.bat" %*
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -51,6 +51,9 @@
 
 echo.Fetching external libraries...
 
+rem When updating these versions, remember to update the relevant property
+rem files in both this dir and PC\VS9.0
+
 for %%e in (
             bzip2-1.0.6
             db-4.7.25.0
diff --git a/PCbuild/libeay.vcxproj b/PCbuild/libeay.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/libeay.vcxproj
@@ -0,0 +1,907 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}</ProjectGuid>
+    <RootNamespace>libeay</RootNamespace>
+  </PropertyGroup>
+
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+  </PropertyGroup>
+
+  <Import Project="openssl.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+
+  <Target Name="CreateBuildinfH" Inputs="$(MSBuildProjectFullPath)" Outputs="$(IntDir)\buildinf.h" AfterTargets="PrepareForBuild">
+    <PropertyGroup>
+      <_DATEValue>#define DATE "$([System.DateTime]::Now.ToString(`ddd MMM dd HH':'mm':'ss yyyy`))"</_DATEValue>
+      <_CFLAGSValue>#define CFLAGS "cl /MD /Ox -W3 -Gs0 -Gy -nologo @(PreprocessorDefinitions->'-D%(Identity)',' ')"</_CFLAGSValue>
+      <_PLATFORMValue Condition="$(Platform)=='Win32'">#define PLATFORM "VC-WIN32"</_PLATFORMValue>
+      <_PLATFORMValue Condition="$(Platform)=='x64'">#define PLATFORM "VC-WIN64A"</_PLATFORMValue>
+    </PropertyGroup>
+    <WriteLinesToFile File="$(IntDir)\buildinf.h"
+                      Lines="$(_DATEValue);$(_CFLAGSValue);$(_PLATFORMValue)"
+                      Overwrite="true" />
+    <Message Text="Updating buildinf.h:
+    $(_DATEValue)
+    $(_CFLAGSValue)
+    $(_PLATFORMValue)" Importance="normal" />
+  </Target>
+
+  <Target Name="SuppressOriginalBuildinfH" Condition="Exists('$(opensslDir)crypto\buildinf.h')" BeforeTargets="PrepareForBuild">
+    <Move SourceFiles="$(opensslDir)crypto\buildinf.h" DestinationFiles="$(opensslDir)crypto\buildinf.h.orig" />
+  </Target>
+
+  <ItemGroup>
+    <ClCompile Include="$(opensslDir)crypto\cversion.c">
+      <AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+  </ItemGroup>
+
+  <ItemGroup>
+    <!--
+    <ClCompile Include="$(opensslDir)apps\errstr.c" />
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_cfb.c" />
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_ctr.c" />
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_ecb.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_ige.c" />
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_misc.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_ofb.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\aes\aes_wrap.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_bitstr.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_bool.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_bytes.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_d2i_fp.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_digest.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_dup.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_enum.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_gentm.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_i2d_fp.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_int.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_mbstr.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_object.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_octet.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_set.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_strex.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_strnid.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_time.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_type.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_utctm.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_utf8.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\a_verify.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\ameth_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn_mime.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn_moid.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn_pack.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn1_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn1_gen.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn1_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\asn1_par.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\bio_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\bio_ndef.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\d2i_pr.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\asn1\d2i_pu.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\asn1\evp_asn1.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\asn1\f_enum.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\asn1\f_int.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\f_string.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\i2d_pr.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\asn1\i2d_pu.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\asn1\n_pkey.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\nsseq.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\p5_pbe.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\p5_pbev2.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\p8_pkey.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_bitst.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_crl.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_pkey.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_req.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_spki.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_x509.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\t_x509a.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_dec.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_fre.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_new.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_prn.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_typ.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\tasn_utl.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_algor.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_attrib.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_bignum.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_crl.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_exten.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_info.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_long.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_name.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_nx509.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_pkey.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_pubkey.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_req.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_sig.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_spki.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_val.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_x509.c" />
+    <ClCompile Include="$(opensslDir)crypto\asn1\x_x509a.c" />
+    <ClCompile Include="$(opensslDir)crypto\bf\bf_cfb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\bf\bf_ecb.c" />
+    <ClCompile Include="$(opensslDir)crypto\bf\bf_ofb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\bf\bf_skey.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\b_dump.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\b_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\b_sock.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bf_buff.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bio\bf_nbio.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bf_null.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bio_cb.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bio\bio_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bio_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_acpt.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_bio.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_conn.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_dgram.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_fd.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_file.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_log.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_mem.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_null.c" />
+    <ClCompile Include="$(opensslDir)crypto\bio\bss_sock.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_add.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_blind.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_const.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_ctx.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_depr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_div.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_exp.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_exp2.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_gcd.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_gf2m.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_kron.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_mod.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_mont.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_mpi.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_mul.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_nist.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_prime.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_rand.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_recp.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_shift.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_sqr.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_sqrt.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_word.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_x931p.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\buffer\buf_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\buffer\buf_str.c" />
+    <ClCompile Include="$(opensslDir)crypto\buffer\buffer.c" />
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_cfb.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_ctr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_ecb.c" />
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_ofb.c" />
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_utl.c" />
+    <ClCompile Include="$(opensslDir)crypto\cast\c_cfb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\cast\c_ecb.c" />
+    <ClCompile Include="$(opensslDir)crypto\cast\c_ofb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\cast\c_skey.c" />
+    <ClCompile Include="$(opensslDir)crypto\cmac\cm_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\cmac\cm_pmeth.c" />
+    <ClCompile Include="$(opensslDir)crypto\cmac\cmac.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_att.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_cd.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_dd.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_env.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_err.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_ess.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_io.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_kari.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_pwri.c" />
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_sd.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\cms\cms_smime.c" />
+    <ClCompile Include="$(opensslDir)crypto\comp\c_rle.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\comp\c_zlib.c" />
+    <ClCompile Include="$(opensslDir)crypto\comp\comp_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\comp\comp_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_api.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_def.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_mall.c" />
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_mod.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\conf\conf_sap.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\cpt_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\cryptlib.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\cbc_cksm.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\des\cbc_enc.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\des\cfb_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\cfb64ede.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\cfb64enc.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\des\des_old.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\des_old2.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\des\ecb_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\ecb3_enc.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\des\ede_cbcm_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\enc_read.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\enc_writ.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\fcrypt.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\ofb_enc.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\des\ofb64ede.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\ofb64enc.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\des\pcbc_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\qud_cksm.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\rand_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\read2pwd.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\rpc_enc.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\des\set_key.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\des\str2key.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\des\xcbc_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_check.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_depr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_gen.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_kdf.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_pmeth.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_prn.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dh\dh_rfc5114.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_asn1.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_depr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_gen.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_ossl.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_pmeth.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_prn.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\dsa\dsa_vrf.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_beos.c" />
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_dl.c" />
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_dlfcn.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_null.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_openssl.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_vms.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\dso\dso_win32.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ebcdic.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_asn1.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_check.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_curve.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_cvt.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_mult.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_oct.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_pmeth.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec2_mult.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec2_oct.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ec2_smpl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\eck_prn.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_mont.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_nist.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp224.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp256.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_nistp521.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_nistputil.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_oct.c" />
+    <ClCompile Include="$(opensslDir)crypto\ec\ecp_smpl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdh\ech_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdh\ech_kdf.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdh\ech_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdh\ech_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdh\ech_ossl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_ossl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\ecdsa\ecs_vrf.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_all.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_cnf.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_cryptodev.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_ctrl.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_dyn.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_fat.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_init.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_list.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_openssl.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_pkey.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_rdrand.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_rsax.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\engine\eng_table.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_asnmth.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_cipher.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_dh.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_digest.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_dsa.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_ecdh.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_ecdsa.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_pkmeth.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_rand.c" />
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_rsa.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\engine\tb_store.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\err\err.c" />
+    <ClCompile Include="$(opensslDir)crypto\err\err_all.c" />
+    <ClCompile Include="$(opensslDir)crypto\err\err_prn.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\bio_b64.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\bio_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\bio_md.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\bio_ok.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\c_all.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\c_allc.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\c_alld.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\digest.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_aes.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_aes_cbc_hmac_sha1.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_aes_cbc_hmac_sha256.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_bf.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_camellia.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_cast.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_des.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_des3.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\e_idea.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\e_null.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\e_old.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\e_rc2.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_rc4.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_rc4_hmac_md5.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\e_rc5.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\e_seed.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\e_xcbc_d.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\encode.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_acnf.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_cnf.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_err.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_fips.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_pbe.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\evp_pkey.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_dss.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_dss1.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_ecdsa.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_md4.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_md5.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\m_null.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\m_ripemd.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_sha.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_sha1.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_sigver.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\m_wp.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\names.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\p_dec.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\p_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\evp\p_open.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\p_seal.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\evp\p_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\p_verify.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\p5_crpt.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\p5_crpt2.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\pmeth_fn.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\pmeth_gn.c" />
+    <ClCompile Include="$(opensslDir)crypto\evp\pmeth_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ex_data.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\fips_ers.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\hmac\hm_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\hmac\hm_pmeth.c" />
+    <ClCompile Include="$(opensslDir)crypto\hmac\hmac.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\krb5\krb5_asn.c" />
+    <ClCompile Include="$(opensslDir)crypto\lhash\lh_stats.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\lhash\lhash.c" />
+    <ClCompile Include="$(opensslDir)crypto\md4\md4_dgst.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\md4\md4_one.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\md5\md5_dgst.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\md5\md5_one.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\mem.c" />
+    <ClCompile Include="$(opensslDir)crypto\mem_dbg.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\cbc128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\ccm128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\cfb128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\ctr128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\cts128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\gcm128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\ofb128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\wrap128.c" />
+    <ClCompile Include="$(opensslDir)crypto\modes\xts128.c" />
+    <ClCompile Include="$(opensslDir)crypto\o_dir.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\o_fips.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\o_init.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\o_str.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\o_time.c" />
+    <ClCompile Include="$(opensslDir)crypto\objects\o_names.c" />
+    <ClCompile Include="$(opensslDir)crypto\objects\obj_dat.c" />
+    <ClCompile Include="$(opensslDir)crypto\objects\obj_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\objects\obj_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\objects\obj_xref.c" />
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_asn.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_cl.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_err.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_ext.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_ht.c" />
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_prn.c" />
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_srv.c" />
+    <ClCompile Include="$(opensslDir)crypto\ocsp\ocsp_vfy.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_all.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_info.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_oth.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_pk8.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_pkey.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_seal.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_sign.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_x509.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pem_xaux.c" />
+    <ClCompile Include="$(opensslDir)crypto\pem\pvkfmt.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_add.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_asn.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_attr.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_crpt.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_crt.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_decr.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_init.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_key.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_kiss.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_mutl.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_npas.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_p8d.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_p8e.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\p12_utl.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs12\pk12err.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\bio_pk7.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_attr.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_doit.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_mime.c" />
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pk7_smime.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\pkcs7\pkcs7err.c" />
+    <ClCompile Include="$(opensslDir)crypto\pqueue\pqueue.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\md_rand.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_egd.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_nw.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_os2.c" />
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_unix.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rand\rand_win.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rand\randfile.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rc2\rc2_cbc.c" />
+    <ClCompile Include="$(opensslDir)crypto\rc2\rc2_ecb.c" />
+    <ClCompile Include="$(opensslDir)crypto\rc2\rc2_skey.c" />
+    <ClCompile Include="$(opensslDir)crypto\rc2\rc2cfb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\rc2\rc2ofb64.c" />
+    <ClCompile Include="$(opensslDir)crypto\rc4\rc4_utl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ripemd\rmd_dgst.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ripemd\rmd_one.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_ameth.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_asn1.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_chk.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_crpt.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_depr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_eay.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_gen.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_none.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_null.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_oaep.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_pk1.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_pmeth.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_prn.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_pss.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_saos.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_ssl.c" />
+    <ClCompile Include="$(opensslDir)crypto\rsa\rsa_x931.c" />
+    <ClCompile Include="$(opensslDir)crypto\seed\seed.c" />
+    <ClCompile Include="$(opensslDir)crypto\seed\seed_cbc.c" />
+    <ClCompile Include="$(opensslDir)crypto\seed\seed_cfb.c" />
+    <ClCompile Include="$(opensslDir)crypto\seed\seed_ecb.c" />
+    <ClCompile Include="$(opensslDir)crypto\seed\seed_ofb.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha_dgst.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha_one.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha1_one.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha1dgst.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha256.c" />
+    <ClCompile Include="$(opensslDir)crypto\sha\sha512.c" />
+    <ClCompile Include="$(opensslDir)crypto\srp\srp_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\srp\srp_vfy.c" />
+    <ClCompile Include="$(opensslDir)crypto\stack\stack.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_asn1.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_conf.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_err.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_req_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_req_utils.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_print.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_sign.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_utils.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_rsp_verify.c" />
+    <ClCompile Include="$(opensslDir)crypto\ts\ts_verify_ctx.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\txt_db\txt_db.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\ui\ui_compat.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\ui\ui_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\ui\ui_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\ui\ui_openssl.c" />
+    <ClCompile Include="$(opensslDir)crypto\ui\ui_util.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\uid.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\whrlpool\wp_dgst.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\by_dir.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\by_file.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x_all.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_att.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_cmp.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_d2.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_def.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_err.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_ext.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_lu.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_obj.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_r2x.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_req.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_set.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_trs.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_txt.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_v3.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_vfy.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509_vpm.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509cset.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509name.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509\x509rset.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\x509\x509spki.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\x509\x509type.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_cache.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_data.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_map.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_node.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\pcy_tree.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_addr.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_akey.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_akeya.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_alt.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_asid.c" />
+    -->
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_bcons.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_bitst.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_conf.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_cpols.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_crld.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_enum.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_extku.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_genn.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_ia5.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_info.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_int.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_lib.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_ncons.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_ocsp.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_pci.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_pcia.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_pcons.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_pku.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_pmaps.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_prn.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_purp.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_scts.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_skey.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_sxnet.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3_utl.c" />
+    <ClCompile Include="$(opensslDir)crypto\x509v3\v3err.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\e_gost_err.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_ameth.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_asn1.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_crypt.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_ctl.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_eng.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_keywrap.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_md.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_params.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_pmeth.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost_sign.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost2001.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost2001_keyx.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost89.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gost94_keyx.c" />
+    <ClCompile Include="$(opensslDir)engines\ccgost\gosthash.c" />
+    <ClCompile Include="$(opensslDir)engines\e_4758cca.c" />
+    <ClCompile Include="$(opensslDir)engines\e_aep.c" />
+    <ClCompile Include="$(opensslDir)engines\e_atalla.c" />
+    <ClCompile Include="$(opensslDir)engines\e_capi.c" />
+    <ClCompile Include="$(opensslDir)engines\e_chil.c" />
+    <ClCompile Include="$(opensslDir)engines\e_cswift.c" />
+    <ClCompile Include="$(opensslDir)engines\e_gmp.c" />
+    <ClCompile Include="$(opensslDir)engines\e_nuron.c" />
+    <ClCompile Include="$(opensslDir)engines\e_padlock.c" />
+    <ClCompile Include="$(opensslDir)engines\e_sureware.c" />
+    <ClCompile Include="$(opensslDir)engines\e_ubsec.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_meth.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_ext.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_srvr.c" />
+  </ItemGroup>
+  <ItemGroup Condition="$(Platform) == 'Win32'">
+    <ClCompile Include="$(opensslDir)crypto\whrlpool\wp_block.c" />
+  </ItemGroup>
+  <ItemGroup Condition="$(Platform) == 'x64'">
+    <ClCompile Include="$(opensslDir)crypto\bf\bf_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\bn\bn_asm.c" />
+    <ClCompile Include="$(opensslDir)crypto\camellia\cmll_misc.c" />
+    <ClCompile Include="$(opensslDir)crypto\cast\c_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\des_enc.c" />
+    <ClCompile Include="$(opensslDir)crypto\des\fcrypt_b.c" />
+  </ItemGroup>
+
+  <ItemGroup Condition="$(Platform) == 'Win32'">
+    <NasmCompile Include="$(opensslDir)tmp32\aes-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\aesni-x86.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\bf-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\bn-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\cast-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\cmll-x86.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\co-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\crypt586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\des-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\ghash-x86.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\md5-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\rc4-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\rmd-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\sha1-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\sha256-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\sha512-586.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\vpaes-x86.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\wp-mmx.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\x86cpuid.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\x86-gf2m.asm" />
+    <NasmCompile Include="$(opensslDir)tmp32\x86-mont.asm" />
+  </ItemGroup>
+  <ItemGroup Condition="$(Platform) == 'x64'">
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-sha1-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-sha1-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-gcm-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-mb-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-sha256-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aesni-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\aes-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\bsaes-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\cmll-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\ghash-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\md5-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\rc4-md5-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\rc4-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\sha1-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\sha1-mb-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\sha256-mb-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\sha256-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\sha512-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\vpaes-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\wp-x86_64.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\x86_64cpuid.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\x86_64-gf2m.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\x86_64-mont.asm" />
+    <NasmCompile Include="$(opensslDir)tmp64\x86_64-mont5.asm" />
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <Target Name="Clean" />
+  <Target Name="CleanAll">
+    <Delete Files="$(TargetPath)" />
+    <RemoveDir Directories="$(IntDir)" />
+  </Target>
+</Project>
diff --git a/PCbuild/openssl.props b/PCbuild/openssl.props
new file mode 100644
--- /dev/null
+++ b/PCbuild/openssl.props
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="pyproject.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+    <IntDir>$(opensslDir)tmp\$(ArchName)_$(Configuration)\$(ProjectName)\</IntDir>
+    <IntDir Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(opensslDir)tmp\$(ArchName)\$(ProjectName)\</IntDir>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PreprocessorDefinitions Include="DSO_WIN32" />
+    <PreprocessorDefinitions Include="WIN32_LEAN_AND_MEAN" />
+    <PreprocessorDefinitions Include="L_ENDIAN" />
+    <PreprocessorDefinitions Include="_CRT_SECURE_NO_WARNINGS" />
+    <PreprocessorDefinitions Include="_CRT_SECURE_NO_DEPRECATE" />
+    <PreprocessorDefinitions Include="OPENSSL_THREADS" />
+    <PreprocessorDefinitions Include="OPENSSL_SYSNAME_WIN32" />
+    <PreprocessorDefinitions Include="OPENSSL_IA32_SSE2" />
+    <PreprocessorDefinitions Include="OPENSSL_CPUID_OBJ" />
+    <PreprocessorDefinitions Include="SHA1_ASM" />
+    <PreprocessorDefinitions Include="SHA256_ASM" />
+    <PreprocessorDefinitions Include="SHA512_ASM" />
+    <PreprocessorDefinitions Include="MD5_ASM" />
+    <PreprocessorDefinitions Include="AES_ASM" />
+    <PreprocessorDefinitions Include="VPAES_ASM" />
+    <PreprocessorDefinitions Include="WHIRLPOOL_ASM" />
+    <PreprocessorDefinitions Include="GHASH_ASM" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_IDEA" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_RC5" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_MD2" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_MDC2" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_KRB5" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_JPAKE" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_RDRAND" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_RSAX" />
+    <PreprocessorDefinitions Include="OPENSSL_NO_DYNAMIC_ENGINE" />
+  </ItemGroup>
+  <ItemGroup Condition="'$(Platform)'=='Win32'">
+    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_GF2m" />
+    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_PART_WORDS" />
+    <PreprocessorDefinitions Include="OPENSSL_BN_ASM_MONT" />
+    <PreprocessorDefinitions Include="RMD160_ASM" />
+  </ItemGroup>
+
+  <PropertyGroup>
+    <_PreprocessorDefinitionList>@(PreprocessorDefinitions)</_PreprocessorDefinitionList>
+  </PropertyGroup>
+
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <!-- Suppress 64-bit truncation warnings - they aren't ours to worry about -->
+      <DisableSpecificWarnings>4244;4267</DisableSpecificWarnings>
+      <AdditionalIncludeDirectories>$(opensslDir);$(opensslDir)include;$(opensslDir)crypto;$(opensslDir)crypto\asn1;$(opensslDir)crypto\evp;$(opensslDir)crypto\modes</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(_PreprocessorDefinitionList);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+
+  <Target Name="FindNasm">
+    <PropertyGroup>
+      <nasm Condition="$(Platform) == 'Win32'">nasm.exe -f win32</nasm>
+      <nasm Condition="$(Platform) == 'x64'">nasm.exe -f win64 -DNEAR -Ox -g</nasm>
+    </PropertyGroup>
+  </Target>
+
+  <Target Name="BuildNasmFiles" BeforeTargets="PreBuildEvent" DependsOnTargets="PrepareForBuild;FindNasm" Inputs="@(NasmCompile)" Outputs="@(NasmCompile->'$(IntDir)%(Filename).obj')">
+    <Exec Command='setlocal
+set PATH=$(nasmDir);%PATH%
+$(nasm) -o "$(IntDir)%(NasmCompile.Filename).obj" "%(NasmCompile.FullPath)"' />
+    <ItemGroup>
+      <Link Include="$(IntDir)%(NasmCompile.Filename).obj" />
+      <Lib Include="$(IntDir)%(NasmCompile.Filename).obj" />
+    </ItemGroup>
+  </Target>
+</Project>
diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj
new file mode 100644
--- /dev/null
+++ b/PCbuild/pcbuild.proj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CC9B93A2-439D-4058-9D29-6DCF43774405}</ProjectGuid>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+    <IncludeExtensions Condition="'$(IncludeExtensions)' == ''">true</IncludeExtensions>
+    <IncludeTests Condition="'$(IncludeTest)' == ''">true</IncludeTests>
+    <IncludeSSL Condition="'$(IncludeSSL)' == ''">true</IncludeSSL>
+  </PropertyGroup>
+
+  <ItemDefinitionGroup>
+    <Projects>
+      <Platform>$(Platform)</Platform>
+      <Configuration>$(Configuration)</Configuration>
+      <Properties></Properties>
+      <BuildTarget>Build</BuildTarget>
+      <CleanTarget>Clean</CleanTarget>
+      <CleanAllTarget>CleanAll</CleanAllTarget>
+      <BuildInParallel>true</BuildInParallel>
+    </Projects>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <!-- pythonXY.dll -->
+    <!--
+    Parallel build is explicitly disabled for this project because it
+    causes many conflicts between pythoncore and projects that depend
+    on pythoncore. Once the core DLL has been built, subsequent
+    projects will be built in parallel.
+    -->
+    <Projects Include="pythoncore.vcxproj">
+      <BuildInParallel>false</BuildInParallel>
+    </Projects>
+    <!-- python[w].exe -->
+    <Projects Include="python.vcxproj;pythonw.vcxproj" />
+    <!-- Extension modules -->
+    <ExtensionModules Include="_bsddb;bz2;_ctypes;_elementtree;_msi;_multiprocessing;_sqlite3;_tkinter;tix;pyexpat;select;unicodedata;winsound" />
+    <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds -->
+    <ExtensionModules Include="_socket" Condition="!$(IncludeSSL)" />
+    <ExtensionModules Include="_ssl;_hashlib" Condition="$(IncludeSSL)" />
+    <Projects Include="@(ExtensionModules->'%(Identity).vcxproj')" Condition="$(IncludeExtensions)" />
+    <!-- Test modules -->
+    <TestModules Include="_ctypes_test;_testcapi" />
+    <Projects Include="@(TestModules->'%(Identity).vcxproj')" Condition="$(IncludeTests)">
+      <!-- Disable parallel build for test modules -->
+      <BuildInParallel>false</BuildInParallel>
+    </Projects>
+  </ItemGroup>
+
+  <Target Name="Build">
+    <MSBuild Projects="@(Projects)"
+             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
+             BuildInParallel="%(BuildInParallel)"
+             Targets="%(BuildTarget)" />
+  </Target>
+
+  <Target Name="Clean">
+    <MSBuild Projects="@(Projects)"
+             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
+             BuildInParallel="%(BuildInParallel)"
+             StopOnFirstFailure="false"
+             Condition="%(CleanTarget) != ''"
+             Targets="%(CleanTarget)" />
+  </Target>
+
+  <Target Name="CleanAll">
+    <MSBuild Projects="@(Projects)"
+             Properties="Configuration=%(Configuration);Platform=%(Platform);%(Properties)"
+             BuildInParallel="%(BuildInParallel)"
+             StopOnFirstFailure="false"
+             Condition="%(CleanAllTarget) != ''"
+             Targets="%(CleanAllTarget)" />
+  </Target>
+
+  <Target Name="Rebuild" DependsOnTargets="Clean;Build" />
+  <Target Name="RebuildAll" DependsOnTargets="CleanAll;Build" />
+</Project>
diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln
--- a/PCbuild/pcbuild.sln
+++ b/PCbuild/pcbuild.sln
@@ -1,136 +1,65 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-		{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058} = {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_versioninfo", "make_versioninfo.vcproj", "{F0E0541E-F17D-430B-97C4-93ADF0DD284E}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
-	ProjectSection(ProjectDependencies) = postProject
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E} = {F0E0541E-F17D-430B-97C4-93ADF0DD284E}
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}
-		{C73F0EC1-358B-4177-940F-0846AC8B04CD} = {C73F0EC1-358B-4177-940F-0846AC8B04CD}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
-	ProjectSection(ProjectDependencies) = postProject
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}
-	EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "make_buildinfo", "make_buildinfo.vcproj", "{C73F0EC1-358B-4177-940F-0846AC8B04CD}"
-EndProject
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2010
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{553EC33E-9816-4996-A660-5D6186A0B0B3}"
 	ProjectSection(SolutionItems) = preProject
 		..\Modules\getbuildinfo.c = ..\Modules\getbuildinfo.c
-		readme.txt = readme.txt
 	EndProjectSection
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcxproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bsddb", "_bsddb.vcproj", "{B4D38F3F-68FB-42EC-A45D-E00657BB3627}"
-	ProjectSection(ProjectDependencies) = postProject
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythoncore", "pythoncore.vcxproj", "{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcproj", "{0E9791DB-593A-465F-98BC-681011311618}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pythonw", "pythonw.vcxproj", "{F4229CC3-873C-49AE-9729-DD308ED4CD4A}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes_test", "_ctypes_test.vcproj", "{9EC7190A-249F-4180-A900-548FDCF3055F}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "w9xpopen", "w9xpopen.vcxproj", "{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtree.vcproj", "{17E1E049-C309-4D79-843F-AE483C264AEA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winsound", "winsound.vcxproj", "{28B5D777-DDF2-4B6B-B34F-31D938813856}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_msi", "_msi.vcproj", "{31FFC478-7B4A-43E8-9954-8D03E2187E9C}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_bsddb", "_bsddb.vcxproj", "{B4D38F3F-68FB-42EC-A45D-E00657BB3627}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes", "_ctypes.vcxproj", "{0E9791DB-593A-465F-98BC-681011311618}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcproj", "{13CECB97-4119-4316-9D42-8534019A5A44}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-		{A1A295E5-463C-437F-81CA-1F32367685DA} = {A1A295E5-463C-437F-81CA-1F32367685DA}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ctypes_test", "_ctypes_test.vcxproj", "{9EC7190A-249F-4180-A900-548FDCF3055F}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
-		{86937F53-C189-40EF-8CE8-8759D8E7D480} = {86937F53-C189-40EF-8CE8-8759D8E7D480}
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_elementtree", "_elementtree.vcxproj", "{17E1E049-C309-4D79-843F-AE483C264AEA}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_msi", "_msi.vcxproj", "{31FFC478-7B4A-43E8-9954-8D03E2187E9C}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_tkinter", "_tkinter.vcproj", "{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_socket", "_socket.vcxproj", "{86937F53-C189-40EF-8CE8-8759D8E7D480}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bz2", "bz2.vcproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_sqlite3", "_sqlite3.vcxproj", "{13CECB97-4119-4316-9D42-8534019A5A44}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ssl", "_ssl.vcxproj", "{C6E20F84-3247-4AD6-B051-B073268F73BA}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcproj", "{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_testcapi", "_testcapi.vcxproj", "{6901D91C-6E48-4BB7-9FEC-700C8131DF1D}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_tkinter", "_tkinter.vcxproj", "{4946ECAC-2E69-4BF8-A90A-F5136F5094DF}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "bdist_wininst.vcproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bz2", "bz2.vcxproj", "{73FCD2BD-F133-46B7-8EC1-144CD82A59D5}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
-	ProjectSection(ProjectDependencies) = postProject
-		{B11D750F-CD1F-4A96-85CE-E69A5C5259F9} = {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "select", "select.vcxproj", "{18CAE28C-B454-46C1-87A0-493D91D97F03}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}"
-	ProjectSection(ProjectDependencies) = postProject
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31} = {6DE10744-E396-40A5-B4E2-1B69AA7C8D31}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unicodedata", "unicodedata.vcxproj", "{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
-	ProjectSection(ProjectDependencies) = postProject
-		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26} = {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}
-	EndProjectSection
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pyexpat", "pyexpat.vcxproj", "{D06B6426-4762-44CC-8BAD-D79052507F2F}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "kill_python", "kill_python.vcproj", "{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bdist_wininst", "..\PC\bdist_wininst\bdist_wininst.vcxproj", "{EB1C19C1-1F18-421E-9735-CAEE69DC6A3C}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_hashlib", "_hashlib.vcxproj", "{447F05A8-F581-4CAC-A466-5AC7936E207E}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite3", "sqlite3.vcxproj", "{A1A295E5-463C-437F-81CA-1F32367685DA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_multiprocessing", "_multiprocessing.vcxproj", "{9E48B300-37D1-11DD-8C41-005056C00008}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcl", "tcl.vcxproj", "{B5FD6F1D-129E-4BFF-9340-03606FAC7283}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tix", "tix.vcxproj", "{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tk", "tk.vcxproj", "{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay", "libeay.vcxproj", "{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay", "ssleay.vcxproj", "{10615B24-73BF-4EFA-93AA-236916321317}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -160,22 +89,6 @@
 		{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|Win32.Build.0 = Release|Win32
 		{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.ActiveCfg = Release|x64
 		{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release|x64.Build.0 = Release|x64
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.ActiveCfg = Debug|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|Win32.Build.0 = Debug|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.ActiveCfg = Debug|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug|x64.Build.0 = Debug|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|Win32.Build.0 = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGInstrument|x64.Build.0 = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|Win32.Build.0 = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.PGUpdate|x64.Build.0 = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|Win32.Build.0 = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.ActiveCfg = Release|Win32
-		{F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release|x64.Build.0 = Release|Win32
 		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.ActiveCfg = Debug|Win32
 		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|Win32.Build.0 = Debug|Win32
 		{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug|x64.ActiveCfg = Debug|x64
@@ -196,14 +109,14 @@
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|Win32.Build.0 = Debug|Win32
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|x64.ActiveCfg = Debug|x64
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug|x64.Build.0 = Debug|x64
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.Build.0 = PGInstrument|x64
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
-		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.Build.0 = PGUpdate|x64
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|Win32.Build.0 = Release|Win32
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.ActiveCfg = Release|x64
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGInstrument|x64.Build.0 = Release|x64
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|Win32.Build.0 = Release|Win32
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.ActiveCfg = Release|x64
+		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.PGUpdate|x64.Build.0 = Release|x64
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.ActiveCfg = Release|Win32
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|Win32.Build.0 = Release|Win32
 		{F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release|x64.ActiveCfg = Release|x64
@@ -292,14 +205,14 @@
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|Win32.Build.0 = Debug|Win32
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|x64.ActiveCfg = Debug|x64
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Debug|x64.Build.0 = Debug|x64
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.Build.0 = PGInstrument|Win32
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.ActiveCfg = PGInstrument|x64
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.Build.0 = PGInstrument|x64
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.Build.0 = PGUpdate|Win32
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.ActiveCfg = PGUpdate|x64
-		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.Build.0 = PGUpdate|x64
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|Win32.Build.0 = Release|Win32
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.ActiveCfg = Release|x64
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGInstrument|x64.Build.0 = Release|x64
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|Win32.Build.0 = Release|Win32
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.ActiveCfg = Release|x64
+		{9EC7190A-249F-4180-A900-548FDCF3055F}.PGUpdate|x64.Build.0 = Release|x64
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Release|Win32.ActiveCfg = Release|Win32
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Release|Win32.Build.0 = Release|Win32
 		{9EC7190A-249F-4180-A900-548FDCF3055F}.Release|x64.ActiveCfg = Release|x64
@@ -536,22 +449,86 @@
 		{9E48B300-37D1-11DD-8C41-005056C00008}.Release|Win32.Build.0 = Release|Win32
 		{9E48B300-37D1-11DD-8C41-005056C00008}.Release|x64.ActiveCfg = Release|x64
 		{9E48B300-37D1-11DD-8C41-005056C00008}.Release|x64.Build.0 = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|Win32.ActiveCfg = Debug|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|Win32.Build.0 = Debug|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|x64.ActiveCfg = Debug|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Debug|x64.Build.0 = Debug|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|Win32.ActiveCfg = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|Win32.Build.0 = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|x64.ActiveCfg = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGInstrument|x64.Build.0 = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|Win32.ActiveCfg = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|Win32.Build.0 = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|x64.ActiveCfg = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.PGUpdate|x64.Build.0 = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|Win32.ActiveCfg = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|Win32.Build.0 = Release|Win32
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.ActiveCfg = Release|x64
-		{6DE10744-E396-40A5-B4E2-1B69AA7C8D31}.Release|x64.Build.0 = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.ActiveCfg = Debug|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|Win32.Build.0 = Debug|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.ActiveCfg = Debug|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Debug|x64.Build.0 = Debug|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|Win32.Build.0 = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.ActiveCfg = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGInstrument|x64.Build.0 = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|Win32.Build.0 = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.ActiveCfg = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.PGUpdate|x64.Build.0 = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.ActiveCfg = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|Win32.Build.0 = Release|Win32
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.ActiveCfg = Release|x64
+		{B5FD6F1D-129E-4BFF-9340-03606FAC7283}.Release|x64.Build.0 = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.ActiveCfg = Debug|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|Win32.Build.0 = Debug|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.ActiveCfg = Debug|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Debug|x64.Build.0 = Debug|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|Win32.Build.0 = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.ActiveCfg = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGInstrument|x64.Build.0 = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|Win32.Build.0 = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.ActiveCfg = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.PGUpdate|x64.Build.0 = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.ActiveCfg = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|Win32.Build.0 = Release|Win32
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.ActiveCfg = Release|x64
+		{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}.Release|x64.Build.0 = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.ActiveCfg = Debug|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|Win32.Build.0 = Debug|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.ActiveCfg = Debug|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Debug|x64.Build.0 = Debug|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|Win32.Build.0 = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.ActiveCfg = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGInstrument|x64.Build.0 = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|Win32.Build.0 = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.ActiveCfg = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.PGUpdate|x64.Build.0 = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.ActiveCfg = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|Win32.Build.0 = Release|Win32
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.ActiveCfg = Release|x64
+		{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}.Release|x64.Build.0 = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|Win32.Build.0 = Debug|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|x64.ActiveCfg = Debug|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Debug|x64.Build.0 = Debug|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|Win32.Build.0 = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|x64.ActiveCfg = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGInstrument|x64.Build.0 = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|Win32.Build.0 = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|x64.ActiveCfg = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.PGUpdate|x64.Build.0 = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|Win32.ActiveCfg = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|Win32.Build.0 = Release|Win32
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|x64.ActiveCfg = Release|x64
+		{E5B04CC0-EB4C-42AB-B4DC-18EF95F864B0}.Release|x64.Build.0 = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.Debug|Win32.ActiveCfg = Debug|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.Debug|Win32.Build.0 = Debug|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.Debug|x64.ActiveCfg = Debug|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.Debug|x64.Build.0 = Debug|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|Win32.ActiveCfg = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|Win32.Build.0 = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|x64.ActiveCfg = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGInstrument|x64.Build.0 = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|Win32.ActiveCfg = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|Win32.Build.0 = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|x64.ActiveCfg = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.PGUpdate|x64.Build.0 = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.Release|Win32.ActiveCfg = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.Release|Win32.Build.0 = Release|Win32
+		{10615B24-73BF-4EFA-93AA-236916321317}.Release|x64.ActiveCfg = Release|x64
+		{10615B24-73BF-4EFA-93AA-236916321317}.Release|x64.Build.0 = Release|x64
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
diff --git a/PCbuild/pyexpat.vcxproj b/PCbuild/pyexpat.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/pyexpat.vcxproj
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <ProjectGuid>{D06B6426-4762-44CC-8BAD-D79052507F2F}</ProjectGuid>
+    <RootNamespace>pyexpat</RootNamespace>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(PySourcePath)Modules\expat;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>PYEXPAT_EXPORTS;HAVE_EXPAT_H;XML_NS;XML_DTD;BYTEORDER=1234;XML_CONTEXT_BYTES=1024;XML_STATIC;HAVE_MEMMOVE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\expat\xmlrole.h" />
+    <ClInclude Include="..\Modules\expat\xmltok.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\pyexpat.c" />
+    <ClCompile Include="..\Modules\expat\xmlparse.c" />
+    <ClCompile Include="..\Modules\expat\xmlrole.c" />
+    <ClCompile Include="..\Modules\expat\xmltok.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/pyexpat.vcxproj.filters b/PCbuild/pyexpat.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/pyexpat.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{ddae77a6-7ca0-4a1b-b71c-deea5f4025de}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{5af9d40c-fc46-4640-ad84-3d1dd34a71d7}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\expat\xmlrole.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\expat\xmltok.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\pyexpat.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmlparse.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmlrole.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\expat\xmltok.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props
new file mode 100644
--- /dev/null
+++ b/PCbuild/pyproject.props
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="Globals">
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
+    <OutDir>$(BuildPath)</OutDir>
+    <IntDir>$(SolutionDir)obj\$(ArchName)_$(Configuration)\$(ProjectName)\</IntDir>
+    <IntDir Condition="'$(Configuration)' == 'PGInstrument' or '$(Configuration)' == 'PGUpdate'">$(SolutionDir)obj\$(ArchName)\$(ProjectName)\</IntDir>
+    <TargetName Condition="'$(TargetName)' == ''">$(ProjectName)</TargetName>
+    <TargetName>$(TargetName)$(PyDebugExt)</TargetName>
+    <GenerateManifest Condition="'$(GenerateManifest)' == ''">false</GenerateManifest>
+    <EmbedManifest Condition="'$(EmbedManifest)' == ''">false</EmbedManifest>
+    <!-- For VS2008, we have to embed the manifest to be able to run -->
+    <GenerateManifest Condition="'$(PlatformToolset)' == 'v90'">true</GenerateManifest>
+    <EmbedManifest Condition="'$(PlatformToolset)' == 'v90'">true</EmbedManifest>
+    <SupportPGO Condition="'$(SupportPGO)' == ''">true</SupportPGO>
+    <SupportSigning Condition="'$(SupportSigning)' == ''">true</SupportSigning>
+    <SupportSigning Condition="'$(Configuration)' == 'Debug'">false</SupportSigning>
+    <SupportSigning Condition="'$(ConfigurationType)' == 'StaticLibrary'">false</SupportSigning>
+  </PropertyGroup>
+
+  <PropertyGroup>
+    <_DebugPreprocessorDefinition>NDEBUG;</_DebugPreprocessorDefinition>
+    <_DebugPreprocessorDefinition Condition="$(Configuration) == 'Debug'">_DEBUG;</_DebugPreprocessorDefinition>
+    <_PlatformPreprocessorDefinition>_WIN32;</_PlatformPreprocessorDefinition>
+    <_PlatformPreprocessorDefinition Condition="$(Platform) == 'x64'">_WIN64;_M_X64;</_PlatformPreprocessorDefinition>
+    <_PydPreprocessorDefinition Condition="$(TargetExt) == '.pyd'">Py_BUILD_CORE_MODULE;</_PydPreprocessorDefinition>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(PySourcePath)Include;$(PySourcePath)PC;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>WIN32;$(_PlatformPreprocessorDefinition)$(_DebugPreprocessorDefinition)$(_PydPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+
+      <Optimization>MaxSpeed</Optimization>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <StringPooling>true</StringPooling>
+      <ExceptionHandling></ExceptionHandling>
+      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <WarningLevel>Level3</WarningLevel>
+      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+      <CompileAs>Default</CompileAs>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <WholeProgramOptimization>true</WholeProgramOptimization>
+    </ClCompile>
+    <ClCompile Condition="$(Configuration) == 'Debug'">
+      <Optimization>Disabled</Optimization>
+      <WholeProgramOptimization>false</WholeProgramOptimization>
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+    </ClCompile>
+    <Link>
+      <AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>true</RandomizedBaseAddress>
+      <DataExecutionPrevention>true</DataExecutionPrevention>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <IgnoreSpecificDefaultLibraries>LIBC;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
+      <TargetMachine>MachineX86</TargetMachine>
+      <TargetMachine Condition="'$(Platform)' == 'x64'">MachineX64</TargetMachine>
+      <ProfileGuidedDatabase Condition="$(SupportPGO)">$(OutDir)$(TargetName).pgd</ProfileGuidedDatabase>
+      <LinkTimeCodeGeneration Condition="$(Configuration) == 'Release'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
+      <LinkTimeCodeGeneration Condition="$(SupportPGO) and $(Configuration) == 'PGInstrument'">PGInstrument</LinkTimeCodeGeneration>
+      <LinkTimeCodeGeneration Condition="$(SupportPGO) and $(Configuration) == 'PGUpdate'">PGUpdate</LinkTimeCodeGeneration>
+    </Link>
+    <Lib>
+      <LinkTimeCodeGeneration Condition="$(Configuration) == 'Release'">true</LinkTimeCodeGeneration>
+      <LinkTimeCodeGeneration Condition="$(SupportPGO) and $(Configuration) == 'PGInstrument'">true</LinkTimeCodeGeneration>
+      <LinkTimeCodeGeneration Condition="$(SupportPGO) and $(Configuration) == 'PGUpdate'">true</LinkTimeCodeGeneration>
+    </Lib>
+    <ResourceCompile>
+      <AdditionalIncludeDirectories>$(PySourcePath)PC;$(PySourcePath)Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>$(_DebugPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Midl>
+      <PreprocessorDefinitions>$(_DebugPreprocessorDefinition)%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TargetEnvironment Condition="'$(Platform)' == 'x64'">X64</TargetEnvironment>
+      <TypeLibraryName>$(OutDir)wininst.tlb</TypeLibraryName>
+      <HeaderFileName>
+      </HeaderFileName>
+    </Midl>
+  </ItemDefinitionGroup>
+
+  <Target Name="GeneratePythonNtRcH"
+          BeforeTargets="$(MakeVersionInfoBeforeTarget)"
+          Inputs="$(PySourcePath)Include\patchlevel.h"
+          Outputs="$(PySourcePath)PC\pythonnt_rc$(PyDebugExt).h">
+    <WriteLinesToFile File="$(PySourcePath)PC\pythonnt_rc$(PyDebugExt).h" Overwrite="true" Encoding="ascii"
+                      Lines='/* This file created by python.props /t:GeneratePythonNtRcH */
+#define FIELD3 $(Field3Value)
+#define MS_DLL_ID "$(SysWinVer)"
+#define PYTHON_DLL_NAME "$(PyDllName).dll"
+' />
+    <ItemGroup>
+        <FileWrites Include="$(PySourcePath)PC\pythonnt_rc$(PyDebugExt).h" />
+    </ItemGroup>
+  </Target>
+
+  <UsingTask TaskName="KillPython" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+    <ParameterGroup>
+      <FileName Required="true" />
+    </ParameterGroup>
+    <Task>
+      <Code Type="Fragment" Language="cs">
+<![CDATA[
+string fullPath = System.IO.Path.GetFullPath(FileName);
+Log.LogMessage("Looking for " + fullPath, MessageImportance.Normal);
+foreach (System.Diagnostics.Process p in System.Diagnostics.Process.GetProcesses()) {
+    try {
+        Log.LogMessage("Found running process: " + p.MainModule.FileName, MessageImportance.Low);
+        if (fullPath.Equals(System.IO.Path.GetFullPath(p.MainModule.FileName), StringComparison.OrdinalIgnoreCase)) {
+            Log.LogMessage("Terminating " + p.MainModule.FileName, MessageImportance.High);
+            p.Kill();
+        }
+    } catch {
+    }
+}
+]]>
+      </Code>
+    </Task>
+  </UsingTask>
+
+  <Target Name="KillPython" BeforeTargets="PrepareForBuild" Condition="'$(KillPython)' == 'true'">
+    <Message Text="Killing any running python.exe instances..." Importance="high" />
+    <KillPython FileName="$(OutDir)python$(PyDebugExt).exe" />
+  </Target>
+
+  <!--
+  A default target to handle msbuild pcbuild.proj /t:CleanAll.
+
+  Some externals projects don't respond to /t:Clean, so we invoke
+  CleanAll on them when we really want to clean up.
+  -->
+  <Target Name="CleanAll" DependsOnTargets="Clean">
+    <MSBuild Projects="@(ProjectReference->'%(FullPath)')"
+             Properties="Configuration=$(Configuration);Platform=$(Platform)"
+             BuildInParallel="true"
+             StopOnFirstFailure="false"
+             Condition="Exists(%(FullPath))"
+             Targets="CleanAll" />
+  </Target>
+
+  <PropertyGroup Condition="'$(SigningCertificate)' != '' and $(SupportSigning)">
+    <SignToolPath Condition="'$(SignToolPath)' == '' or !Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots at KitsRoot81)\bin\x86\signtool.exe</SignToolPath>
+    <SignToolPath Condition="!Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Kits\Installed Roots at KitsRoot)\bin\x86\signtool.exe</SignToolPath>
+    <SignToolPath Condition="!Exists($(SignToolPath))">$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A at InstallationFolder)\Bin\signtool.exe</SignToolPath>
+    <_SignCommand Condition="Exists($(SignToolPath))">"$(SignToolPath)" sign /q /n "$(SigningCertificate)" /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Python $(PythonVersion)"</_SignCommand>
+  </PropertyGroup>
+
+  <Target Name="_SignBuild" AfterTargets="AfterBuild" Condition="'$(SigningCertificate)' != '' and $(SupportSigning)">
+    <Error Text="Unable to locate signtool.exe. Set /p:SignToolPath and rebuild" Condition="'$(_SignCommand)' == ''" />
+    <Exec Command='$(_SignCommand) "$(TargetPath)" || $(_SignCommand) "$(TargetPath)" || $(_SignCommand) "$(TargetPath)"' ContinueOnError="false" />
+  </Target>
+</Project>
diff --git a/PCbuild/python.props b/PCbuild/python.props
new file mode 100644
--- /dev/null
+++ b/PCbuild/python.props
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
+    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
+    <!--
+    Use only MSVC 9.0, unless explicitly overridden
+    -->
+    <PlatformToolset Condition="'$(PlatformToolset)' == ''">v90</PlatformToolset>
+
+    <!--
+    Convincing MSVC/MSBuild to prefer our platform names is too difficult,
+    so we define our own constant ArchName and use wherever we need it.
+    -->
+    <ArchName Condition="'$(ArchName)' == '' and $(Platform) == 'x64'">amd64</ArchName>
+    <ArchName Condition="'$(ArchName)' == ''">win32</ArchName>
+    <ArchName Condition="$(Configuration) == 'PGInstrument' or $(Configuration) == 'PGUpdate'">$(ArchName)-pgo</ArchName>
+
+    <!-- Root directory of the repository -->
+    <PySourcePath Condition="'$(PySourcePath)' == ''">$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)\..\))</PySourcePath>
+    <PySourcePath Condition="!HasTrailingSlash($(PySourcePath))">$(PySourcePath)\</PySourcePath>
+
+    <!-- Directory where build outputs are put -->
+    <BuildPath Condition="'$(BuildPath)' == ''">$(PySourcePath)PCBuild\</BuildPath>
+    <BuildPath Condition="'$(ArchName)' != 'win32'">$(BuildPath)\$(ArchName)\</BuildPath>
+    <BuildPath Condition="!HasTrailingSlash($(BuildPath))">$(BuildPath)\</BuildPath>
+
+    <!-- Directories of external projects. tcltk is handled in tcltk.props -->
+    <ExternalsDir>$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))</ExternalsDir>
+    <sqlite3Dir>$(ExternalsDir)sqlite-3.6.21\</sqlite3Dir>
+    <bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
+    <bsddbDir>$(ExternalsDir)db-4.7.25.0</bsddbDir>
+    <opensslDir>$(ExternalsDir)openssl-1.0.2a\</opensslDir>
+    <nasmDir>$(ExternalsDir)\nasm-2.11.06\</nasmDir>
+
+    <!-- Suffix for all binaries when building for debug -->
+    <PyDebugExt Condition="'$(PyDebugExt)' == '' and $(Configuration) == 'Debug'">_d</PyDebugExt>
+
+    <!-- Full path of the resulting python.exe binary -->
+    <PythonExe Condition="'$(PythonExe)' == ''">$(BuildPath)python$(PyDebugExt).exe</PythonExe>
+
+    <!--
+    Read version information from Include\patchlevel.h. The following properties are set:
+
+        MajorVersionNumber  -   the '3' in '3.5.2a1'
+        MinorVersionNumber  -   the '5' in '3.5.2a1'
+        MicroVersionNumber  -   the '2' in '3.5.2a1'
+        ReleaseSerial       -   the '1' in '3.5.2a1'
+        ReleaseLevelName    -   the 'a1' in '3.5.2a1'
+        PythonVersionNumber -   '3.5.2' for '3.5.2a1'
+        PythonVersion       -   '3.5.2a1'
+        PythonVersionHex    -   0x030502a1 for '3.5.2a1'
+        ReleaseLevelNumber  -   10 for alpha, 11 for beta, 12 for RC (gamma), and 15 for final
+        Field3Value         -   2101 for '3.5.2a1' (== 1000*2 + 10*10 ('a') + 1)
+    -->
+    <_PatchLevelContent>$([System.IO.File]::ReadAllText(`$(PySourcePath)Include\patchlevel.h`))</_PatchLevelContent>
+    <MajorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MAJOR_VERSION\s+(\d+)`).Groups[1].Value)</MajorVersionNumber>
+    <MinorVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MINOR_VERSION\s+(\d+)`).Groups[1].Value)</MinorVersionNumber>
+    <MicroVersionNumber>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_MICRO_VERSION\s+(\d+)`).Groups[1].Value)</MicroVersionNumber>
+    <_ReleaseLevel>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_LEVEL\s+PY_RELEASE_LEVEL_(\w+)`).Groups[1].Value)</_ReleaseLevel>
+    <ReleaseSerial>$([System.Text.RegularExpressions.Regex]::Match($(_PatchLevelContent), `define\s+PY_RELEASE_SERIAL\s+(\d+)`).Groups[1].Value)</ReleaseSerial>
+    <ReleaseLevelNumber>15</ReleaseLevelNumber>
+    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'ALPHA'">10</ReleaseLevelNumber>
+    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'BETA'">11</ReleaseLevelNumber>
+    <ReleaseLevelNumber Condition="$(_ReleaseLevel) == 'GAMMA'">12</ReleaseLevelNumber>
+    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'ALPHA'">a$(ReleaseSerial)</ReleaseLevelName>
+    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'BETA'">b$(ReleaseSerial)</ReleaseLevelName>
+    <ReleaseLevelName Condition="$(_ReleaseLevel) == 'GAMMA'">rc$(ReleaseSerial)</ReleaseLevelName>
+
+    <PythonVersionNumber>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)</PythonVersionNumber>
+    <PythonVersion>$(MajorVersionNumber).$(MinorVersionNumber).$(MicroVersionNumber)$(ReleaseLevelName)</PythonVersion>
+    <PythonVersionHex>$([msbuild]::BitwiseOr(
+        $([msbuild]::Multiply($(MajorVersionNumber), 16777216)),
+        $([msbuild]::BitwiseOr(
+            $([msbuild]::Multiply($(MinorVersionNumber), 65536)),
+            $([msbuild]::BitwiseOr(
+                $([msbuild]::Multiply($(MicroVersionNumber), 256)),
+                $([msbuild]::BitwiseOr(
+                    $([msbuild]::Multiply($(ReleaseLevelNumber), 16)),
+                    $(ReleaseSerial)
+                ))
+            ))
+        ))
+    ))</PythonVersionHex>
+    <Field3Value>$([msbuild]::Add(
+        $(ReleaseSerial),
+        $([msbuild]::Add(
+            $([msbuild]::Multiply($(ReleaseLevelNumber), 10)),
+            $([msbuild]::Multiply($(MicroVersionNumber), 1000))
+        ))
+    ))</Field3Value>
+
+    <!-- The name of the resulting pythonXY.dll (without the extension) -->
+    <PyDllName>python$(MajorVersionNumber)$(MinorVersionNumber)$(PyDebugExt)</PyDllName>
+
+    <!-- The version and platform tag to include in .pyd filenames -->
+    <PydTag Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win32</PydTag>
+    <PydTag Condition="$(Platform) == 'x64'">.cp$(MajorVersionNumber)$(MinorVersionNumber)-win_amd64</PydTag>
+
+    <!-- The version number for sys.winver -->
+    <SysWinVer>$(MajorVersionNumber).$(MinorVersionNumber)</SysWinVer>
+    <SysWinVer Condition="$(Platform) == 'Win32' or $(Platform) == 'x86'">$(SysWinVer)-32</SysWinVer>
+  </PropertyGroup>
+
+  <!-- Displays the calculated version info -->
+  <Target Name="ShowVersionInfo">
+    <Message Importance="high" Text="PythonVersionNumber: $(PythonVersionNumber)" />
+    <Message Importance="high" Text="PythonVersion:       $(PythonVersion)" />
+    <Message Importance="high" Text="$([System.String]::Format(`PythonVersionHex:    0x{0:x}`, $([System.UInt32]::Parse($(PythonVersionHex)))))" />
+    <Message Importance="high" Text="Field3Value:         $(Field3Value)" />
+  </Target>
+</Project>
diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/python.vcxproj
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}</ProjectGuid>
+    <MakeVersionInfoBeforeTarget>ClCompile</MakeVersionInfoBeforeTarget>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <StackReserveSize>2000000</StackReserveSize>
+      <BaseAddress>0x1d000000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <None Include="..\PC\pycon.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_exe.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\python.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="w9xpopen.vcxproj">
+      <Project>{e9e0a1f6-0009-4e8c-b8f8-1b8f5d49a058}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+  <Target Name="GeneratePythonBat" AfterTargets="AfterBuild">
+    <PropertyGroup>
+      <_Content>@rem This script invokes the most recently built Python with all arguments
+ at rem passed through to the interpreter.  This file is generated by the
+ at rem build process and any changes *will* be thrown away by the next
+ at rem rebuild.
+ at rem This is only meant as a convenience for developing CPython
+ at rem and using it outside of that context is ill-advised.
+ at echo Running $(Configuration)^|$(Platform) interpreter...
+@"$(OutDir)python$(PyDebugExt).exe" %*
+</_Content>
+      <_ExistingContent Condition="Exists('$(PySourcePath)python.bat')">$([System.IO.File]::ReadAllText('$(PySourcePath)python.bat'))</_ExistingContent>
+    </PropertyGroup>
+    <WriteLinesToFile File="$(PySourcePath)python.bat" Lines="$(_Content)" Overwrite="true" Condition="'$(_Content)' != '$(_ExistingContent)'" />
+  </Target>
+</Project>
diff --git a/PCbuild/python.vcxproj.filters b/PCbuild/python.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/python.vcxproj.filters
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{2d690795-de83-4a33-8235-3c5dafe45efa}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{8b010a19-5b29-45f1-a8a0-f672e2bbb11a}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="..\PC\pycon.ico">
+      <Filter>Resource Files</Filter>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_exe.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\python.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/pythoncore.vcxproj
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}</ProjectGuid>
+    <RootNamespace>pythoncore</RootNamespace>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <PropertyGroup>
+    <MakeVersionInfoBeforeTarget>ClCompile</MakeVersionInfoBeforeTarget>
+    <KillPython>true</KillPython>
+  </PropertyGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+    <TargetName>$(PyDllName)</TargetName>
+  </PropertyGroup>
+  <PropertyGroup>
+    <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalOptions>/Zm200  %(AdditionalOptions)</AdditionalOptions>
+      <AdditionalIncludeDirectories>$(PySourcePath)Python;$(PySourcePath)Modules\zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>_USRDLL;Py_BUILD_CORE;Py_ENABLE_SHARED;MS_DLL_ID="$(SysWinVer)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1e000000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Include\abstract.h" />
+    <ClInclude Include="..\Include\asdl.h" />
+    <ClInclude Include="..\Include\ast.h" />
+    <ClInclude Include="..\Include\bitset.h" />
+    <ClInclude Include="..\Include\boolobject.h" />
+    <ClInclude Include="..\Include\bufferobject.h" />
+    <ClInclude Include="..\Include\bytes_methods.h" />
+    <ClInclude Include="..\Include\bytearrayobject.h" />
+    <ClInclude Include="..\Include\bytesobject.h" />
+    <ClInclude Include="..\Include\cellobject.h" />
+    <ClInclude Include="..\Include\ceval.h" />
+    <ClInclude Include="..\Include\classobject.h" />
+    <ClInclude Include="..\Include\cobject.h" />
+    <ClInclude Include="..\Include\code.h" />
+    <ClInclude Include="..\Include\codecs.h" />
+    <ClInclude Include="..\Include\compile.h" />
+    <ClInclude Include="..\Include\complexobject.h" />
+    <ClInclude Include="..\Include\cStringIO.h" />
+    <ClInclude Include="..\Include\datetime.h" />
+    <ClInclude Include="..\Include\descrobject.h" />
+    <ClInclude Include="..\Include\dictobject.h" />
+    <ClInclude Include="..\Include\dtoa.h" />
+    <ClInclude Include="..\Include\enumobject.h" />
+    <ClInclude Include="..\Include\errcode.h" />
+    <ClInclude Include="..\Include\eval.h" />
+    <ClInclude Include="..\Include\fileobject.h" />
+    <ClInclude Include="..\Include\floatobject.h" />
+    <ClInclude Include="..\Include\frameobject.h" />
+    <ClInclude Include="..\Include\funcobject.h" />
+    <ClInclude Include="..\Include\genobject.h" />
+    <ClInclude Include="..\Include\graminit.h" />
+    <ClInclude Include="..\Include\grammar.h" />
+    <ClInclude Include="..\Include\import.h" />
+    <ClInclude Include="..\Include\intobject.h" />
+    <ClInclude Include="..\Include\intrcheck.h" />
+    <ClInclude Include="..\Include\iterobject.h" />
+    <ClInclude Include="..\Include\listobject.h" />
+    <ClInclude Include="..\Include\longintrepr.h" />
+    <ClInclude Include="..\Include\longobject.h" />
+    <ClInclude Include="..\Include\marshal.h" />
+    <ClInclude Include="..\Include\memoryobject.h" />
+    <ClInclude Include="..\Include\metagrammar.h" />
+    <ClInclude Include="..\Include\methodobject.h" />
+    <ClInclude Include="..\Include\modsupport.h" />
+    <ClInclude Include="..\Include\moduleobject.h" />
+    <ClInclude Include="..\Include\node.h" />
+    <ClInclude Include="..\Include\object.h" />
+    <ClInclude Include="..\Include\objimpl.h" />
+    <ClInclude Include="..\Include\opcode.h" />
+    <ClInclude Include="..\Include\osdefs.h" />
+    <ClInclude Include="..\Include\parsetok.h" />
+    <ClInclude Include="..\Include\patchlevel.h" />
+    <ClInclude Include="..\Include\pgen.h" />
+    <ClInclude Include="..\Include\pgenheaders.h" />
+    <ClInclude Include="..\Include\py_curses.h" />
+    <ClInclude Include="..\Include\pyarena.h" />
+    <ClInclude Include="..\Include\pycapsule.h" />
+    <ClInclude Include="..\Include\pyctype.h" />
+    <ClInclude Include="..\Include\pydebug.h" />
+    <ClInclude Include="..\Include\pyerrors.h" />
+    <ClInclude Include="..\Include\pyexpat.h" />
+    <ClInclude Include="..\Include\pyfpe.h" />
+    <ClInclude Include="..\Include\pygetopt.h" />
+    <ClInclude Include="..\Include\pymactoolbox.h" />
+    <ClInclude Include="..\Include\pymath.h" />
+    <ClInclude Include="..\Include\pymem.h" />
+    <ClInclude Include="..\Include\pyport.h" />
+    <ClInclude Include="..\Include\pystate.h" />
+    <ClInclude Include="..\Include\pystrcmp.h" />
+    <ClInclude Include="..\Include\pystrtod.h" />
+    <ClInclude Include="..\Include\Python-ast.h" />
+    <ClInclude Include="..\Include\Python.h" />
+    <ClInclude Include="..\Include\pythonrun.h" />
+    <ClInclude Include="..\Include\pythread.h" />
+    <ClInclude Include="..\Include\rangeobject.h" />
+    <ClInclude Include="..\Include\setobject.h" />
+    <ClInclude Include="..\Include\sliceobject.h" />
+    <ClInclude Include="..\Include\stringobject.h" />
+    <ClInclude Include="..\Include\structmember.h" />
+    <ClInclude Include="..\Include\structseq.h" />
+    <ClInclude Include="..\Include\symtable.h" />
+    <ClInclude Include="..\Include\sysmodule.h" />
+    <ClInclude Include="..\Include\timefuncs.h" />
+    <ClInclude Include="..\Include\token.h" />
+    <ClInclude Include="..\Include\traceback.h" />
+    <ClInclude Include="..\Include\tupleobject.h" />
+    <ClInclude Include="..\Include\ucnhash.h" />
+    <ClInclude Include="..\Include\unicodeobject.h" />
+    <ClInclude Include="..\Include\weakrefobject.h" />
+    <ClInclude Include="..\Modules\_math.h" />
+    <ClInclude Include="..\Modules\md5.h" />
+    <ClInclude Include="..\Modules\rotatingtree.h" />
+    <ClInclude Include="..\Modules\zlib\crc32.h" />
+    <ClInclude Include="..\Modules\zlib\deflate.h" />
+    <ClInclude Include="..\Modules\zlib\inffast.h" />
+    <ClInclude Include="..\Modules\zlib\inffixed.h" />
+    <ClInclude Include="..\Modules\zlib\inflate.h" />
+    <ClInclude Include="..\Modules\zlib\inftrees.h" />
+    <ClInclude Include="..\Modules\zlib\trees.h" />
+    <ClInclude Include="..\Modules\zlib\zconf.h" />
+    <ClInclude Include="..\Modules\zlib\zconf.in.h" />
+    <ClInclude Include="..\Modules\zlib\zlib.h" />
+    <ClInclude Include="..\Modules\zlib\zutil.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\alg_jisx0201.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\cjkcodecs.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\emu_jisx0213_2000.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_cn.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_hk.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_jisx0213_pair.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_jp.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_kr.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_tw.h" />
+    <ClInclude Include="..\Modules\cjkcodecs\multibytecodec.h" />
+    <ClInclude Include="..\Modules\_io\_iomodule.h" />
+    <ClInclude Include="..\Objects\stringlib\count.h" />
+    <ClInclude Include="..\Objects\stringlib\fastsearch.h" />
+    <ClInclude Include="..\Objects\stringlib\find.h" />
+    <ClInclude Include="..\Objects\stringlib\partition.h" />
+    <ClInclude Include="..\Objects\stringlib\split.h" />
+    <ClInclude Include="..\Objects\unicodetype_db.h" />
+    <ClInclude Include="..\Parser\parser.h" />
+    <ClInclude Include="..\Parser\tokenizer.h" />
+    <ClInclude Include="..\PC\errmap.h" />
+    <ClInclude Include="..\PC\pyconfig.h" />
+    <ClInclude Include="..\Python\importdl.h" />
+    <ClInclude Include="..\Python\thread_nt.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_bisectmodule.c" />
+    <ClCompile Include="..\Modules\_codecsmodule.c" />
+    <ClCompile Include="..\Modules\_collectionsmodule.c" />
+    <ClCompile Include="..\Modules\_csv.c" />
+    <ClCompile Include="..\Modules\_functoolsmodule.c" />
+    <ClCompile Include="..\Modules\_heapqmodule.c" />
+    <ClCompile Include="..\Modules\_hotshot.c" />
+    <ClCompile Include="..\Modules\_json.c" />
+    <ClCompile Include="..\Modules\_localemodule.c" />
+    <ClCompile Include="..\Modules\_lsprof.c" />
+    <ClCompile Include="..\Modules\_math.c" />
+    <ClCompile Include="..\Modules\_randommodule.c" />
+    <ClCompile Include="..\Modules\_sre.c" />
+    <ClCompile Include="..\Modules\_struct.c" />
+    <ClCompile Include="..\Modules\_weakref.c" />
+    <ClCompile Include="..\Modules\arraymodule.c" />
+    <ClCompile Include="..\Modules\audioop.c" />
+    <ClCompile Include="..\Modules\binascii.c" />
+    <ClCompile Include="..\Modules\cmathmodule.c" />
+    <ClCompile Include="..\Modules\cPickle.c" />
+    <ClCompile Include="..\Modules\cStringIO.c" />
+    <ClCompile Include="..\Modules\datetimemodule.c" />
+    <ClCompile Include="..\Modules\errnomodule.c" />
+    <ClCompile Include="..\Modules\future_builtins.c" />
+    <ClCompile Include="..\Modules\gcmodule.c" />
+    <ClCompile Include="..\Modules\imageop.c" />
+    <ClCompile Include="..\Modules\itertoolsmodule.c" />
+    <ClCompile Include="..\Modules\main.c" />
+    <ClCompile Include="..\Modules\mathmodule.c" />
+    <ClCompile Include="..\Modules\md5.c" />
+    <ClCompile Include="..\Modules\md5module.c" />
+    <ClCompile Include="..\Modules\mmapmodule.c" />
+    <ClCompile Include="..\Modules\operator.c" />
+    <ClCompile Include="..\Modules\parsermodule.c" />
+    <ClCompile Include="..\Modules\posixmodule.c" />
+    <ClCompile Include="..\Modules\rotatingtree.c" />
+    <ClCompile Include="..\Modules\sha256module.c" />
+    <ClCompile Include="..\Modules\sha512module.c" />
+    <ClCompile Include="..\Modules\shamodule.c" />
+    <ClCompile Include="..\Modules\signalmodule.c" />
+    <ClCompile Include="..\Modules\stropmodule.c" />
+    <ClCompile Include="..\Modules\symtablemodule.c" />
+    <ClCompile Include="..\Modules\threadmodule.c" />
+    <ClCompile Include="..\Modules\timemodule.c" />
+    <ClCompile Include="..\Modules\xxsubtype.c" />
+    <ClCompile Include="..\Modules\zipimport.c" />
+    <ClCompile Include="..\Modules\zlibmodule.c" />
+    <ClCompile Include="..\Modules\zlib\adler32.c" />
+    <ClCompile Include="..\Modules\zlib\compress.c" />
+    <ClCompile Include="..\Modules\zlib\crc32.c" />
+    <ClCompile Include="..\Modules\zlib\deflate.c" />
+    <ClCompile Include="..\Modules\zlib\gzclose.c" />
+    <ClCompile Include="..\Modules\zlib\gzlib.c" />
+    <ClCompile Include="..\Modules\zlib\gzread.c" />
+    <ClCompile Include="..\Modules\zlib\gzwrite.c" />
+    <ClCompile Include="..\Modules\zlib\infback.c" />
+    <ClCompile Include="..\Modules\zlib\inffast.c" />
+    <ClCompile Include="..\Modules\zlib\inflate.c" />
+    <ClCompile Include="..\Modules\zlib\inftrees.c" />
+    <ClCompile Include="..\Modules\zlib\trees.c" />
+    <ClCompile Include="..\Modules\zlib\uncompr.c" />
+    <ClCompile Include="..\Modules\zlib\zutil.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_cn.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_hk.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_iso2022.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_jp.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_kr.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_tw.c" />
+    <ClCompile Include="..\Modules\cjkcodecs\multibytecodec.c" />
+    <ClCompile Include="..\Modules\_io\_iomodule.c" />
+    <ClCompile Include="..\Modules\_io\bufferedio.c" />
+    <ClCompile Include="..\Modules\_io\bytesio.c" />
+    <ClCompile Include="..\Modules\_io\fileio.c" />
+    <ClCompile Include="..\Modules\_io\iobase.c" />
+    <ClCompile Include="..\Modules\_io\stringio.c" />
+    <ClCompile Include="..\Modules\_io\textio.c" />
+    <ClCompile Include="..\Objects\abstract.c" />
+    <ClCompile Include="..\Objects\boolobject.c" />
+    <ClCompile Include="..\Objects\bufferobject.c" />
+    <ClCompile Include="..\Objects\bytes_methods.c" />
+    <ClCompile Include="..\Objects\bytearrayobject.c" />
+    <ClCompile Include="..\Objects\capsule.c" />
+    <ClCompile Include="..\Objects\cellobject.c" />
+    <ClCompile Include="..\Objects\classobject.c" />
+    <ClCompile Include="..\Objects\cobject.c" />
+    <ClCompile Include="..\Objects\codeobject.c" />
+    <ClCompile Include="..\Objects\complexobject.c" />
+    <ClCompile Include="..\Objects\descrobject.c" />
+    <ClCompile Include="..\Objects\dictobject.c" />
+    <ClCompile Include="..\Objects\enumobject.c" />
+    <ClCompile Include="..\Objects\exceptions.c" />
+    <ClCompile Include="..\Objects\fileobject.c" />
+    <ClCompile Include="..\Objects\floatobject.c" />
+    <ClCompile Include="..\Objects\frameobject.c" />
+    <ClCompile Include="..\Objects\funcobject.c" />
+    <ClCompile Include="..\Objects\genobject.c" />
+    <ClCompile Include="..\Objects\intobject.c" />
+    <ClCompile Include="..\Objects\iterobject.c" />
+    <ClCompile Include="..\Objects\listobject.c" />
+    <ClCompile Include="..\Objects\longobject.c" />
+    <ClCompile Include="..\Objects\memoryobject.c" />
+    <ClCompile Include="..\Objects\methodobject.c" />
+    <ClCompile Include="..\Objects\moduleobject.c" />
+    <ClCompile Include="..\Objects\object.c" />
+    <ClCompile Include="..\Objects\obmalloc.c" />
+    <ClCompile Include="..\Objects\rangeobject.c" />
+    <ClCompile Include="..\Objects\setobject.c" />
+    <ClCompile Include="..\Objects\sliceobject.c" />
+    <ClCompile Include="..\Objects\stringobject.c" />
+    <ClCompile Include="..\Objects\structseq.c" />
+    <ClCompile Include="..\Objects\tupleobject.c" />
+    <ClCompile Include="..\Objects\typeobject.c" />
+    <ClCompile Include="..\Objects\unicodectype.c" />
+    <ClCompile Include="..\Objects\unicodeobject.c" />
+    <ClCompile Include="..\Objects\weakrefobject.c" />
+    <ClCompile Include="..\Parser\acceler.c" />
+    <ClCompile Include="..\Parser\bitset.c" />
+    <ClCompile Include="..\Parser\firstsets.c" />
+    <ClCompile Include="..\Parser\grammar.c" />
+    <ClCompile Include="..\Parser\grammar1.c" />
+    <ClCompile Include="..\Parser\listnode.c" />
+    <ClCompile Include="..\Parser\metagrammar.c" />
+    <ClCompile Include="..\Parser\myreadline.c" />
+    <ClCompile Include="..\Parser\node.c" />
+    <ClCompile Include="..\Parser\parser.c" />
+    <ClCompile Include="..\Parser\parsetok.c" />
+    <ClCompile Include="..\Parser\tokenizer.c" />
+    <ClCompile Include="..\PC\_subprocess.c" />
+    <ClCompile Include="..\PC\_winreg.c" />
+    <ClCompile Include="..\PC\config.c" />
+    <ClCompile Include="..\PC\dl_nt.c" />
+    <ClCompile Include="..\PC\getpathp.c" />
+    <ClCompile Include="..\PC\import_nt.c" />
+    <ClCompile Include="..\PC\msvcrtmodule.c" />
+    <ClCompile Include="..\Python\_warnings.c" />
+    <ClCompile Include="..\Python\asdl.c" />
+    <ClCompile Include="..\Python\ast.c" />
+    <ClCompile Include="..\Python\bltinmodule.c" />
+    <ClCompile Include="..\Python\ceval.c" />
+    <ClCompile Include="..\Python\codecs.c" />
+    <ClCompile Include="..\Python\compile.c" />
+    <ClCompile Include="..\Python\dtoa.c" />
+    <ClCompile Include="..\Python\dynload_win.c" />
+    <ClCompile Include="..\Python\errors.c" />
+    <ClCompile Include="..\Python\formatter_string.c" />
+    <ClCompile Include="..\Python\formatter_unicode.c" />
+    <ClCompile Include="..\Python\frozen.c" />
+    <ClCompile Include="..\Python\future.c" />
+    <ClCompile Include="..\Python\getargs.c" />
+    <ClCompile Include="..\Python\getcompiler.c" />
+    <ClCompile Include="..\Python\getcopyright.c" />
+    <ClCompile Include="..\Python\getopt.c" />
+    <ClCompile Include="..\Python\getplatform.c" />
+    <ClCompile Include="..\Python\getversion.c" />
+    <ClCompile Include="..\Python\graminit.c" />
+    <ClCompile Include="..\Python\import.c" />
+    <ClCompile Include="..\Python\importdl.c" />
+    <ClCompile Include="..\Python\marshal.c" />
+    <ClCompile Include="..\Python\modsupport.c" />
+    <ClCompile Include="..\Python\mysnprintf.c" />
+    <ClCompile Include="..\Python\mystrtoul.c" />
+    <ClCompile Include="..\Python\peephole.c" />
+    <ClCompile Include="..\Python\pyarena.c" />
+    <ClCompile Include="..\Python\pyctype.c" />
+    <ClCompile Include="..\Python\pyfpe.c" />
+    <ClCompile Include="..\Python\pymath.c" />
+    <ClCompile Include="..\Python\pystate.c" />
+    <ClCompile Include="..\Python\pystrcmp.c" />
+    <ClCompile Include="..\Python\pystrtod.c" />
+    <ClCompile Include="..\Python\Python-ast.c" />
+    <ClCompile Include="..\Python\pythonrun.c" />
+    <ClCompile Include="..\Python\random.c" />
+    <ClCompile Include="..\Python\structmember.c" />
+    <ClCompile Include="..\Python\symtable.c" />
+    <ClCompile Include="..\Python\sysmodule.c" />
+    <ClCompile Include="..\Python\thread.c" />
+    <ClCompile Include="..\Python\traceback.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_nt.rc" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+  <Target Name="_GetBuildInfo" BeforeTargets="PrepareForBuild">
+    <Exec Command="hg id -b > "$(IntDir)hgbranch.txt"" ContinueOnError="true" />
+    <Exec Command="hg id -i > "$(IntDir)hgversion.txt"" ContinueOnError="true" />
+    <Exec Command="hg id -t > "$(IntDir)hgtag.txt"" ContinueOnError="true" />
+    <PropertyGroup>
+      <HgBranch Condition="Exists('$(IntDir)hgbranch.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgbranch.txt').Trim())</HgBranch>
+      <HgVersion Condition="Exists('$(IntDir)hgversion.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgversion.txt').Trim())</HgVersion>
+      <HgTag Condition="Exists('$(IntDir)hgtag.txt')">$([System.IO.File]::ReadAllText('$(IntDir)hgtag.txt').Trim())</HgTag>
+    </PropertyGroup>
+    <ItemGroup>
+      <ClCompile Include="..\Modules\getbuildinfo.c">
+        <PreprocessorDefinitions>HGVERSION="$(HgVersion)";HGTAG="$(HgTag)";HGBRANCH="$(HgBranch)";%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      </ClCompile>
+    </ItemGroup>
+  </Target>
+  <Target Name="_WarnAboutToolset" BeforeTargets="PrepareForBuild" Condition="$(PlatformToolset) != 'v90'">
+    <Warning Text="Toolset $(PlatformToolset) is not used for official builds. Your build may have errors or incompatibilities." />
+  </Target>
+</Project>
diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/pythoncore.vcxproj.filters
@@ -0,0 +1,953 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Include">
+      <UniqueIdentifier>{086b0afb-270c-4603-a02a-63d46f0b2b92}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Modules">
+      <UniqueIdentifier>{8e81609f-13ca-4eae-9fdb-f8af20c710c7}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Modules\_io">
+      <UniqueIdentifier>{8787c5bb-bab6-4586-a42e-4a27c7b3ffb6}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Modules\zlib">
+      <UniqueIdentifier>{5d6d2d6c-9e61-4a1d-b0b2-5cc2f446d69e}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Modules\cjkcodecs">
+      <UniqueIdentifier>{9f12c4b1-322e-431e-abf1-e02550f50032}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Objects">
+      <UniqueIdentifier>{ab29a558-143d-4fe7-a039-b431fb429856}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Parser">
+      <UniqueIdentifier>{97349fee-0abf-48b0-a8f5-771bf39b8aee}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="PC">
+      <UniqueIdentifier>{ea21fc98-de89-4746-a979-c5616964329a}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Python">
+      <UniqueIdentifier>{f2696406-14bc-48bd-90c5-e93ab82a21ac}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{c3e03a5c-56c7-45fd-8543-e5d2326b907d}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Include\abstract.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\asdl.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\ast.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\bitset.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\boolobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\bufferobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\bytes_methods.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\bytearrayobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\bytesobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\cellobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\ceval.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\classobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\cobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\code.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\codecs.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\compile.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\complexobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\cStringIO.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\datetime.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\descrobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\dictobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\dtoa.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\enumobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\errcode.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\eval.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\fileobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\floatobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\frameobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\funcobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\genobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\graminit.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\grammar.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\import.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\intobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\intrcheck.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\iterobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\listobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\longintrepr.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\longobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\marshal.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\memoryobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\metagrammar.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\methodobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\modsupport.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\moduleobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\node.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\object.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\objimpl.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\opcode.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\osdefs.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\parsetok.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\patchlevel.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pgen.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pgenheaders.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\py_curses.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyarena.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pycapsule.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyctype.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pydebug.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyerrors.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyexpat.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyfpe.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pygetopt.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pymactoolbox.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pymath.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pymem.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pyport.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pystate.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pystrcmp.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pystrtod.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\Python-ast.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\Python.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pythonrun.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\pythread.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\rangeobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\setobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\sliceobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\stringobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\structmember.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\structseq.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\symtable.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\sysmodule.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\timefuncs.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\token.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\traceback.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\tupleobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\ucnhash.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\unicodeobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Include\weakrefobject.h">
+      <Filter>Include</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_math.h">
+      <Filter>Modules</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\md5.h">
+      <Filter>Modules</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\rotatingtree.h">
+      <Filter>Modules</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\crc32.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\deflate.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\inffast.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\inffixed.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\inflate.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\inftrees.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\trees.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\zconf.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\zconf.in.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\zlib.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\zlib\zutil.h">
+      <Filter>Modules\zlib</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\alg_jisx0201.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\cjkcodecs.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\emu_jisx0213_2000.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_cn.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_hk.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_jisx0213_pair.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_jp.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_kr.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\mappings_tw.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\cjkcodecs\multibytecodec.h">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\_io\_iomodule.h">
+      <Filter>Modules\_io</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\stringlib\count.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\stringlib\fastsearch.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\stringlib\find.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\stringlib\partition.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\stringlib\split.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Objects\unicodetype_db.h">
+      <Filter>Objects</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Parser\parser.h">
+      <Filter>Parser</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Parser\tokenizer.h">
+      <Filter>Parser</Filter>
+    </ClInclude>
+    <ClInclude Include="..\PC\errmap.h">
+      <Filter>PC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\PC\pyconfig.h">
+      <Filter>PC</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Python\importdl.h">
+      <Filter>Python</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Python\thread_nt.h">
+      <Filter>Python</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\_bisectmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_codecsmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_collectionsmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_csv.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_functoolsmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_heapqmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_hotshot.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_json.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_localemodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_lsprof.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_math.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_randommodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_sre.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_struct.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_weakref.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\arraymodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\audioop.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\binascii.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cmathmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cPickle.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cStringIO.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\datetimemodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\errnomodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\future_builtins.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\gcmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\imageop.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\itertoolsmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\main.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\mathmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\md5.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\md5module.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\mmapmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\operator.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\parsermodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\posixmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\rotatingtree.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\sha256module.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\sha512module.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\shamodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\signalmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\stropmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\symtablemodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\threadmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\timemodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\xxsubtype.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zipimport.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlibmodule.c">
+      <Filter>Modules</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\adler32.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\compress.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\crc32.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\deflate.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\gzclose.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\gzlib.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\gzread.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\gzwrite.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\infback.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inffast.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inflate.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\inftrees.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\trees.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\uncompr.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\zlib\zutil.c">
+      <Filter>Modules\zlib</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_cn.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_hk.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_iso2022.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_jp.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_kr.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\_codecs_tw.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\cjkcodecs\multibytecodec.c">
+      <Filter>Modules\cjkcodecs</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\_iomodule.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\bufferedio.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\bytesio.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\fileio.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\iobase.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\stringio.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Modules\_io\textio.c">
+      <Filter>Modules\_io</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\abstract.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\boolobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\bufferobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\bytes_methods.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\bytearrayobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\capsule.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\cellobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\classobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\cobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\codeobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\complexobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\descrobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\dictobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\enumobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\exceptions.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\fileobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\floatobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\frameobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\funcobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\genobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\intobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\iterobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\listobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\longobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\memoryobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\methodobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\moduleobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\object.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\obmalloc.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\rangeobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\setobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\sliceobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\stringobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\structseq.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\tupleobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\typeobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\unicodectype.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\unicodeobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Objects\weakrefobject.c">
+      <Filter>Objects</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\acceler.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\bitset.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\firstsets.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\grammar.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\grammar1.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\listnode.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\metagrammar.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\myreadline.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\node.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\parser.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\parsetok.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Parser\tokenizer.c">
+      <Filter>Parser</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\_subprocess.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\_winreg.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\config.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\dl_nt.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\getpathp.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\import_nt.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\PC\msvcrtmodule.c">
+      <Filter>PC</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\_warnings.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\asdl.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\ast.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\bltinmodule.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\ceval.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\codecs.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\compile.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\dtoa.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\dynload_win.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\errors.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\formatter_string.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\formatter_unicode.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\frozen.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\future.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getargs.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getcompiler.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getcopyright.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getopt.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getplatform.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\getversion.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\graminit.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\import.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\importdl.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\marshal.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\modsupport.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\mysnprintf.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\mystrtoul.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\peephole.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pyarena.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pyctype.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pyfpe.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pymath.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pystate.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pystrcmp.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pystrtod.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\Python-ast.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\pythonrun.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\random.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\structmember.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\symtable.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\sysmodule.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\thread.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+    <ClCompile Include="..\Python\traceback.c">
+      <Filter>Python</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_nt.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/pythonw.vcxproj b/PCbuild/pythonw.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/pythonw.vcxproj
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{F4229CC3-873C-49AE-9729-DD308ED4CD4A}</ProjectGuid>
+    <MakeVersionInfoBeforeTarget>ClCompile</MakeVersionInfoBeforeTarget>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <StackReserveSize>2000000</StackReserveSize>
+      <BaseAddress>0x1d000000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_exe.rc" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\WinMain.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/pythonw.vcxproj.filters b/PCbuild/pythonw.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/pythonw.vcxproj.filters
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{0434cf11-a311-4a92-8a6c-4164aa79a7f2}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{e1d8ea6b-c65d-42f4-9eed-6010846ed378}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\PC\python_exe.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\WinMain.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -1,15 +1,29 @@
-Building Python using VC++ 9.0
-------------------------------
+Building Python using MSVC 9.0 via MSBuild
+------------------------------------------
 
 This directory is used to build Python for Win32 and x64 platforms, e.g.
-Windows 2000, XP, Vista and Windows Server 2008.  In order to build 32-bit
-debug and release executables, Microsoft Visual C++ 2008 Express Edition is
-required at the very least.  In order to build 64-bit debug and release
-executables, Visual Studio 2008 Standard Edition is required at the very
-least.  In order to build all of the above, as well as generate release builds
-that make use of Profile Guided Optimisation (PG0), Visual Studio 2008
-Professional Edition is required at the very least.  The official Python
-releases are built with this version of Visual Studio.
+Windows 2000 and later.  In order to use the project files in this
+directory, you must have installed the MSVC 9.0 compilers, the v90
+PlatformToolset project files for MSBuild, and MSBuild version 4.0 or later.
+The easiest way to make sure you have all of these components is to install
+Visual Studio 2008 and Visual Studio 2010.  Another configuration proven
+to work is Visual Studio 2008, Windows SDK 7.1, and Visual Studio 2013.
+
+If you only have Visual Studio 2008 available, use the project files in
+../PC/VS9.0 which are fully supported and specifically for VS 2008.
+
+If you do not have Visual Studio 2008 available, you can use these project
+files to build using a different version of MSVC.  For example, use
+
+   PCbuild\build.bat "/p:PlatformToolset=v100"
+
+to build using MSVC10 (Visual Studio 2010).
+
+***WARNING***
+Building Python 2.7 for Windows using any toolchain that doesn't link
+against MSVCRT90.dll is *unsupported* as the resulting python.exe will
+not be able to use precompiled extension modules that do link against
+MSVCRT90.dll.
 
 For other Windows platforms and compilers, see ../PC/readme.txt.
 
diff --git a/PCbuild/rt.bat b/PCbuild/rt.bat
--- a/PCbuild/rt.bat
+++ b/PCbuild/rt.bat
@@ -32,21 +32,19 @@
 set suffix=
 set qmode=
 set dashO=
-set tcltk=tcltk
 
 :CheckOpts
 if "%1"=="-O" (set dashO=-O)     & shift & goto CheckOpts
 if "%1"=="-q" (set qmode=yes)    & shift & goto CheckOpts
 if "%1"=="-d" (set suffix=_d)    & shift & goto CheckOpts
-if "%1"=="-x64" (set prefix=%prefix%amd64) & (set tcltk=tcltk64) & shift & goto CheckOpts
+if "%1"=="-x64" (set prefix=%pcbuild%amd64\) & shift & goto CheckOpts
 
-PATH %PATH%;%pcbuild%..\externals\%tcltk%\bin
-set exe="%prefix%\python%suffix%"
-set cmd=%exe% %dashO% -Wd -3 -E -tt "%pcbuild%\..\Lib\test\regrtest.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
+set exe=%prefix%\python%suffix%
+set cmd="%exe%" %dashO% -Wd -3 -E -tt "%pcbuild%..\Lib\test\regrtest.py" %1 %2 %3 %4 %5 %6 %7 %8 %9
 if defined qmode goto Qmode
 
 echo Deleting .pyc/.pyo files ...
-%exe% "%pcbuild%\rmpyc.py"
+"%exe%" "%pcbuild%rmpyc.py"
 
 echo on
 %cmd%
diff --git a/PCbuild/select.vcxproj b/PCbuild/select.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/select.vcxproj
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{18CAE28C-B454-46C1-87A0-493D91D97F03}</ProjectGuid>
+    <RootNamespace>select</RootNamespace>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <AdditionalDependencies>ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <BaseAddress>0x1D110000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\selectmodule.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/select.vcxproj.filters b/PCbuild/select.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/select.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{98346077-900c-4c7a-852f-a23470e37b40}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\selectmodule.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/sqlite3.vcxproj b/PCbuild/sqlite3.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/sqlite3.vcxproj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{A1A295E5-463C-437F-81CA-1F32367685DA}</ProjectGuid>
+    <RootNamespace>sqlite3</RootNamespace>
+    <TargetExt>.pyd</TargetExt>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>$(sqlite3Dir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <PreprocessorDefinitions>SQLITE_API=__declspec(dllexport);%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <WarningLevel>Level1</WarningLevel>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="$(sqlite3Dir)\sqlite3.h" />
+    <ClInclude Include="$(sqlite3Dir)\sqlite3ext.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="$(sqlite3Dir)\sqlite3.c" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/sqlite3.vcxproj.filters b/PCbuild/sqlite3.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/sqlite3.vcxproj.filters
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{ce5b649d-a6f7-4459-9425-c883795d79df}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{0e842fe2-176b-4e83-9d1f-0ad13a859efd}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(sqlite3Dir)\sqlite3.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="$(sqlite3Dir)\sqlite3ext.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="$(sqlite3Dir)\sqlite3.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/ssleay.vcxproj b/PCbuild/ssleay.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/ssleay.vcxproj
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{10615B24-73BF-4EFA-93AA-236916321317}</ProjectGuid>
+    <RootNamespace>ssleay</RootNamespace>
+  </PropertyGroup>
+
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>StaticLibrary</ConfigurationType>
+  </PropertyGroup>
+
+  <Import Project="openssl.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+
+  <ItemGroup>
+    <!--
+    <ClCompile Include="$(opensslDir)ssl\bio_ssl.c" />
+    -->
+    <ClCompile Include="$(opensslDir)ssl\d1_both.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)ssl\d1_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_enc.c" />
+    -->
+    <ClCompile Include="$(opensslDir)ssl\d1_lib.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)ssl\d1_meth.c" />
+    -->
+    <ClCompile Include="$(opensslDir)ssl\d1_pkt.c" />
+    <ClCompile Include="$(opensslDir)ssl\d1_srtp.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)ssl\d1_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\kssl.c" />
+    -->
+    <ClCompile Include="$(opensslDir)ssl\s2_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_enc.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_meth.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_pkt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s2_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\s23_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s23_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\s23_meth.c" />
+    <ClCompile Include="$(opensslDir)ssl\s23_pkt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s23_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_both.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_cbc.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_enc.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_meth.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_pkt.c" />
+    <ClCompile Include="$(opensslDir)ssl\s3_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_algs.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_asn1.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_cert.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_ciph.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_err.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_err2.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_rsa.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_sess.c" />
+    <!--
+    <ClCompile Include="$(opensslDir)ssl\ssl_stat.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_txt.c" />
+    <ClCompile Include="$(opensslDir)ssl\ssl_utst.c" />
+    -->
+    <ClCompile Include="$(opensslDir)ssl\t1_clnt.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_enc.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_lib.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_meth.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_reneg.c" />
+    <ClCompile Include="$(opensslDir)ssl\t1_srvr.c" />
+    <ClCompile Include="$(opensslDir)ssl\tls_srp.c" />
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <Target Name="Clean" />
+  <Target Name="CleanAll">
+    <Delete Files="$(TargetPath)" />
+    <RemoveDir Directories="$(IntDir)" />
+  </Target>
+</Project>
diff --git a/PCbuild/tcl.vcxproj b/PCbuild/tcl.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/tcl.vcxproj
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{B5FD6F1D-129E-4BFF-9340-03606FAC7283}</ProjectGuid>
+  </PropertyGroup>
+
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <Import Project="tcltk.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <OutDir>$(tcltkDir)</OutDir>
+    <TargetPath>$(OutDir)bin\$(tclDLLName)</TargetPath>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ExpectedOutputs Include="
+        $(OutDir)\bin\$(tclDLLName);
+        $(OutDir)\bin\$(tclShExeName);
+        $(OutDir)\include\tcl.h;
+        $(OutDir)\lib\tcl$(TclMajorVersion);
+        $(OutDir)\lib\tcl$(TclMajorVersion).$(TclMinorVersion);
+        $(OutDir)\lib\$(tclLibName)" />
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+
+  <PropertyGroup>
+    <TclOpts Condition="$(Configuration) == 'Debug'">symbols</TclOpts>
+    <TclDirs>INSTALLDIR="$(OutDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TclDirs>
+    <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
+    <NMakeBuildCommandLine>setlocal
+@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
+')
+goto :eof
+:build
+set VCINSTALLDIR=$(VCInstallDir)
+cd /D "$(tclDir)win"
+nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) core shell dlls
+nmake -f makefile.vc MACHINE=$(TclMachine) OPTS=$(TclOpts) $(TclDirs) $(DebugFlags) install-binaries install-libraries
+</NMakeBuildCommandLine>
+  </PropertyGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+
+  <Target Name="CopyDll" Inputs="$(OutDir)\bin\$(tclDLLName)" Outputs="$(BuildPath)$(tclDLLName)" AfterTargets="Build">
+    <Copy SourceFiles="$(OutDir)\bin\$(tclDLLName)" DestinationFiles="$(BuildPath)$(tclDLLName)" />
+  </Target>
+
+  <Target Name="Clean" />
+  <Target Name="CleanAll">
+    <Delete Files="$(TargetPath);$(BuildPath)$(tclDLLName)" />
+    <RemoveDir Directories="$(IntDir)" />
+  </Target>
+</Project>
diff --git a/PCbuild/tcltk.props b/PCbuild/tcltk.props
new file mode 100644
--- /dev/null
+++ b/PCbuild/tcltk.props
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="pyproject.props" />
+  <PropertyGroup>
+    <TclMajorVersion>8</TclMajorVersion>
+    <TclMinorVersion>5</TclMinorVersion>
+    <TclPatchLevel>15</TclPatchLevel>
+    <TclRevision>0</TclRevision>
+    <TkMajorVersion>$(TclMajorVersion)</TkMajorVersion>
+    <TkMinorVersion>$(TclMinorVersion)</TkMinorVersion>
+    <TkPatchLevel>$(TclPatchLevel)</TkPatchLevel>
+    <TkRevision>$(TclRevision)</TkRevision>
+    <TixMajorVersion>8</TixMajorVersion>
+    <TixMinorVersion>4</TixMinorVersion>
+    <TixPatchLevel>3</TixPatchLevel>
+    <TixRevision>5</TixRevision>
+    <tclDir>$(ExternalsDir)tcl-$(TclMajorVersion).$(TclMinorVersion).$(TclPatchLevel).$(TclRevision)\</tclDir>
+    <tkDir>$(ExternalsDir)tk-$(TkMajorVersion).$(TkMinorVersion).$(TkPatchLevel).$(TkRevision)\</tkDir>
+    <tixDir>$(ExternalsDir)tix-$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel).$(TixRevision)\</tixDir>
+    <tcltkDir>$(ExternalsDir)tcltk\</tcltkDir>
+    <tcltkDir Condition="'$(Platform)' == 'x64'">$(ExternalsDir)tcltk64\</tcltkDir>
+    <TclDebugExt Condition="'$(Configuration)' == 'Debug'">g</TclDebugExt>
+    <tclDLLName>tcl$(TclMajorVersion)$(TclMinorVersion)$(TclDebugExt).dll</tclDLLName>
+    <tclLibName>tcl$(TclMajorVersion)$(TclMinorVersion)$(TclDebugExt).lib</tclLibName>
+    <tclShExeName>tclsh$(TclMajorVersion)$(TclMinorVersion)$(TclDebugExt).exe</tclShExeName>
+    <tkDLLName>tk$(TkMajorVersion)$(TkMinorVersion)$(TclDebugExt).dll</tkDLLName>
+    <tkLibName>tk$(TkMajorVersion)$(TkMinorVersion)$(TclDebugExt).lib</tkLibName>
+    <tixDLLName>tix$(TixMajorVersion)$(TixMinorVersion)$(TclDebugExt).dll</tixDLLName>
+    <tixDLLPath>$(tcltkDir)lib\tix$(TixMajorVersion).$(TixMinorVersion).$(TixPatchLevel)\$(tixDLLName)</tixDLLPath>
+    <tcltkLib>$(tcltkDir)lib\tcl$(TclMajorVersion)$(TclMinorVersion)$(TclDebugExt).lib;$(tcltkDir)lib\tk$(TkMajorVersion)$(TkMinorVersion)$(TclDebugExt).lib</tcltkLib>
+    <TclMachine>IX86</TclMachine>
+    <TclMachine Condition="'$(Platform)' == 'x64'">AMD64</TclMachine>
+    <TclVersions>TCL_MAJOR_VERSION=$(TclMajorVersion) TCL_MINOR_VERSION=$(TclMinorVersion) TCL_PATCH_LEVEL=$(TclPatchLevel)</TclVersions>
+    <TclShortVersions>TCL_MAJOR=$(TclMajorVersion) TCL_MINOR=$(TclMinorVersion) TCL_PATCH=$(TclPatchLevel)</TclShortVersions>
+    <TkVersions>TK_MAJOR_VERSION=$(TkMajorVersion) TK_MINOR_VERSION=$(TkMinorVersion) TK_PATCH_LEVEL=$(TkPatchLevel)</TkVersions>
+
+    <BuildDirTop>Release</BuildDirTop>
+    <BuildDirTop Condition="$(Configuration) == 'Debug'">Debug</BuildDirTop>
+    <BuildDirTop Condition="$(TclMachine) != 'IX86'">$(BuildDirTop)_$(TclMachine)</BuildDirTop>
+    <!-- This completely breaks building Tix for any toolset but v90 and should be fixed -->
+    <BuildDirTop>$(BuildDirTop)_VC9</BuildDirTop>
+  </PropertyGroup>
+</Project>
diff --git a/PCbuild/tix.vcxproj b/PCbuild/tix.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/tix.vcxproj
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{C5A3E7FB-9695-4B2E-960B-1D9F43F1E555}</ProjectGuid>
+    <RootNamespace>tix</RootNamespace>
+  </PropertyGroup>
+
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <Import Project="tcltk.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <OutDir>$(tcltkDir)</OutDir>
+    <TargetPath>$(tixDLLPath)</TargetPath>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ExpectedOutputs Include="$(TargetPath)" />
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+
+  <PropertyGroup>
+    <TkOpts>msvcrt</TkOpts>
+    <TkOpts Condition="$(Configuration) == 'Debug'">symbols,msvcrt</TkOpts>
+    <TixDirs>BUILDDIRTOP="$(BuildDirTop)" TCL_DIR="$(tclDir.TrimEnd(`\`))" TK_DIR="$(tkDir.TrimEnd(`\`))" INSTALL_DIR="$(OutDir.TrimEnd(`\`))"</TixDirs>
+    <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUG=1 NODEBUG=0 TCL_DBGX=g DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
+    <DebugFlags Condition="'$(Configuration)' != 'Debug'">DEBUG=0 NODEBUG=1</DebugFlags>
+    <NMakeBuildCommandLine>setlocal
+@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
+')
+goto :eof
+:build
+set VCINSTALLDIR=$(VCInstallDir)
+cd /D "$(tixDir)win"
+nmake /nologo -f makefile.vc MACHINE=$(TclMachine) $(DebugFlags) $(TclShortVersions) $(TixDirs) all install
+</NMakeBuildCommandLine>
+    <NMakeCleanCommandLine>rmdir /q/s "$(OutDir.TrimEnd(`\`))"</NMakeCleanCommandLine>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="tcl.vcxproj">
+      <Project>{b5fd6f1d-129e-4bff-9340-03606fac7283}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+    <ProjectReference Include="tk.vcxproj">
+      <Project>{7e85eccf-a72c-4da4-9e52-884508e80ba1}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+
+  <Target Name="Clean" />
+  <Target Name="CleanAll">
+    <RemoveDir Directories="$(OutDir)" />
+    <RemoveDir Directories="$(IntDir)" />
+  </Target>
+</Project>
diff --git a/PCbuild/tk.vcxproj b/PCbuild/tk.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/tk.vcxproj
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{7E85ECCF-A72C-4DA4-9E52-884508E80BA1}</ProjectGuid>
+    <RootNamespace>tk</RootNamespace>
+  </PropertyGroup>
+
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <Import Project="tcltk.props" />
+
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Makefile</ConfigurationType>
+    <OutDir>$(tcltkDir)</OutDir>
+    <TargetPath>$(OutDir)bin\$(tkDLLName)</TargetPath>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ExpectedOutputs Include="
+        $(OutDir)bin\$(tkDLLName);
+        $(OutDir)include\tk.h;
+        $(OutDir)lib\$(tkLibName);
+        $(OutDir)lib\tk$(TkMajorVersion).$(TkMinorVersion)" />
+  </ItemGroup>
+
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+
+  <PropertyGroup>
+    <TkOpts>msvcrt</TkOpts>
+    <TkOpts Condition="$(Configuration) == 'Debug'">symbols,msvcrt</TkOpts>
+    <TkDirs>TCLDIR="$(tclDir.TrimEnd(`\`))" INSTALLDIR="$(OutDir.TrimEnd(`\`))"</TkDirs>
+    <DebugFlags Condition="'$(Configuration)' == 'Debug'">DEBUGFLAGS="-wd4456 -wd4457 -wd4458 -wd4459 -wd4996"</DebugFlags>
+    <NMakeBuildCommandLine>setlocal
+@(ExpectedOutputs->'if not exist "%(FullPath)" goto build','
+')
+goto :eof
+:build
+set VCINSTALLDIR=$(VCInstallDir)
+cd /D "$(tkDir)win"
+nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) all
+nmake /nologo -f makefile.vc RC=rc MACHINE=$(TclMachine) OPTS=$(TkOpts) $(TkDirs) $(DebugFlags) install-binaries install-libraries
+</NMakeBuildCommandLine>
+  </PropertyGroup>
+  <ItemGroup>
+    <ProjectReference Include="tcl.vcxproj">
+      <Project>{b5fd6f1d-129e-4bff-9340-03606fac7283}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+
+  <Target Name="CopyDll" Inputs="$(OutDir)\bin\$(tkDLLName)" Outputs="$(BuildPath)$(tkDLLName)" AfterTargets="Build">
+    <Copy SourceFiles="$(OutDir)\bin\$(tkDLLName)" DestinationFiles="$(BuildPath)$(tkDLLName)" />
+  </Target>
+
+  <Target Name="Clean" />
+  <Target Name="CleanAll">
+    <Delete Files="$(TargetPath);$(BuildPath)$(tkDLLName)" />
+    <RemoveDir Directories="$(IntDir)" />
+  </Target>
+</Project>
diff --git a/PCbuild/unicodedata.vcxproj b/PCbuild/unicodedata.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/unicodedata.vcxproj
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{ECC7CEAC-A5E5-458E-BB9E-2413CC847881}</ProjectGuid>
+    <RootNamespace>unicodedata</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <BaseAddress>0x1D120000</BaseAddress>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\unicodedata_db.h" />
+    <ClInclude Include="..\Modules\unicodename_db.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\unicodedata.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/unicodedata.vcxproj.filters b/PCbuild/unicodedata.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/unicodedata.vcxproj.filters
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{b939a8f1-ccd7-420a-974a-243606dccd74}</UniqueIdentifier>
+    </Filter>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{e2c055bb-ec62-4bbc-aa1c-d88da4d4ad1c}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\Modules\unicodedata_db.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\Modules\unicodename_db.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\Modules\unicodedata.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/w9xpopen.vcxproj b/PCbuild/w9xpopen.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/w9xpopen.vcxproj
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}</ProjectGuid>
+    <RootNamespace>w9xpopen</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+    <SupportPGO>false</SupportPGO>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\w9xpopen.c" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/w9xpopen.vcxproj.filters b/PCbuild/w9xpopen.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/w9xpopen.vcxproj.filters
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{abc2dffd-3f2a-47bd-b89b-0314c99ef21e}</UniqueIdentifier>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\w9xpopen.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/PCbuild/winsound.vcxproj b/PCbuild/winsound.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/winsound.vcxproj
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Debug|x64">
+      <Configuration>Debug</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|Win32">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGInstrument|x64">
+      <Configuration>PGInstrument</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|Win32">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="PGUpdate|x64">
+      <Configuration>PGUpdate</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|x64">
+      <Configuration>Release</Configuration>
+      <Platform>x64</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{28B5D777-DDF2-4B6B-B34F-31D938813856}</ProjectGuid>
+    <RootNamespace>winsound</RootNamespace>
+    <Keyword>Win32Proj</Keyword>
+  </PropertyGroup>
+  <Import Project="python.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Label="Configuration">
+    <ConfigurationType>DynamicLibrary</ConfigurationType>
+    <CharacterSet>NotSet</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <PropertyGroup>
+    <TargetExt>.pyd</TargetExt>
+  </PropertyGroup>
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="pyproject.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <Link>
+      <AdditionalDependencies>winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\winsound.c" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="pythoncore.vcxproj">
+      <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
+      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
diff --git a/PCbuild/winsound.vcxproj.filters b/PCbuild/winsound.vcxproj.filters
new file mode 100644
--- /dev/null
+++ b/PCbuild/winsound.vcxproj.filters
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\PC\winsound.c">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
diff --git a/Tools/buildbot/build.bat b/Tools/buildbot/build.bat
--- a/Tools/buildbot/build.bat
+++ b/Tools/buildbot/build.bat
@@ -15,4 +15,4 @@
 @rem 4) re-comment, commit and push again
 
 @rem Do the build
-call "%~dp0..\..\PCbuild\build.bat" -e -d -k %*
+call "%~dp0..\..\PCbuild\build.bat" -v -e -d -k %*

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list