cpython/PC/python_nt.rc
Tim Peters c78462fb94 The MS resource compiler simply cannot be convinced to do arithmetic
correctly.  So field3.py is a Python program that can.  This injects
another manual step into the Python release process for Windows; so
it goes.
2002-10-11 18:25:52 +00:00

105 lines
2.7 KiB
Plaintext
Raw Blame History

// Resource script for Python core DLL.
// Currently only holds version information.
//
#include "winver.h"
#define MS_WINDOWS
#include "modsupport.h"
#include "patchlevel.h"
/* Across releases, change:
* MS_DLL_ID if the minor version number changes.
* PYTHON_DLL_NAME ditto.
* MS_DLL_ID must match PY_VERSION in the Windows install script.
*/
#define MS_DLL_ID "2.3"
#ifndef PYTHON_DLL_NAME
#define PYTHON_DLL_NAME "python23.dll"
#endif
/* Nothing below this should need to be changed except for copyright
* notices, company name, and FIELD3. Unfortunately, all attempts
* to get the resource compiler to do arithmetic in macros have
* failed miserably -- it gives syntax errors, ignores operators,
* or does stuff that's simply bizarre.
*/
/* This is what we'd like FIELD3 to be:
*
* #define FIELD3 (PY_MICRO_VERSION*1000 + PY_RELEASE_LEVEL*10 + PY_RELEASE_SERIAL)
*
* but that neither gives an error nor comes anywhere close to working. The
* following comment and #define are output from PCbuild\field3.py:
*
* For 2.3a0,
* PY_MICRO_VERSION = 0
* PY_RELEASE_LEVEL = 'alpha' = 0xa
* PY_RELEASE_SERIAL = 1
*
* and 0*1000 + 10*10 + 1 = 101
*/
#define FIELD3 101
/* e.g., 2.1a2
* PY_VERSION comes from patchevel.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
// String Tables
STRINGTABLE DISCARDABLE
BEGIN
1000, MS_DLL_ID
END
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION PYVERSION64
PRODUCTVERSION PYVERSION64
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "CompanyName", "PythonLabs at Zope Corporation\0"
VALUE "FileDescription", "Python Core\0"
VALUE "FileVersion", PYTHON_VERSION
VALUE "InternalName", "Python DLL\0"
VALUE "LegalCopyright", "Copyright <20> 2001-2002 Python Software Foundation. Copyright <20> 2000 BeOpen.com. Copyright <20> 1995-2001 CNRI. Copyright <20> 1991-1995 SMC.\0"
VALUE "OriginalFilename", PYTHON_DLL_NAME "\0"
VALUE "ProductName", "Python\0"
VALUE "ProductVersion", PYTHON_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END