Merging of change 55024 from the truk to release25-maint branch.
Complete revamp of PCBuild8 directory.  Use subdirectories for each project under the main pcbuild solution.  Now make extensive use of property sheets to simplify project configuration. x64 build fully supported, and the process for building PGO version (Profiler Guided Optimization) simplified. All projects are now present, except _ssl, which needs to be reimplemented.  Also, some of the projects that require external libraries need extra work to fully compile on x64.
diff --git a/Modules/datetimemodule.c b/Modules/datetimemodule.c
index 8207ffd..a67c35d 100644
--- a/Modules/datetimemodule.c
+++ b/Modules/datetimemodule.c
@@ -13,7 +13,9 @@
 /* Differentiate between building the core module and building extension
  * modules.
  */
+#ifndef Py_BUILD_CORE
 #define Py_BUILD_CORE
+#endif
 #include "datetime.h"
 #undef Py_BUILD_CORE
 
diff --git a/Modules/getbuildinfo.c b/Modules/getbuildinfo.c
index a017dab..0f71ca0 100644
--- a/Modules/getbuildinfo.c
+++ b/Modules/getbuildinfo.c
@@ -20,10 +20,7 @@
 #endif
 #endif
 
-#ifdef SUBWCREV
 #define SVNVERSION "$WCRANGE$$WCMODS?M:$"
-#endif
-
 const char *
 Py_GetBuildInfo(void)
 {
@@ -40,9 +37,9 @@
 const char *
 _Py_svnversion(void)
 {
-#ifdef SVNVERSION
-	return SVNVERSION;
-#else
+	/* the following string can be modified by subwcrev.exe */
+	static const char svnversion[] = SVNVERSION;
+	if (!strstr(svnversion, "$"))
+		return svnversion; /* it was interpolated */
 	return "exported";
-#endif
 }