]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - windows/version.rc2
Fix `puttygen-unix-perms': f_open(), PuTTY's wrapper on fopen, now
[PuTTY.git] / windows / version.rc2
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
105             VALUE "LegalCopyright",     "Copyright \251 1997-2007 Simon Tatham."
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