putty/windows/version.rc2

140 строки
3.8 KiB
Plaintext

/*
* Standard Windows version information.
* (For inclusion in other .rc files with appropriate macro definitions.)
* FIXME: This file is called '.rc2' rather than '.rc' to avoid MSVC trying
* to compile it on its own when using the project files. Nicer solutions
* welcome.
*/
/*
* Binary versions in Windows are major.minor.build.revision. Each
* component is 16-bit.
* Here we have:
* major.minor
* PuTTY version number (e.g. 0.58). (We've made a policy decision
* that these will be numeric from now on.)
* Present in releases and snapshots (for the sake of monotonicity
* in version numbers).
* build
* In releases, always 0.
* In snapshots, nearest Subversion revision. (It shouldn't be
* assumed that only one binary will have a given build number, of
* course.)
* revision
* Reserved; always 0.
*
* Examples of these version numbers:
* Release: 0.58.0.0 (but 0.58 didn't have a VERSIONINFO resource)
* Snapshot: 0.58.6356.0 (between 0.58 and the next release)
* Local: 0.0.0.0
*/
/*
* Mechanics of version naming/numbering.
* (This is a ripoff of ../version.c.)
*/
#define STR1(x) #x
#define STR(x) STR1(x)
/* We keep this around even for snapshots, for monotonicity of version
* numbering. It needs to be kept up to date. NB _comma_-separated. */
#define BASE_VERSION 0,63
#if defined SNAPSHOT
/* Make SVN_REV mandatory for snapshots, to avoid issuing binary
* version numbers that look like full releases. */
#ifndef SVN_REV
#error SVN_REV not defined/nonzero for snapshot build
#endif
#define VERSION_TEXT "Development snapshot " STR(SNAPSHOT) ":r" STR(SVN_REV)
#ifdef MODIFIED
#define BINARY_VERSION 0,0,0,0
#else
#define BINARY_VERSION BASE_VERSION,SVN_REV,0
#endif
#elif defined RELEASE
#define VERSION_TEXT "Release " STR(RELEASE)
#define BINARY_VERSION BASE_VERSION,0,0
#elif defined PRERELEASE
#define VERSION_TEXT "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);
#define BINARY_VERSION BASE_VERSION,SVN_REV,0
#elif defined SVN_REV
#define VERSION_TEXT "Custom build r" STR(SVN_REV)
#ifdef MODIFIED
#define BINARY_VERSION 0,0,0,0
#else
#define BINARY_VERSION BASE_VERSION,SVN_REV,0
#endif
#else
/* We can't reliably get the same date and time as version.c, so
* we won't bother trying. */
#define VERSION_TEXT "Unidentified build"
#define BINARY_VERSION 0,0,0,0
#endif
/*
* The actual VERSIONINFO resource.
*/
VS_VERSION_INFO VERSIONINFO
/* (None of this "fixed" info appears to be trivially user-visible on
* Win98SE. The binary version does show up on Win2K.) */
FILEVERSION BINARY_VERSION
PRODUCTVERSION BINARY_VERSION /* version of whole suite */
FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE | VS_FF_PRIVATEBUILD
FILEFLAGS 0x0L
#if defined DEBUG
| VS_FF_DEBUG
#endif
#if defined SNAPSHOT
| VS_FF_PRERELEASE
#elif !defined RELEASE
| VS_FF_PRIVATEBUILD
#endif
FILEOS VOS__WINDOWS32
FILETYPE VFT_APP
FILESUBTYPE 0x0L /* n/a for VFT_APP */
BEGIN
/* (On Win98SE and Win2K, we can see most of this on the Version tab
* in the file properties in Explorer.) */
BLOCK "StringFileInfo"
BEGIN
/* "lang-charset" LLLLCCCC = (UK English, Unicode) */
BLOCK "080904B0"
BEGIN
VALUE "CompanyName", "Simon Tatham" /* required :/ */
VALUE "ProductName", "PuTTY suite"
VALUE "FileDescription", APPDESC
VALUE "InternalName", APPNAME
VALUE "OriginalFilename", APPNAME
VALUE "FileVersion", VERSION_TEXT
VALUE "ProductVersion", VERSION_TEXT
VALUE "LegalCopyright", "Copyright \251 1997-2014 Simon Tatham."
#if (!defined SNAPSHOT) && (!defined RELEASE)
/* Only if VS_FF_PRIVATEBUILD. */
VALUE "PrivateBuild", VERSION_TEXT /* NBI */
#endif
END
END
BLOCK "VarFileInfo"
BEGIN
/* Once again -- same meanings -- apparently necessary */
VALUE "Translation", 0x809, 1200
END
END
#undef VERSION_TEXT
#undef BASE_VERSION
#undef BINARY_VERSION