view PC/python_nt.rc @ 25736:92a8a352e024 2.2

SF bug 621507: python22.dll incorrect "File version". The MS resource compiler can't do arithmetic. Fixed it by hand. Note that the new PCbuild\field3.py was added to help with this, and injects another manual step into the Python Windows release process.
author Tim Peters <tim.peters@gmail.com>
date Fri, 11 Oct 2002 18:38:20 +0000
parents 6072fa410dcc
children 7a57ddf72794
line wrap: on
line source

// Resource script for Python core DLL.
// Currently only holds version information.
//
#include "ver.h"
#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.2"

#ifndef PYTHON_DLL_NAME
#define PYTHON_DLL_NAME "python22.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.2.2b1,
 * PY_MICRO_VERSION = 2
 * PY_RELEASE_LEVEL = 'beta' = 0xb
 * PY_RELEASE_SERIAL = 1
 *
 * and 2*1000 + 11*10 + 1 = 2111
 */
#define FIELD3 2111

/* 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 © 2001-2002 Python Software Foundation. Copyright © 2000 BeOpen.com. Copyright © 1995-2001 CNRI. Copyright © 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