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.

132 lines
3.2 KiB

  1. @echo off
  2. set __FULL_BUILD=TRUE
  3. REM This does not catch all possible invocations for a non-full build
  4. REM it does, however, catch the bz alias which is the most common.
  5. if %1 == -Z (
  6. set __FULL_BUILD=FALSE
  7. echo Minimal build
  8. ) else (
  9. echo Full build
  10. )
  11. set __SHIMDBC_OPT=
  12. if "%SHIMDBC_STRICT%" == "" goto ShimdbcNoStrict
  13. @echo ShimDBC: Strict compile
  14. set __SHIMDBC_OPT=-s
  15. :ShimdbcNoStrict
  16. if defined SHIMDBC_LANG goto ShimdbcUserSpecifiedLang
  17. set SHIMDBC_LANG=USA
  18. :ShimdbcUserSpecifiedLang
  19. rd /s /q obj
  20. if not exist obj mkdir obj
  21. if not exist obj\i386 mkdir obj\i386
  22. if not exist obj\i386\drvmain mkdir obj\i386\drvmain
  23. del /q obj\i386\*
  24. del /q obj\i386\drvmain\*
  25. call %SDXROOT%\windows\appcompat\db\copyreqfiles.cmd obj\i386
  26. pushd obj\i386
  27. md drvmain
  28. md apps_sp
  29. shimdbc custom %__SHIMDBC_OPT% -ov 5.1 -l %SHIMDBC_LANG% -x %SDXROOT%\windows\appcompat\db\makefile.xml
  30. if errorlevel 1 goto HandleError
  31. if not exist temp mkdir temp
  32. copy sysmain.sdb temp
  33. call deltacat.cmd %SDXROOT%\windows\appcompat\package\obj\i386\temp
  34. copy temp\delta.* delta1.*
  35. del /f /q temp\*.*
  36. copy apphelp.sdb temp
  37. call deltacat.cmd %SDXROOT%\windows\appcompat\package\obj\i386\temp
  38. copy temp\delta.* delta2.*
  39. del /f /q temp\*.*
  40. copy msimain.sdb temp
  41. call deltacat.cmd %SDXROOT%\windows\appcompat\package\obj\i386\temp
  42. copy temp\delta.* delta3.*
  43. del /f /q temp\*.*
  44. type %SDXROOT%\windows\appcompat\package\apcompat.inx >apcompat.inf
  45. copy %SDXROOT%\windows\appcompat\package\postcopy.cmd
  46. copy %SDXROOT%\tools\testroot.cer
  47. copy %SDXROOT%\tools\x86\certmgr.exe
  48. copy %SDXROOT%\tools\x86\chktrust.exe
  49. if %__FULL_BUILD% == TRUE (
  50. pushd %SDXROOT%\windows\appcompat\tools\fcopy
  51. build -cZ
  52. popd
  53. set NT_SIGNCODE=1
  54. pushd %SDXROOT%\windows\appcompat\shims\lib
  55. build -cZ
  56. popd
  57. pushd %SDXROOT%\windows\appcompat\shims\Layer
  58. build -cZ
  59. popd
  60. pushd %SDXROOT%\windows\appcompat\shims\lua
  61. build -cZ
  62. popd
  63. pushd %SDXROOT%\windows\appcompat\shims\Specific
  64. build -cZ
  65. popd
  66. pushd %SDXROOT%\windows\appcompat\shims\General
  67. build -cZ
  68. popd
  69. pushd %SDXROOT%\windows\appcompat\shims\External
  70. build -cZ
  71. popd
  72. pushd %SDXROOT%\windows\appcompat\shims\Verifier
  73. build -cZ
  74. popd
  75. )
  76. copy %SDXROOT%\windows\appcompat\tools\fcopy\obj\i386\fcopy.exe
  77. copy %SDXROOT%\windows\appcompat\shims\layer\whistler\obj\i386\AcLayers.dll AcLayers.dl_
  78. copy %SDXROOT%\windows\appcompat\shims\lua\whistler\obj\i386\AcLua.dll AcLua.dl_
  79. copy %SDXROOT%\windows\appcompat\shims\specific\whistler\obj\i386\AcSpecfc.dll AcSpecfc.dl_
  80. copy %SDXROOT%\windows\appcompat\shims\general\whistler\obj\i386\AcGenral.dll AcGenral.dl_
  81. copy %SDXROOT%\windows\appcompat\shims\external\whistler\obj\i386\AcXtrnal.dll AcXtrnal.dl_
  82. copy %SDXROOT%\windows\appcompat\shims\verifier\whistler\obj\i386\AcVerfyr.dll AcVerfyr.dl_
  83. regsvr32 /s %SDXROOT%\windows\appcompat\buildtools\x86\itcc.dll
  84. %SDXROOT%\windows\appcompat\buildtools\x86\hhc apps.hhp
  85. ren sysmain.sdb *.sd_
  86. ren apphelp.sdb *.sd_
  87. ren msimain.sdb *.sd_
  88. %SDXROOT%\windows\appcompat\package\bin\iexpress /N /M %SDXROOT%\windows\appcompat\package\AppFix.sed
  89. goto FinishBuild
  90. :HandleError
  91. @echo Errors during compilation... exiting
  92. goto FinishBuild
  93. :FinishBuild
  94. set __FULL_BUILD=
  95. set __SHIMDBC_OPT=
  96. popd