[Python-checkins] cpython: Issue 23018: Add version info to python[w].exe
steve.dower
python-checkins at python.org
Thu Jan 15 18:12:45 CET 2015
https://hg.python.org/cpython/rev/3f7e483cebef
changeset: 94180:3f7e483cebef
user: Steve Dower <steve.dower at microsoft.com>
date: Thu Jan 15 09:10:43 2015 -0800
summary:
Issue 23018: Add version info to python[w].exe
files:
PC/python.manifest | 12 ++++++++
PC/python_exe.rc | 50 +++++++++++++++++++++++++++++++++-
PC/python_nt.rc | 42 ++++++---------------------
PC/python_ver_rc.h | 35 +++++++++++++++++++++++
4 files changed, 106 insertions(+), 33 deletions(-)
diff --git a/PC/python.manifest b/PC/python.manifest
new file mode 100644
--- /dev/null
+++ b/PC/python.manifest
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+ <application>
+ <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+ <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+ <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+ <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+ <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+ </application>
+ </compatibility>
+</assembly>
\ No newline at end of file
diff --git a/PC/python_exe.rc b/PC/python_exe.rc
--- a/PC/python_exe.rc
+++ b/PC/python_exe.rc
@@ -1,1 +1,49 @@
-1 ICON DISCARDABLE "pycon.ico"
+// Resource script for Python console EXEs.
+
+#include "python_ver_rc.h"
+
+// Include the manifest file that indicates we support all
+// current versions of Windows.
+#include <winuser.h>
+1 RT_MANIFEST "python.manifest"
+
+1 ICON DISCARDABLE "pycon.ico"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION PYVERSION64
+ PRODUCTVERSION PYVERSION64
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS VS_FF_DEBUG
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_APP
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "000004b0"
+ BEGIN
+ VALUE "CompanyName", PYTHON_COMPANY "\0"
+ VALUE "FileDescription", "Python\0"
+ VALUE "FileVersion", PYTHON_VERSION
+ VALUE "InternalName", "Python Console\0"
+ VALUE "LegalCopyright", PYTHON_COPYRIGHT "\0"
+ VALUE "OriginalFilename", "python" PYTHON_DEBUG_EXT ".exe\0"
+ VALUE "ProductName", "Python\0"
+ VALUE "ProductVersion", PYTHON_VERSION
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x0, 1200
+ END
+END
diff --git a/PC/python_nt.rc b/PC/python_nt.rc
--- a/PC/python_nt.rc
+++ b/PC/python_nt.rc
@@ -1,33 +1,11 @@
// Resource script for Python core DLL.
-// Currently only holds version information.
-//
-#include "winver.h"
-#define MS_WINDOWS
-#include "modsupport.h"
-#include "patchlevel.h"
-#ifdef _DEBUG
-# include "pythonnt_rc_d.h"
-#else
-# include "pythonnt_rc.h"
-#endif
+#include "python_ver_rc.h"
-/* e.g., 3.3.0a1
- * PY_VERSION comes from patchlevel.h
- */
-#define PYTHON_VERSION PY_VERSION "\0"
-
-/* 64-bit version number as comma-separated list of 4 16-bit ints */
-#if PY_MICRO_VERSION > 64
-# error "PY_MICRO_VERSION > 64"
-#endif
-#if PY_RELEASE_LEVEL > 99
-# error "PY_RELEASE_LEVEL > 99"
-#endif
-#if PY_RELEASE_SERIAL > 9
-# error "PY_RELEASE_SERIAL > 9"
-#endif
-#define PYVERSION64 PY_MAJOR_VERSION, PY_MINOR_VERSION, FIELD3, PYTHON_API_VERSION
+// Include the manifest file that indicates we support all
+// current versions of Windows.
+#include <winuser.h>
+2 RT_MANIFEST "python.manifest"
// String Tables
STRINGTABLE DISCARDABLE
@@ -45,23 +23,23 @@
PRODUCTVERSION PYVERSION64
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
- FILEFLAGS 0x1L
+ FILEFLAGS VS_FF_DEBUG
#else
FILEFLAGS 0x0L
#endif
- FILEOS 0x40004L
- FILETYPE 0x1L
+ FILEOS VOS__WINDOWS32
+ FILETYPE VFT_DLL
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
- VALUE "CompanyName", "Python Software Foundation\0"
+ VALUE "CompanyName", PYTHON_COMPANY "\0"
VALUE "FileDescription", "Python Core\0"
VALUE "FileVersion", PYTHON_VERSION
VALUE "InternalName", "Python DLL\0"
- VALUE "LegalCopyright", "Copyright © 2001-2015 Python Software Foundation. Copyright © 2000 BeOpen.com. Copyright © 1995-2001 CNRI. Copyright © 1991-1995 SMC.\0"
+ VALUE "LegalCopyright", PYTHON_COPYRIGHT "\0"
VALUE "OriginalFilename", PYTHON_DLL_NAME "\0"
VALUE "ProductName", "Python\0"
VALUE "ProductVersion", PYTHON_VERSION
diff --git a/PC/python_ver_rc.h b/PC/python_ver_rc.h
new file mode 100644
--- /dev/null
+++ b/PC/python_ver_rc.h
@@ -0,0 +1,35 @@
+// Resource script for Python core DLL.
+// Currently only holds version information.
+//
+#include "winver.h"
+
+#define PYTHON_COMPANY "Python Software Foundation"
+#define PYTHON_COPYRIGHT "Copyright © 2001-2014 Python Software Foundation. Copyright © 2000 BeOpen.com. Copyright © 1995-2001 CNRI. Copyright © 1991-1995 SMC."
+
+#define MS_WINDOWS
+#include "modsupport.h"
+#include "patchlevel.h"
+#ifdef _DEBUG
+# include "pythonnt_rc_d.h"
+# define PYTHON_DEBUG_EXT "_d"
+#else
+# include "pythonnt_rc.h"
+# define PYTHON_DEBUG_EXT
+#endif
+
+/* e.g., 3.3.0a1
+ * PY_VERSION comes from patchlevel.h
+ */
+#define PYTHON_VERSION PY_VERSION "\0"
+
+/* 64-bit version number as comma-separated list of 4 16-bit ints */
+#if PY_MICRO_VERSION > 64
+# error "PY_MICRO_VERSION > 64"
+#endif
+#if PY_RELEASE_LEVEL > 99
+# error "PY_RELEASE_LEVEL > 99"
+#endif
+#if PY_RELEASE_SERIAL > 9
+# error "PY_RELEASE_SERIAL > 9"
+#endif
+#define PYVERSION64 PY_MAJOR_VERSION, PY_MINOR_VERSION, FIELD3, PYTHON_API_VERSION
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list