Reactos
1/*
2 * PROJECT: ReactOS
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: include/psdk/common.ver
5 * PURPOSE: Common Version File.
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9//
10// Copyright Year
11//
12#ifndef VER_LEGALCOPYRIGHT_YEARS
13#define VER_LEGALCOPYRIGHT_YEARS "2007"
14#endif
15
16//
17// Copyright String
18//
19#ifndef VER_LEGALCOPYRIGHT_STR
20#if defined(RC_INVOKED) && !defined(WIN16)
21#define VER_LEGALCOPYRIGHT_STR L"\251 ReactOS Project. All rights reserved."
22#else
23#define VER_LEGALCOPYRIGHT_STR "Copyright (c) ReactOS Project. All rights reserved."
24#endif
25#endif
26
27//
28// Product Name String
29//
30#ifndef VER_PRODUCTNAME_STR
31#ifdef RC_INVOKED
32#define VER_PRODUCTNAME_STR L"ReactOS Operating System"
33#else
34#define VER_PRODUCTNAME_STR "ReactOS Operating System"
35#endif
36#endif
37
38//
39// The File Version is the same as the Product Version
40//
41#ifndef VER_FILEVERSION
42#define VER_FILEVERSION VER_PRODUCTVERSION
43#endif
44#ifndef VER_FILEVERSION_STR
45#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
46#endif
47
48//
49// If no Original Name was given, use the Internal NAme
50//
51#ifndef VER_ORIGINALFILENAME_STR
52#define VER_ORIGINALFILENAME_STR VER_INTERNALNAME_STR
53#endif
54
55//
56// Allow tagging a Build by Machine/Date
57//
58#if defined(__BUILDMACHINE__)
59#if defined(__BUILDDATE__)
60#define B2(x,y) " (" #x "." #y ")"
61#define B1(x,y) B2(x, y)
62#define BUILD_MACHINE_TAG B1(__BUILDMACHINE__, __BUILDDATE__)
63#else
64#define B2(x) " built by: " #x
65#define B1(x) B2(x)
66#define BUILD_MACHINE_TAG B1(__BUILDMACHINE__)
67#endif
68#if defined(__BUILDMACHINE_LEN__)
69#if __BUILDMACHINE_LEN__ >= 25
70#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
71#elif __BUILDMACHINE_LEN__ == 24
72#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
73#elif __BUILDMACHINE_LEN__ == 23
74#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
75#elif __BUILDMACHINE_LEN__ == 22
76#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
77#elif __BUILDMACHINE_LEN__ == 21
78#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
79#elif __BUILDMACHINE_LEN__ == 20
80#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
81#elif __BUILDMACHINE_LEN__ == 19
82#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
83#elif __BUILDMACHINE_LEN__ == 18
84#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
85#elif __BUILDMACHINE_LEN__ == 17
86#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
87#elif __BUILDMACHINE_LEN__ == 16
88#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
89#elif __BUILDMACHINE_LEN__ == 15
90#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
91#elif __BUILDMACHINE_LEN__ == 14
92#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
93#elif __BUILDMACHINE_LEN__ == 13
94#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
95#elif __BUILDMACHINE_LEN__ == 12
96#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
97#elif __BUILDMACHINE_LEN__ == 11
98#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
99#elif __BUILDMACHINE_LEN__ == 10
100#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
101#elif __BUILDMACHINE_LEN__ == 9
102#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
103#elif __BUILDMACHINE_LEN__ == 8
104#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
105#elif __BUILDMACHINE_LEN__ == 7
106#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
107#elif __BUILDMACHINE_LEN__ == 6
108#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
109#elif __BUILDMACHINE_LEN__ == 5
110#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
111#elif __BUILDMACHINE_LEN__ == 4
112#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
113#elif __BUILDMACHINE_LEN__ == 3
114#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
115#elif __BUILDMACHINE_LEN__ == 2
116#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
117#elif __BUILDMACHINE_LEN__ == 1
118#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
119#else
120#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
121#endif
122#else
123#define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
124#endif
125#else
126#define BUILD_MACHINE_TAG
127#define BUILD_MACHINE_TAG_PADDED
128#endif
129
130//
131// Set default neutral Unicode Language ID
132//
133#ifndef VER_VERSION_UNICODE_LANG
134#define VER_VERSION_UNICODE_LANG "000004B0"
135#endif
136
137//
138// Set default netural ANSI Language ID
139//
140#ifndef VER_VERSION_ANSI_LANG
141#define VER_VERSION_ANSI_LANG "000004E4"
142#endif
143
144//
145// Set default netural translation ID
146//
147#ifndef VER_VERSION_TRANSLATION
148#define VER_VERSION_TRANSLATION 0x0000, 0x04B0
149#endif
150
151//
152// Make sure the Resource Compiler called us.
153// If so, then build the actual version resource.
154//
155#ifdef RC_INVOKED
156
157VS_VERSION_INFO VERSIONINFO
158FILEVERSION VER_FILEVERSION
159PRODUCTVERSION VER_PRODUCTVERSION
160FILEFLAGSMASK VER_FILEFLAGSMASK
161FILEFLAGS VER_FILEFLAGS
162FILEOS VER_FILEOS
163FILETYPE VER_FILETYPE
164FILESUBTYPE VER_FILESUBTYPE
165BEGIN
166 BLOCK "StringFileInfo"
167 BEGIN
168 BLOCK VER_VERSION_UNICODE_LANG
169 BEGIN
170 VALUE "CompanyName", VER_COMPANYNAME_STR
171 VALUE "FileDescription", VER_FILEDESCRIPTION_STR
172 VALUE "FileVersion", VER_FILEVERSION_STR BUILD_MACHINE_TAG_PADDED
173 VALUE "InternalName", VER_INTERNALNAME_STR
174 VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
175 VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
176 VALUE "ProductName", VER_PRODUCTNAME_STR
177 VALUE "ProductVersion", VER_PRODUCTVERSION_STR
178#ifdef VER_OLESELFREGISTER
179 VALUE "OleSelfRegister", "\0"
180#endif
181 END
182
183#ifdef VER_ANSICP
184 BLOCK VER_VERSION_ANSI_LANG
185 BEGIN
186 VALUE "CompanyName", VER_COMPANYNAME_STR
187 VALUE "FileDescription", VER_FILEDESCRIPTION_STR EXPORT_TAG
188 VALUE "FileVersion", VER_FILEVERSION_STR
189 VALUE "InternalName", VER_INTERNALNAME_STR
190 VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
191 VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
192 VALUE "ProductName", VER_PRODUCTNAME_STR
193 VALUE "ProductVersion", VER_PRODUCTVERSION_STR
194#ifdef VER_OLESELFREGISTER
195 VALUE "OleSelfRegister", "\0"
196#endif
197 END
198#endif
199 END
200
201 BLOCK "VarFileInfo"
202 BEGIN
203 VALUE "Translation", VER_VERSION_TRANSLATION
204 END
205END
206
207#endif