976374cd |
1 | /* |
2 | * Standard Windows version information. |
3 | * (For inclusion in other .rc files with appropriate macro definitions.) |
4 | * FIXME: This file is called '.rc2' rather than '.rc' to avoid MSVC trying |
5 | * to compile it on its own when using the project files. Nicer solutions |
6 | * welcome. |
7 | */ |
8 | |
9 | /* |
10 | * Binary versions in Windows are major.minor.build.revision. Each |
11 | * component is 16-bit. |
12 | * Here we have: |
13 | * major.minor |
14 | * PuTTY version number (e.g. 0.58). (We've made a policy decision |
15 | * that these will be numeric from now on.) |
16 | * Present in releases and snapshots (for the sake of monotonicity |
17 | * in version numbers). |
18 | * build |
19 | * In releases, always 0. |
20 | * In snapshots, nearest Subversion revision. (It shouldn't be |
21 | * assumed that only one binary will have a given build number, of |
22 | * course.) |
23 | * revision |
24 | * Reserved; always 0. |
25 | * |
26 | * Examples of these version numbers: |
27 | * Release: 0.58.0.0 (but 0.58 didn't have a VERSIONINFO resource) |
28 | * Snapshot: 0.58.6356.0 (between 0.58 and the next release) |
29 | * Local: 0.0.0.0 |
30 | */ |
31 | |
32 | /* |
33 | * Mechanics of version naming/numbering. |
34 | * (This is a ripoff of ../version.c.) |
35 | */ |
36 | |
37 | #define STR1(x) #x |
38 | #define STR(x) STR1(x) |
39 | |
40 | /* We keep this around even for snapshots, for monotonicity of version |
41 | * numbering. It needs to be kept up to date. NB _comma_-separated. */ |
42 | #define BASE_VERSION 0,58 |
43 | |
44 | #if defined SNAPSHOT |
45 | |
46 | /* Make SVN_REV mandatory for snapshots, to avoid issuing binary |
47 | * version numbers that look like full releases. */ |
48 | #if (!defined SVN_REV) || (SVN_REV == 0) |
49 | #error SVN_REV not defined/nonzero for snapshot build |
50 | #endif |
51 | |
52 | #define VERSION_TEXT "Development snapshot " STR(SNAPSHOT) ":r" STR(SVN_REV) |
53 | #define BINARY_VERSION BASE_VERSION,SVN_REV,0 |
54 | |
55 | #elif defined RELEASE |
56 | |
57 | #define VERSION_TEXT "Release " STR(RELEASE) |
58 | #define BINARY_VERSION BASE_VERSION,0,0 |
59 | |
60 | #else |
61 | |
62 | /* We can't reliably get the same date and time as version.c, so |
63 | * we won't bother trying. */ |
64 | #define VERSION_TEXT "Unidentified build" |
65 | #define BINARY_VERSION 0,0,0,0 |
66 | |
67 | #endif |
68 | |
69 | /* |
70 | * The actual VERSIONINFO resource. |
71 | */ |
72 | VS_VERSION_INFO VERSIONINFO |
73 | /* (None of this "fixed" info appears to be trivially user-visible on |
74 | * Win98SE. The binary version does show up on Win2K.) */ |
75 | FILEVERSION BINARY_VERSION |
76 | PRODUCTVERSION BINARY_VERSION /* version of whole suite */ |
77 | FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE | VS_FF_PRIVATEBUILD |
78 | FILEFLAGS 0x0L |
79 | #if defined DEBUG |
80 | | VS_FF_DEBUG |
81 | #endif |
82 | #if defined SNAPSHOT |
83 | | VS_FF_PRERELEASE |
84 | #elif !defined RELEASE |
85 | | VS_FF_PRIVATEBUILD |
86 | #endif |
87 | FILEOS VOS__WINDOWS32 |
88 | FILETYPE VFT_APP |
89 | FILESUBTYPE 0x0L /* n/a for VFT_APP */ |
90 | BEGIN |
91 | /* (On Win98SE and Win2K, we can see most of this on the Version tab |
92 | * in the file properties in Explorer.) */ |
93 | BLOCK "StringFileInfo" |
94 | BEGIN |
95 | /* "lang-charset" LLLLCCCC = (UK English, Unicode) */ |
96 | BLOCK "080904B0" |
97 | BEGIN |
98 | VALUE "CompanyName", "Simon Tatham" /* required :/ */ |
99 | VALUE "ProductName", "PuTTY suite" |
100 | VALUE "FileDescription", APPDESC |
101 | VALUE "InternalName", APPNAME |
102 | VALUE "OriginalFilename", APPNAME |
103 | VALUE "FileVersion", VERSION_TEXT |
104 | VALUE "ProductVersion", VERSION_TEXT |
5fb0e72d |
105 | VALUE "LegalCopyright", "Copyright \251 1997-2006 Simon Tatham." |
976374cd |
106 | #if (!defined SNAPSHOT) && (!defined RELEASE) |
107 | /* Only if VS_FF_PRIVATEBUILD. */ |
108 | VALUE "PrivateBuild", VERSION_TEXT /* NBI */ |
109 | #endif |
110 | END |
111 | END |
112 | BLOCK "VarFileInfo" |
113 | BEGIN |
114 | /* Once again -- same meanings -- apparently necessary */ |
115 | VALUE "Translation", 0x809, 1200 |
116 | END |
117 | END |
118 | |
119 | #undef VERSION_TEXT |
120 | #undef BASE_VERSION |
121 | #undef BINARY_VERSION |