1 | // Licensed to the .NET Foundation under one or more agreements. |
2 | // The .NET Foundation licenses this file to you under the MIT license. |
3 | // See the LICENSE file in the project root for more information. |
4 | |
5 | // |
6 | // Insert just the #defines in winver.h, so that the |
7 | // C# compiler can include this file after macro preprocessing. |
8 | // |
9 | |
10 | #ifdef __cplusplus |
11 | #ifndef FXVER_H_ |
12 | #define FXVER_H_ |
13 | #define INCLUDE_FXVER_H |
14 | #endif |
15 | #else |
16 | #define RC_INVOKED 1 |
17 | #define INCLUDE_FXVER_H |
18 | #endif |
19 | |
20 | #ifdef INCLUDE_FXVER_H |
21 | #undef INCLUDE_FXVER_H |
22 | |
23 | #ifndef RC_INVOKED |
24 | #define FXVER_H_RC_INVOKED_ENABLED |
25 | #define RC_INVOKED 1 |
26 | #endif |
27 | |
28 | #include <verrsrc.h> |
29 | |
30 | #ifdef FXVER_H_RC_INVOKED_ENABLED |
31 | #undef RC_INVOKED |
32 | #undef FXVER_H_RC_INVOKED_ENABLED |
33 | #endif |
34 | |
35 | // |
36 | // Include the definitions for rmj, rmm, rup, rpt |
37 | // |
38 | |
39 | #include <product_version.h> |
40 | |
41 | /* |
42 | * Product version, name and copyright |
43 | */ |
44 | |
45 | #include "fxverstrings.h" |
46 | |
47 | /* |
48 | * File version, names, description. |
49 | */ |
50 | |
51 | // FX_VER_INTERNALNAME_STR is passed in by the build environment. |
52 | #ifndef FX_VER_INTERNALNAME_STR |
53 | #define FX_VER_INTERNALNAME_STR UNKNOWN_FILE |
54 | #endif |
55 | |
56 | #define VER_INTERNALNAME_STR QUOTE_MACRO(FX_VER_INTERNALNAME_STR) |
57 | #define VER_ORIGINALFILENAME_STR QUOTE_MACRO(FX_VER_INTERNALNAME_STR) |
58 | |
59 | // FX_VER_FILEDESCRIPTION_STR is defined in RC files that include fxver.h |
60 | |
61 | #ifndef FX_VER_FILEDESCRIPTION_STR |
62 | #define FX_VER_FILEDESCRIPTION_STR QUOTE_MACRO(FX_VER_INTERNALNAME_STR) |
63 | #endif |
64 | |
65 | #define VER_FILEDESCRIPTION_STR FX_VER_FILEDESCRIPTION_STR |
66 | |
67 | #ifndef FX_VER_FILEVERSION_STR |
68 | #define FX_VER_FILEVERSION_STR FX_FILEVERSION_STR |
69 | #endif |
70 | |
71 | #define VER_FILEVERSION_STR FX_VER_FILEVERSION_STR |
72 | #define VER_FILEVERSION_STR_L VER_PRODUCTVERSION_STR_L |
73 | |
74 | #ifndef FX_VER_FILEVERSION |
75 | #define FX_VER_FILEVERSION VER_DOTFILEVERSION |
76 | #endif |
77 | |
78 | #define VER_FILEVERSION FX_VER_FILEVERSION |
79 | |
80 | //URT_VFT passed in by the build environment. |
81 | #ifndef FX_VFT |
82 | #define FX_VFT VFT_UNKNOWN |
83 | #endif |
84 | |
85 | #define VER_FILETYPE FX_VFT |
86 | #define VER_FILESUBTYPE VFT2_UNKNOWN |
87 | |
88 | /* default is nodebug */ |
89 | #if DBG |
90 | #define VER_DEBUG VS_FF_DEBUG |
91 | #else |
92 | #define VER_DEBUG 0 |
93 | #endif |
94 | |
95 | #define VER_PRERELEASE 0 |
96 | |
97 | #define EXPORT_TAG |
98 | |
99 | #if OFFICIAL_BUILD |
100 | #define VER_PRIVATE 0 |
101 | #else |
102 | #define VER_PRIVATE VS_FF_PRIVATEBUILD |
103 | #endif |
104 | |
105 | #define VER_SPECIALBUILD 0 |
106 | |
107 | #define VER_FILEFLAGSMASK VS_FFI_FILEFLAGSMASK |
108 | #define VER_FILEFLAGS (VER_PRERELEASE|VER_DEBUG|VER_PRIVATE|VER_SPECIALBUILD) |
109 | #define VER_FILEOS VOS__WINDOWS32 |
110 | |
111 | #define VER_COMPANYNAME_STR "Microsoft Corporation" |
112 | |
113 | #ifdef VER_LANGNEUTRAL |
114 | #define VER_VERSION_UNICODE_LANG "000004B0" /* LANG_NEUTRAL/SUBLANG_NEUTRAL, Unicode CP */ |
115 | #define VER_VERSION_ANSI_LANG "000004E4" /* LANG_NEUTRAL/SUBLANG_NEUTRAL, Ansi CP */ |
116 | #define VER_VERSION_TRANSLATION 0x0000, 0x04B0 |
117 | #else |
118 | #define VER_VERSION_UNICODE_LANG "040904B0" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP */ |
119 | #define VER_VERSION_ANSI_LANG "040904E4" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Ansi CP */ |
120 | #define VER_VERSION_TRANSLATION 0x0409, 0x04B0 |
121 | #endif |
122 | |
123 | #if defined(CSC_INVOKED) |
124 | #define VER_COMMENTS_STR "Flavor=" + QUOTE_MACRO(URTBLDENV_FRIENDLY) |
125 | #else |
126 | #define "Flavor=" QUOTE_MACRO(URTBLDENV_FRIENDLY) |
127 | #endif |
128 | |
129 | #define VER_PRIVATEBUILD_STR QUOTE_MACRO(FX_VER_PRIVATEBUILD_STR) |
130 | |
131 | #if defined(__BUILDMACHINE__) |
132 | #if defined(__BUILDDATE__) |
133 | #define B2(x,y) " (" #x "." #y ")" |
134 | #define B1(x,y) B2(x, y) |
135 | #define BUILD_MACHINE_TAG B1(__BUILDMACHINE__, __BUILDDATE__) |
136 | #else |
137 | #define B2(x) " built by: " #x |
138 | #define B1(x) B2(x) |
139 | #define BUILD_MACHINE_TAG B1(__BUILDMACHINE__) |
140 | #endif |
141 | #if defined(__BUILDMACHINE_LEN__) |
142 | #if __BUILDMACHINE_LEN__ >= 25 |
143 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG |
144 | #elif __BUILDMACHINE_LEN__ == 24 |
145 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
146 | #elif __BUILDMACHINE_LEN__ == 23 |
147 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
148 | #elif __BUILDMACHINE_LEN__ == 22 |
149 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
150 | #elif __BUILDMACHINE_LEN__ == 21 |
151 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
152 | #elif __BUILDMACHINE_LEN__ == 20 |
153 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
154 | #elif __BUILDMACHINE_LEN__ == 19 |
155 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
156 | #elif __BUILDMACHINE_LEN__ == 18 |
157 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
158 | #elif __BUILDMACHINE_LEN__ == 17 |
159 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
160 | #elif __BUILDMACHINE_LEN__ == 16 |
161 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
162 | #elif __BUILDMACHINE_LEN__ == 15 |
163 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
164 | #elif __BUILDMACHINE_LEN__ == 14 |
165 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
166 | #elif __BUILDMACHINE_LEN__ == 13 |
167 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
168 | #elif __BUILDMACHINE_LEN__ == 12 |
169 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
170 | #elif __BUILDMACHINE_LEN__ == 11 |
171 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
172 | #elif __BUILDMACHINE_LEN__ == 10 |
173 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
174 | #elif __BUILDMACHINE_LEN__ == 9 |
175 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
176 | #elif __BUILDMACHINE_LEN__ == 8 |
177 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
178 | #elif __BUILDMACHINE_LEN__ == 7 |
179 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
180 | #elif __BUILDMACHINE_LEN__ == 6 |
181 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
182 | #elif __BUILDMACHINE_LEN__ == 5 |
183 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
184 | #elif __BUILDMACHINE_LEN__ == 4 |
185 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
186 | #elif __BUILDMACHINE_LEN__ == 3 |
187 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
188 | #elif __BUILDMACHINE_LEN__ == 2 |
189 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
190 | #elif __BUILDMACHINE_LEN__ == 1 |
191 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " " |
192 | #else |
193 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG |
194 | #endif |
195 | #else |
196 | #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG |
197 | #endif |
198 | #else |
199 | #define BUILD_MACHINE_TAG |
200 | #define BUILD_MACHINE_TAG_PADDED |
201 | #endif |
202 | |
203 | #endif |
204 | |