xref: /reactos/sdk/include/psdk/common.ver (revision 09dde2cf)
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
208