bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501)

(cherry picked from commit a56fbad85ea655631bce68d4c0f47f1a8b500abd)

Co-authored-by: Steve Dower <steve.dower@python.org>
diff --git a/PC/pylauncher.rc b/PC/pylauncher.rc
index d21f9b6..ff7e71e 100644
--- a/PC/pylauncher.rc
+++ b/PC/pylauncher.rc
@@ -2,6 +2,11 @@
 
 #include "python_ver_rc.h"
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 1 RT_MANIFEST "python.manifest"
diff --git a/PC/pyshellext.rc b/PC/pyshellext.rc
index fc607e9..af797ce 100644
--- a/PC/pyshellext.rc
+++ b/PC/pyshellext.rc
@@ -2,6 +2,12 @@
 
 #include "python_ver_rc.h"
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
+
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 1 RT_MANIFEST "python.manifest"
diff --git a/PC/python_exe.rc b/PC/python_exe.rc
index 5eba899..c3d3bff 100644
--- a/PC/python_exe.rc
+++ b/PC/python_exe.rc
@@ -2,6 +2,12 @@
 
 #include "python_ver_rc.h"
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
+
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 1 RT_MANIFEST "python.manifest"
diff --git a/PC/python_nt.rc b/PC/python_nt.rc
index 6fd872c..ae64fbd 100644
--- a/PC/python_nt.rc
+++ b/PC/python_nt.rc
@@ -2,6 +2,12 @@
 
 #include "python_ver_rc.h"
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
+
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 2 RT_MANIFEST "python.manifest"
diff --git a/PC/pythonw_exe.rc b/PC/pythonw_exe.rc
index 562652b..38570b7 100644
--- a/PC/pythonw_exe.rc
+++ b/PC/pythonw_exe.rc
@@ -2,6 +2,12 @@
 
 #include "python_ver_rc.h"
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
+
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 1 RT_MANIFEST "python.manifest"
diff --git a/PC/sqlite3.rc b/PC/sqlite3.rc
index d2c18f8..9ae2aa0 100644
--- a/PC/sqlite3.rc
+++ b/PC/sqlite3.rc
@@ -2,6 +2,12 @@
 
 #include <winver.h>
 
+#ifndef RT_MANIFEST
+// bpo-45220: Cannot reliably #include RT_MANIFEST from
+// anywhere, so we hardcode it
+#define RT_MANIFEST 24
+#endif
+
 // Include the manifest file that indicates we support all
 // current versions of Windows.
 2 RT_MANIFEST "python.manifest"