Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
8.6 KiB

  1. /*---------------------------------------------------------------*/
  2. /* */
  3. /* The following section actually creates the version structure. */
  4. /* They are ignored if we are not being invoked by RC. */
  5. /* */
  6. /* ntverp.H must be included before including this file */
  7. /* */
  8. /* If VER_LEGALCOPYRIGHT_STR is not defined, it will be */
  9. /* constructed using VER_LEGALCOPYRIGHT_YEARS, so at least one */
  10. /* these macros must be defined before including this file. */
  11. /* */
  12. /* VER_FILETYPE, VER_FILESUBTYPE, VER_FILEDESCRIPTION_STR, and */
  13. /* VER_INTERNALNAME_STR must be defined before including this */
  14. /* file. */
  15. /* */
  16. /* If VER_FILEVERSION is not defined, VER_PRODUCTVERSION will be */
  17. /* used instead. If VER_FILEVERSION_STR is not defined, */
  18. /* VER_PRODUCTVERSION_STR will be used instead. */
  19. /* */
  20. /* If VER_ORIGINALFILENAME_STR is not defined, it is set to */
  21. /* the value in VER_INTERNALNAME_STR. */
  22. /* */
  23. /* If INTL is defined, then this is assumed to be an */
  24. /* an international build; two string blocks will be created, */
  25. /* (since all version resources must have English), and the */
  26. /* second one can be localized */
  27. /* */
  28. /*---------------------------------------------------------------*/
  29. #ifndef VER_LEGALCOPYRIGHT_YEARS
  30. #define VER_LEGALCOPYRIGHT_YEARS "1981-2001"
  31. #endif
  32. #ifndef VER_LEGALCOPYRIGHT_STR
  33. #ifdef RC_INVOKED
  34. #define VER_LEGALCOPYRIGHT_STR "\251 Microsoft Corporation. All rights reserved."
  35. #else
  36. #define VER_LEGALCOPYRIGHT_STR "Copyright (c) Microsoft Corporation. All rights reserved."
  37. #endif
  38. #endif
  39. #ifndef VER_PRODUCTNAME_STR
  40. #ifdef RC_INVOKED
  41. #define VER_PRODUCTNAME_STR "Microsoft\256 Windows\256 Operating System"
  42. #else
  43. #define VER_PRODUCTNAME_STR "Microsoft (R) Windows (R) Operating System"
  44. #endif
  45. #endif
  46. #ifndef VER_PRODUCTVERSION
  47. #define VER_PRODUCTVERSION 5,00,01,001
  48. #endif
  49. #ifndef VER_FILEVERSION
  50. #define VER_FILEVERSION VER_PRODUCTVERSION
  51. #endif
  52. #ifndef VER_PRODUCTVERSION_STR
  53. #define VER_PRODUCTVERSION_STR "5.00"
  54. #endif
  55. #ifndef VER_FILEVERSION_STR
  56. #define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR
  57. #endif
  58. #ifndef VER_ORIGINALFILENAME_STR
  59. #define VER_ORIGINALFILENAME_STR VER_INTERNALNAME_STR
  60. #endif
  61. #ifdef EXPORT_CONTROLLED
  62. #ifdef EXPORT
  63. #define EXPORT_TAG " (Export Version)"
  64. #else
  65. #define EXPORT_TAG " (US/Canada Only, Not for Export)"
  66. #endif
  67. #else /* Not Export Controlled */
  68. #define EXPORT_TAG
  69. #endif
  70. #if defined(__BUILDMACHINE__)
  71. #if defined(__BUILDDATE__)
  72. #define B2(x,y) " (" #x "." #y ")"
  73. #define B1(x,y) B2(x, y)
  74. #define BUILD_MACHINE_TAG B1(__BUILDMACHINE__, __BUILDDATE__)
  75. #else
  76. #define B2(x) " built by: " #x
  77. #define B1(x) B2(x)
  78. #define BUILD_MACHINE_TAG B1(__BUILDMACHINE__)
  79. #endif
  80. #if defined(__BUILDMACHINE_LEN__)
  81. #if __BUILDMACHINE_LEN__ >= 25
  82. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
  83. #elif __BUILDMACHINE_LEN__ == 24
  84. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  85. #elif __BUILDMACHINE_LEN__ == 23
  86. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  87. #elif __BUILDMACHINE_LEN__ == 22
  88. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  89. #elif __BUILDMACHINE_LEN__ == 21
  90. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  91. #elif __BUILDMACHINE_LEN__ == 20
  92. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  93. #elif __BUILDMACHINE_LEN__ == 19
  94. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  95. #elif __BUILDMACHINE_LEN__ == 18
  96. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  97. #elif __BUILDMACHINE_LEN__ == 17
  98. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  99. #elif __BUILDMACHINE_LEN__ == 16
  100. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  101. #elif __BUILDMACHINE_LEN__ == 15
  102. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  103. #elif __BUILDMACHINE_LEN__ == 14
  104. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  105. #elif __BUILDMACHINE_LEN__ == 13
  106. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  107. #elif __BUILDMACHINE_LEN__ == 12
  108. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  109. #elif __BUILDMACHINE_LEN__ == 11
  110. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  111. #elif __BUILDMACHINE_LEN__ == 10
  112. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  113. #elif __BUILDMACHINE_LEN__ == 9
  114. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  115. #elif __BUILDMACHINE_LEN__ == 8
  116. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  117. #elif __BUILDMACHINE_LEN__ == 7
  118. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  119. #elif __BUILDMACHINE_LEN__ == 6
  120. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  121. #elif __BUILDMACHINE_LEN__ == 5
  122. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  123. #elif __BUILDMACHINE_LEN__ == 4
  124. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  125. #elif __BUILDMACHINE_LEN__ == 3
  126. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  127. #elif __BUILDMACHINE_LEN__ == 2
  128. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  129. #elif __BUILDMACHINE_LEN__ == 1
  130. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG " "
  131. #else
  132. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
  133. #endif
  134. #else
  135. #define BUILD_MACHINE_TAG_PADDED BUILD_MACHINE_TAG
  136. #endif
  137. #else
  138. #define BUILD_MACHINE_TAG
  139. #define BUILD_MACHINE_TAG_PADDED
  140. #endif
  141. #ifdef VER_LANGNEUTRAL
  142. #define VER_VERSION_UNICODE_LANG "000004B0" /* LANG_NEUTRAL/SUBLANG_NEUTRAL, Unicode CP */
  143. #define VER_VERSION_ANSI_LANG "000004E4" /* LANG_NEUTRAL/SUBLANG_NEUTRAL, Ansi CP */
  144. #define VER_VERSION_TRANSLATION 0x0000, 0x04B0
  145. #else
  146. #define VER_VERSION_UNICODE_LANG "040904B0" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP */
  147. #define VER_VERSION_ANSI_LANG "0c0904E4" /* LANG_ENGLISH/SUBLANG_ENGLISH_US, Ansi CP */
  148. #define VER_VERSION_TRANSLATION 0x0409, 0x04B0
  149. #endif
  150. #ifdef RC_INVOKED
  151. VS_VERSION_INFO VERSIONINFO
  152. FILEVERSION VER_FILEVERSION
  153. PRODUCTVERSION VER_PRODUCTVERSION
  154. FILEFLAGSMASK VER_FILEFLAGSMASK
  155. FILEFLAGS VER_FILEFLAGS
  156. FILEOS VER_FILEOS
  157. FILETYPE VER_FILETYPE
  158. FILESUBTYPE VER_FILESUBTYPE
  159. BEGIN
  160. BLOCK "StringFileInfo"
  161. BEGIN
  162. BLOCK VER_VERSION_UNICODE_LANG
  163. BEGIN
  164. VALUE "CompanyName", VER_COMPANYNAME_STR
  165. VALUE "FileDescription", VER_FILEDESCRIPTION_STR EXPORT_TAG
  166. VALUE "FileVersion", VER_FILEVERSION_STR BUILD_MACHINE_TAG_PADDED
  167. VALUE "InternalName", VER_INTERNALNAME_STR
  168. VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
  169. VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
  170. VALUE "ProductName", VER_PRODUCTNAME_STR
  171. VALUE "ProductVersion", VER_PRODUCTVERSION_STR
  172. #ifdef VER_OLESELFREGISTER
  173. VALUE "OleSelfRegister", "\0"
  174. #endif
  175. END
  176. #ifdef VER_ANSICP /* Some apps are hard coded to look for ANSI CP. */
  177. BLOCK VER_VERSION_ANSI_LANG
  178. BEGIN
  179. VALUE "CompanyName", VER_COMPANYNAME_STR
  180. VALUE "FileDescription", VER_FILEDESCRIPTION_STR EXPORT_TAG
  181. VALUE "FileVersion", VER_FILEVERSION_STR
  182. VALUE "InternalName", VER_INTERNALNAME_STR
  183. VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR
  184. VALUE "OriginalFilename",VER_ORIGINALFILENAME_STR
  185. VALUE "ProductName", VER_PRODUCTNAME_STR
  186. VALUE "ProductVersion", VER_PRODUCTVERSION_STR
  187. #ifdef VER_OLESELFREGISTER
  188. VALUE "OleSelfRegister", "\0"
  189. #endif
  190. END
  191. #endif
  192. END
  193. BLOCK "VarFileInfo"
  194. BEGIN
  195. VALUE "Translation", VER_VERSION_TRANSLATION
  196. END
  197. END
  198. #endif