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
2.8 KiB

  1. @echo off
  2. REM ------------------------------------------------------------------
  3. REM
  4. REM tsclient.cmd
  5. REM Build terminal server client bits every build
  6. REM Owner: NadimA, MadanA
  7. REM
  8. REM Copyright (c) Microsoft Corporation. All rights reserved.
  9. REM
  10. REM ------------------------------------------------------------------
  11. if defined _CPCMAGIC goto CPCBegin
  12. perl -x "%~f0" %*
  13. goto :EOF
  14. #!perl
  15. use strict;
  16. use lib $ENV{RAZZLETOOLPATH} . "\\PostBuildScripts";
  17. use lib $ENV{RAZZLETOOLPATH};
  18. use PbuildEnv;
  19. use ParseArgs;
  20. sub Usage { print<<USAGE; exit(1) }
  21. tsclient [-l <language>]
  22. Build terminal server client bits.
  23. USAGE
  24. parseargs('?' => \&Usage);
  25. # *** NEXT FEW LINES ARE TEMPLATE ***
  26. $ENV{"_CPCMAGIC"}++;exit(system($0)>>8);
  27. __END__
  28. :CPCBegin
  29. set _CPCMAGIC=
  30. setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
  31. REM *** BEGIN YOUR CMD SCRIPT BELOW ***
  32. REM
  33. REM Check the sku's for the language
  34. REM TSclient only is built for srv and higher products
  35. REM
  36. set _PER=1
  37. set _BLA=1
  38. set _SBS=1
  39. set _SRV=1
  40. set _ADS=1
  41. set _DTC=1
  42. perl %RazzleToolPath%\cksku.pm -t:per -l:%lang%
  43. if errorlevel 1 set _PER=
  44. perl %RazzleToolPath%\cksku.pm -t:bla -l:%lang%
  45. if errorlevel 1 set _BLA=
  46. perl %RazzleToolPath%\cksku.pm -t:sbs -l:%lang%
  47. if errorlevel 1 set _SBS=
  48. perl %RazzleToolPath%\cksku.pm -t:srv -l:%lang%
  49. if errorlevel 1 set _SRV=
  50. perl %RazzleToolPath%\cksku.pm -t:ads -l:%lang%
  51. if errorlevel 1 set _ADS=
  52. perl %RazzleToolPath%\cksku.pm -t:dtc -l:%lang%
  53. if errorlevel 1 set _DTC=
  54. if defined _BLA goto ValidSku
  55. if defined _SBS goto ValidSku
  56. if defined _SRV goto ValidSku
  57. if defined _ADS goto ValidSku
  58. if defined _DTC goto ValidSku
  59. call logmsg.cmd "TSClient not built for non server products..."
  60. goto :EOF
  61. :ValidSku
  62. REM
  63. REM Only do this for X86 builds for now. Win64 will come later
  64. REM repropagation will have to come into play for that
  65. REM
  66. if defined ia64 goto :TS64
  67. if defined amd64 goto :TS64
  68. if NOT defined 386 goto :EOF
  69. REM
  70. REM Build the tsclient MSI data cab
  71. REM
  72. pushd %_NTPostBld%\tsclient\win32\i386
  73. call ExecuteCmd.cmd "tscmsigen.cmd"
  74. popd
  75. :TS64
  76. REM
  77. REM Propagate the TS Client files to the root of binaries.
  78. REM This is done via a makefile binplace to tsclient\dump.
  79. REM
  80. call logmsg.cmd "Copying/renaming TS Client files and copying the root of binaries."
  81. set makefile_path=%_NTPostBld%\tsclient\dump
  82. if not exist %makefile_path%\mkrsys (
  83. call errmsg.cmd "Unable to find %makefile_path%\mkrsys."
  84. goto :EOF
  85. )
  86. set tscbin=%_NTPostBld%\tsclient
  87. REM
  88. REM Run nmake on the tsclient\dump makefile.
  89. REM
  90. pushd %makefile_path%
  91. if errorlevel 1 (
  92. call errmsg.cmd "Unable to change directory to %makefile_path%."
  93. goto :EOF
  94. )
  95. REM
  96. REM No 16 bit TS Client for FE languages.
  97. REM
  98. set NO_WIN16_TSCLIENT=
  99. perl %RazzleToolPath%\cklang.pm -l:%lang% -c:@FE
  100. if %errorlevel% EQU 0 set NO_WIN16_TSCLIENT=1
  101. call ExecuteCmd.cmd "nmake /nologo /f %makefile_path%\mkrsys tscbin=%tscbin%"
  102. popd