Leaked source code of windows server 2003
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.

356 lines
13 KiB

  1. @if "%_echo%" == "" echo off
  2. setlocal enableextensions
  3. set _HIVEINI_FLAGS=
  4. set _HIVE_OPTIONS=
  5. set _HIVE_KEEP=
  6. set _HIVE_REASON=Unknown Purpose
  7. set _HIVE_DEFPROC=0
  8. set _ALT_TARGET=%1
  9. set _ORIGINAL_HIVE_OPTIONS=
  10. set _ORIGINAL_ORIGINAL_HIVE_OPTIONS=
  11. set _ENTERPRISEHACK=
  12. set _DTC64PROC=
  13. set _TEMP_64PROC_FOR_IA64DTC=
  14. if "%HIVE_OUTPUT_DIR%" == "" set HIVE_OUTPUT_DIR=.
  15. if "%MPC_VALUE%" == "" set MPC_VALUE=55034
  16. shift
  17. if "%_ALT_TARGET%" == "NEC_98" set _HIVE_OPTIONS=-DNEC_98
  18. :loop
  19. if "%1" == "" goto doit
  20. if "%1" == "RETAIL" goto doretail
  21. if "%1" == "Retail" goto doretail
  22. if "%1" == "retail" goto doretail
  23. if "%1" == "KEEP" goto dokeep
  24. if "%1" == "Keep" goto dokeep
  25. if "%1" == "keep" goto dokeep
  26. if "%1" == "CAIRO" goto docairo
  27. if "%1" == "Cairo" goto docairo
  28. if "%1" == "cairo" goto docairo
  29. if "%1" == "suite" goto dosuite
  30. if "%1" == "suite" goto dosuite
  31. set _HIVEINI_FLAGS=%_HIVEINI_FLAGS% %1
  32. shift
  33. goto loop
  34. :doretail
  35. set _HIVE_OPTIONS=-D_GENERAL_PURPOSE_ -D_RETAIL_SETUP_ %_HIVE_OPTIONS%
  36. set _HIVE_REASON=Retail Setup
  37. shift
  38. goto loop
  39. :dokeep
  40. set _HIVE_KEEP=YES
  41. shift
  42. goto loop
  43. :dosuite
  44. shift
  45. set tmp_suite=%1
  46. if /i "%1"=="SMALLBIZ" set tmp_suite=1
  47. if /i "%1"=="ENTERPRISE" set tmp_suite=2
  48. if /i "%1"=="COMMUNICATIONSERVER" set tmp_suite=8
  49. if /i "%1"=="BACKOFFICE" set tmp_suite=4
  50. if /i "%1"=="SMALLBIZR" set tmp_suite=33
  51. if /i "%1"=="DATACENTER" set tmp_suite=130
  52. if /i "%1"=="PERSONAL" (
  53. set tmp_suite=512
  54. set _HIVE_DEFPROC=1
  55. )
  56. if /i "%1"=="BLADE" (
  57. set tmp_suite=1024
  58. set _HIVE_DEFPROC=2
  59. )
  60. if /i "%1"=="Server" (
  61. set _HIVE_DEFPROC=4
  62. )
  63. if /i "%1"=="SMALLBIZR" (
  64. set _HIVE_DEFPROC=2
  65. )
  66. set _HIVE_OPTIONS=%_HIVE_OPTIONS% -DSUITE_TYPE=%tmp_suite%
  67. rem
  68. rem a hack to make sure that the default retail hive (setupreg.hiv) has the correct number of procs for
  69. rem enterprise and datacenter. we never want a 1 proc datacenter or enterprise, so this is ok
  70. rem
  71. if /i "%1"=="ENTERPRISE" (
  72. set _HIVE_DEFPROC=8
  73. set _ENTERPRISEHACK=1
  74. )
  75. if /i "%1"=="DATACENTER" (
  76. set _HIVE_DEFPROC=64
  77. set _DTC64PROC=yes
  78. )
  79. shift
  80. goto loop
  81. :docairo
  82. if "%_HIVE_OPTIONS%" == "" goto usage
  83. set _HIVE_OPTIONS=%_HIVE_OPTIONS% -D_CAIRO_
  84. set _HIVE_REASON=%_HIVE_REASON% for Cairo
  85. set _CAIRO_HIVE=yes
  86. shift
  87. goto loop
  88. :doit
  89. if "%_ALT_TARGET%" == "NEC_98" set _ORIGINAL_ORIGINAL_HIVE_OPTIONS=-DNEC_98
  90. set _ORIGINAL_HIVE_OPTIONS=%_ORIGINAL_ORIGINAL_HIVE_OPTIONS% %_HIVE_OPTIONS%
  91. set _PREPROCESSOR=hivepp -R -P -I . -f
  92. rem
  93. rem Setupreg.hiv for IA64 DataCenter set to 64 CPU's for all Beta period
  94. rem
  95. if /i "%_buildarch%"=="ia64" (
  96. if /i "%_DTC64PROC%"=="yes" (
  97. set _TEMP_64PROC_FOR_IA64DTC=yes
  98. )
  99. )
  100. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  101. set TEMP_HIVE_DEFPROC=_HIVE_DEFPROC
  102. set _HIVE_DEFPROC=64
  103. )
  104. rem
  105. rem note that we use HIVE_DEFPROC below instead of a hardcoded CPU limit
  106. rem see the note above -- this is so the "default" hive is set correctly
  107. rem
  108. echo Creating SETUPREG.HIV hive for %_HIVE_REASON%
  109. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC%
  110. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUPREG.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setupreg.$$$ %HIVE_OUTPUT_DIR%\setupreg.log %HIVE_OUTPUT_DIR%\setuppreg.ini %MPC_VALUE%
  111. if ERRORLEVEL 1 goto done
  112. rem
  113. rem Restore the parameter changed before
  114. rem
  115. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  116. set _HIVE_DEFPROC=TEMP_HIVE_DEFPROC
  117. )
  118. rem
  119. rem Generate the various restricted processor forms of the hives
  120. rem
  121. rem
  122. rem setupret.hiv allows 2p on NTW and 4p on NTS
  123. rem
  124. echo Creating SETUPRET.HIV hive for %_HIVE_REASON%
  125. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=0
  126. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUPRET.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setupret.$$$ %HIVE_OUTPUT_DIR%\setupret.log %HIVE_OUTPUT_DIR%\setuppret.ini %MPC_VALUE%
  127. if ERRORLEVEL 1 goto done
  128. rem
  129. rem setup2P.hiv allows 2p on NTW and NTS
  130. rem
  131. echo Creating SETUP2P.HIV hive for %_HIVE_REASON%
  132. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=2
  133. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP2P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup2P.$$$ %HIVE_OUTPUT_DIR%\setup2P.log %HIVE_OUTPUT_DIR%\setupp2P.ini %MPC_VALUE%
  134. if ERRORLEVEL 1 goto done
  135. rem
  136. rem setup4P.hiv allows 4p on NTW and NTS
  137. rem
  138. echo Creating SETUP4P.HIV hive for %_HIVE_REASON%
  139. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=4
  140. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP4P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup4P.$$$ %HIVE_OUTPUT_DIR%\setup4P.log %HIVE_OUTPUT_DIR%\setupp4P.ini %MPC_VALUE%
  141. if ERRORLEVEL 1 goto done
  142. rem
  143. rem setup8P.hiv allows 8p on NTW and NTS
  144. rem
  145. echo Creating SETUP8P.HIV hive for %_HIVE_REASON%
  146. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=8
  147. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP8P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup8P.$$$ %HIVE_OUTPUT_DIR%\setup8P.log %HIVE_OUTPUT_DIR%\setupp8P.ini %MPC_VALUE%
  148. if ERRORLEVEL 1 goto done
  149. rem
  150. rem setup16P.hiv allows 16p on NTW and NTS
  151. rem
  152. echo Creating SETUP16P.HIV hive for %_HIVE_REASON%
  153. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=16
  154. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP16P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup16P.$$$ %HIVE_OUTPUT_DIR%\setup16P.log %HIVE_OUTPUT_DIR%\setupp16P.ini %MPC_VALUE%
  155. if ERRORLEVEL 1 goto done
  156. rem
  157. rem setup32P.hiv allows 32p on NTW and NTS
  158. rem
  159. echo Creating SETUP32P.HIV hive for %_HIVE_REASON%
  160. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=32
  161. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP32P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup32P.$$$ %HIVE_OUTPUT_DIR%\setup32P.log %HIVE_OUTPUT_DIR%\setupp32P.ini %MPC_VALUE%
  162. if ERRORLEVEL 1 goto done
  163. if /i "%_DTC64PROC%" == "yes" (
  164. rem
  165. rem setup64P.hiv allows 64P on NTS
  166. rem
  167. echo Creating SETUP64P.HIV hive for %_HIVE_REASON%
  168. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=64
  169. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUP64P.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setup64P.$$$ %HIVE_OUTPUT_DIR%\setup64P.log %HIVE_OUTPUT_DIR%\setupp64P.ini %MPC_VALUE%
  170. if ERRORLEVEL 1 goto done
  171. )
  172. rem
  173. rem Generate the 5, 30, 60, 90, 120, and 150 timebomb evaluation units. Only "retail" processor
  174. rem configurations are built (NTW=2p and NTW=4p)
  175. rem
  176. rem
  177. rem tbomb5.hiv is good for 5 days
  178. rem
  179. echo Creating TBOMB5.HIV hive for %_HIVE_REASON%
  180. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=7200
  181. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB5.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb5.$$$ %HIVE_OUTPUT_DIR%\tbomb5.log %HIVE_OUTPUT_DIR%\setupptb5.ini %MPC_VALUE%
  182. if ERRORLEVEL 1 goto done
  183. rem
  184. rem tbomb15.hiv is good for 15 days
  185. rem
  186. echo Creating TBOMB15.HIV hive for %_HIVE_REASON%
  187. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=21600
  188. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB15.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb15.$$$ %HIVE_OUTPUT_DIR%\tbomb15.log %HIVE_OUTPUT_DIR%\setupptb15.ini %MPC_VALUE%
  189. if ERRORLEVEL 1 goto done
  190. rem
  191. rem tbomb30.hiv is good for 30 days
  192. rem
  193. echo Creating TBOMB30.HIV hive for %_HIVE_REASON%
  194. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=43200
  195. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB30.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb30.$$$ %HIVE_OUTPUT_DIR%\tbomb30.log %HIVE_OUTPUT_DIR%\setupptb30.ini %MPC_VALUE%
  196. if ERRORLEVEL 1 goto done
  197. rem
  198. rem tbomb60.hiv is good for 60 days
  199. rem
  200. echo Creating TBOMB60.HIV hive for %_HIVE_REASON%
  201. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=86400
  202. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB60.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb60.$$$ %HIVE_OUTPUT_DIR%\tbomb60.log %HIVE_OUTPUT_DIR%\setupptb60.ini %MPC_VALUE%
  203. if ERRORLEVEL 1 goto done
  204. rem
  205. rem tbomb90.hiv is good for 90 days
  206. rem
  207. echo Creating TBOMB90.HIV hive for %_HIVE_REASON%
  208. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=129600
  209. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB90.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb90.$$$ %HIVE_OUTPUT_DIR%\tbomb90.log %HIVE_OUTPUT_DIR%\setupptb90.ini %MPC_VALUE%
  210. if ERRORLEVEL 1 goto done
  211. rem
  212. rem tbomb120.hiv is good for 120 days
  213. rem
  214. echo Creating TBOMB120.HIV hive for %_HIVE_REASON%
  215. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=172800
  216. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB120.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb120.$$$ %HIVE_OUTPUT_DIR%\tbomb120.log %HIVE_OUTPUT_DIR%\setupptb120.ini %MPC_VALUE%
  217. if ERRORLEVEL 1 goto done
  218. rem
  219. rem tbomb150.hiv is good for 150 days
  220. rem
  221. echo Creating TBOMB150.HIV hive for %_HIVE_REASON%
  222. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=216000
  223. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB150.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb150.$$$ %HIVE_OUTPUT_DIR%\tbomb150.log %HIVE_OUTPUT_DIR%\setupptb150.ini %MPC_VALUE%
  224. if ERRORLEVEL 1 goto done
  225. rem
  226. rem Setupreg.hiv for IA64 DataCenter set to 64 CPU's for all Beta period
  227. rem
  228. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  229. set TEMP_HIVE_DEFPROC=_HIVE_DEFPROC
  230. set _HIVE_DEFPROC=64
  231. )
  232. rem
  233. rem tbomb180.hiv is good for 180 days
  234. rem
  235. echo Creating TBOMB180.HIV hive for %_HIVE_REASON%
  236. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=259200
  237. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB180.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb180.$$$ %HIVE_OUTPUT_DIR%\tbomb180.log %HIVE_OUTPUT_DIR%\setupptb180.ini %MPC_VALUE%
  238. if ERRORLEVEL 1 goto done
  239. rem
  240. rem Restore the parameter changed before
  241. rem
  242. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  243. set _HIVE_DEFPROC=TEMP_HIVE_DEFPROC
  244. )
  245. rem
  246. rem tbomb240.hiv is good for 240 days
  247. rem
  248. echo Creating TBOMB240.HIV hive for %_HIVE_REASON%
  249. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=345600
  250. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB240.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb240.$$$ %HIVE_OUTPUT_DIR%\tbomb240.log %HIVE_OUTPUT_DIR%\setupptb240.ini %MPC_VALUE%
  251. if ERRORLEVEL 1 goto done
  252. rem
  253. rem Setupreg.hiv for IA64 DataCenter set to 64 CPU's for all Beta period
  254. rem
  255. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  256. set TEMP_HIVE_DEFPROC=_HIVE_DEFPROC
  257. set _HIVE_DEFPROC=64
  258. )
  259. rem
  260. rem tbomb360.hiv is good for 360 days
  261. rem
  262. echo Creating TBOMB360.HIV hive for %_HIVE_REASON%
  263. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=518400
  264. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB360.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb360.$$$ %HIVE_OUTPUT_DIR%\tbomb360.log %HIVE_OUTPUT_DIR%\setupptb360.ini %MPC_VALUE%
  265. if ERRORLEVEL 1 goto done
  266. rem
  267. rem Restore the parameter changed before
  268. rem
  269. if /i "%_TEMP_64PROC_FOR_IA64DTC%"=="yes" (
  270. set _HIVE_DEFPROC=TEMP_HIVE_DEFPROC
  271. )
  272. rem
  273. rem tbomb444.hiv is good for 444 days
  274. rem
  275. echo Creating TBOMB444.HIV hive for %_HIVE_REASON%
  276. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=%_HIVE_DEFPROC% -DEVALTIME=639360
  277. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TBOMB444.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tbomb444.$$$ %HIVE_OUTPUT_DIR%\tbomb444.log %HIVE_OUTPUT_DIR%\setupptb444.ini %MPC_VALUE%
  278. if ERRORLEVEL 1 goto done
  279. rem
  280. rem tb32p444.hiv has 32 processors and is good for 444 days
  281. rem
  282. echo Creating TB32p444.HIV hive for %_HIVE_REASON%
  283. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=32 -DEVALTIME=639360
  284. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TB32p444.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tb32p444.$$$ %HIVE_OUTPUT_DIR%\tb32p444.log %HIVE_OUTPUT_DIR%\setupp32ptb444.ini %MPC_VALUE%
  285. if ERRORLEVEL 1 goto done
  286. if /i "%_DTC64PROC%" == "yes" (
  287. rem
  288. rem tb64p444.hiv has 64 processors and is good for 444 days
  289. rem
  290. echo Creating TB64p444.HIV hive for %_HIVE_REASON%
  291. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -DRESTRICT_CPU=64 -DEVALTIME=639360
  292. call mkhive1.cmd %HIVE_OUTPUT_DIR%\TB64p444.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\tb64p444.$$$ %HIVE_OUTPUT_DIR%\tb64p444.log %HIVE_OUTPUT_DIR%\setupp64ptb444.ini %MPC_VALUE%
  293. if ERRORLEVEL 1 goto done
  294. )
  295. echo Creating SETUPUPG.HIV hive for %_HIVE_REASON%
  296. if not "%_ENTERPRISEHACK%"=="" set _HIVE_DEFPROC=8
  297. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS% -D_STEPUP_ -DRESTRICT_CPU=%_HIVE_DEFPROC%
  298. call mkhive1.cmd %HIVE_OUTPUT_DIR%\SETUPUPG.HIV System setupreg.ini %HIVE_OUTPUT_DIR%\setupupg.$$$ %HIVE_OUTPUT_DIR%\setupupg.log %HIVE_OUTPUT_DIR%\setuppupg.ini %MPC_VALUE%
  299. if ERRORLEVEL 1 goto done
  300. set _HIVE_OPTIONS=%_ORIGINAL_HIVE_OPTIONS%
  301. Rem make retail setupp.ini
  302. call mkini %HIVE_OUTPUT_DIR%\setupp.ini %MPC_VALUE% r
  303. rem make volume licensing setupp.ini
  304. call mkini %HIVE_OUTPUT_DIR%\setuppv.ini %MPC_VALUE% s
  305. goto done
  306. :usage
  307. echo Usage: MKHIVES RETAIL [KEEP]
  308. :done
  309. endlocal