ShowEnvironment.bat 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. @REM @file
  2. @REM Windows batch file to display the Windows environment
  3. @REM
  4. @REM This script will be used to show the current EDK II build environment.
  5. @REM it may be called by the Edk2Setup.bat (that will be renamed to edksetup.bat) or
  6. @REM run as stand-alone application.
  7. @REM
  8. @REM Copyright (c) 2014, Intel Corporation. All rights reserved.<BR>
  9. @REM SPDX-License-Identifier: BSD-2-Clause-Patent
  10. @REM
  11. @echo off
  12. @set SE_SVN_REVISION=$Revision: 8 $
  13. @set SE_VERSION=0.7.0.
  14. @if "%SCRIPT%"=="EDKSETUP_BAT" goto SkipCmdlineArgumentCheck
  15. :parse_cmd_line
  16. @if /I "%1"=="-h" @goto Usage
  17. @if /I "%1"=="--help" @goto Usage
  18. @if /I "%1"=="/?" @goto Usage
  19. @if /I "%1"=="-v" @goto Version
  20. @if /I "%1"=="--version" @goto Version
  21. :Usage
  22. @echo Usage: ShowEnvironment.bat [Options]
  23. @echo Copyright(c) 2014, Intel Corporation. All rights reserved.
  24. @echo.
  25. @echo Options:
  26. @echo --help, -h Print this help screen and exit
  27. @echo --version, -v Print this tool's version and exit
  28. @echo.
  29. @goto End
  30. :Version
  31. @echo ShowEnvironment.bat Version: %SE_VERSION%%SE_SVN_REVISION:~11,-1%
  32. @echo Copyright(c) 2014, Intel Corporation. All rights reserved.
  33. :SkipCmdlineArgumentCheck
  34. if defined SRC_CONF @goto SetEnv
  35. @echo.
  36. @echo #############################################################################
  37. @if defined WORKSPACE @echo WORKSPACE = %WORKSPACE%
  38. @if not defined WORKSPACE @echo WORKSPACE = Not Set
  39. @if defined PACKAGES_PATH @echo PACKAGES_PATH = %PACKAGES_PATH%
  40. @if defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%
  41. @if not defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = Not Set
  42. @if defined BASE_TOOLS_PATH @echo BASE_TOOLS_PATH = %BASE_TOOLS_PATH%
  43. @if defined EDK_TOOLS_BIN @echo EDK_TOOLS_BIN = %EDK_TOOLS_BIN%
  44. @if "%NT32PKG%"=="TRUE" (
  45. @echo.
  46. @echo NOTE: Please configure your build to use the following TOOL_CHAIN_TAG
  47. @echo when building NT32Pkg/Nt32Pkg.dsc
  48. @if defined VCINSTALLDIR @call :CheckVsVer
  49. @set TEST_VS=
  50. )
  51. @if defined HIDE_PATH goto End
  52. @echo ############################## PATH #########################################
  53. @setlocal DisableDelayedExpansion
  54. @set "var=%PATH%"
  55. @set "var=%var:"=""%"
  56. @set "var=%var:^=^^%"
  57. @set "var=%var:&=^&%"
  58. @set "var=%var:|=^|%"
  59. @set "var=%var:<=^<%"
  60. @set "var=%var:>=^>%"
  61. @set "var=%var:;=^;^;%"
  62. @set var=%var:""="%
  63. @set "var=%var:"=""Q%"
  64. @set "var=%var:;;="S"S%"
  65. @set "var=%var:^;^;=;%"
  66. @set "var=%var:""="%"
  67. @setlocal EnableDelayedExpansion
  68. @set "var=!var:"Q=!"
  69. @for %%a in ("!var:"S"S=";"!") do (
  70. @if "!!"=="" endlocal
  71. @if %%a neq "" echo %%~a
  72. )
  73. @goto End
  74. :CheckVsVer
  75. @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\"
  76. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  77. @echo TOOL_CHAIN_TAG = VS2008x86
  78. @goto :EOF
  79. )
  80. @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 9.0\"
  81. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  82. @echo TOOL_CHAIN_TAG = VS2008
  83. @goto :EOF
  84. )
  85. @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\"
  86. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  87. @echo TOOL_CHAIN_TAG = VS2010x86
  88. @goto :EOF
  89. )
  90. @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 10.0\"
  91. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  92. @echo TOOL_CHAIN_TAG = VS2010
  93. @goto :EOF
  94. )
  95. @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\"
  96. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  97. @echo TOOL_CHAIN_TAG = VS2012x86
  98. @goto :EOF
  99. )
  100. @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 11.0\"
  101. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  102. @echo TOOL_CHAIN_TAG = VS2012
  103. @goto :EOF
  104. )
  105. @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\"
  106. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  107. @echo TOOL_CHAIN_TAG = VS2013x86
  108. @goto :EOF
  109. )
  110. @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 12.0\"
  111. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  112. @echo TOOL_CHAIN_TAG = VS2013
  113. @goto :EOF
  114. )
  115. @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\"
  116. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  117. @echo TOOL_CHAIN_TAG = VS2015x86
  118. @goto :EOF
  119. )
  120. @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 14.0\"
  121. @if "%VSINSTALLDIR%"=="%TEST_VS%" (
  122. @echo TOOL_CHAIN_TAG = VS2015
  123. @goto :EOF
  124. )
  125. @goto :EOF
  126. :SetEnv
  127. @set FIRST_COPY=FALSE
  128. @set MISSING_TARGET_TEMPLATE=FALSE
  129. @set MISSING_TOOLS_DEF_TEMPLATE=FALSE
  130. @set MISSING_BUILD_RULE_TEMPLATE=FALSE
  131. @if not exist "%SRC_CONF%\target.template" @set MISSING_TARGET_TEMPLATE=TRUE
  132. @if not exist "%SRC_CONF%\tools_def.template" @set MISSING_TOOLS_DEF_TEMPLATE=TRUE
  133. @if not exist "%SRC_CONF%\build_rule.template" @set MISSING_BUILD_RULE_TEMPLATE=TRUE
  134. @if not exist "%WORKSPACE%\Conf\target.txt" (
  135. @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates
  136. @echo copying ... target.template to %WORKSPACE%\Conf\target.txt
  137. @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul
  138. @set FIRST_COPY=TRUE
  139. )
  140. @if not exist "%WORKSPACE%\Conf\tools_def.txt" (
  141. @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates
  142. @echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
  143. @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul
  144. @set FIRST_COPY=TRUE
  145. )
  146. @if not exist "%WORKSPACE%\Conf\build_rule.txt" (
  147. @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates
  148. @echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
  149. @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul
  150. @set FIRST_COPY=TRUE
  151. )
  152. @if "%FIRST_COPY%"=="TRUE" @goto End
  153. @if not "%RECONFIG%"=="TRUE" @goto End
  154. @if "%RECONFIG%"=="TRUE" (
  155. @echo.
  156. @echo Over-writing the files in the WORKSPACE\Conf directory
  157. @echo using the default template files
  158. @echo.
  159. @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates
  160. @echo over-write ... target.template to %WORKSPACE%\Conf\target.txt
  161. @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul
  162. @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates
  163. @echo over-write ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
  164. @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul
  165. @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates
  166. @echo over-write ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
  167. @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul
  168. @goto End
  169. )
  170. :MissingTemplates
  171. @echo.
  172. @if "%RECONFIG%"=="TRUE" @echo ERROR : Reconfig failed
  173. @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\target.template"
  174. @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\tools_def.template"
  175. @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\build_rule.template"
  176. @echo.
  177. @set MISSING_TARGET_TEMPLATE=
  178. @set MISSING_TOOLS_DEF_TEMPLATE=
  179. @set MISSING_BUILD_RULE_TEMPLATE=
  180. @set FIRST_COPY=
  181. @set SE_VERSION=
  182. @set SE_SVN_REVISION=
  183. @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on
  184. exit /B 1
  185. :End
  186. @set MISSING_TARGET_TEMPLATE=
  187. @set MISSING_TOOLS_DEF_TEMPLATE=
  188. @set MISSING_BUILD_RULE_TEMPLATE=
  189. @set FIRST_COPY=
  190. @set SE_VERSION=
  191. @set SE_SVN_REVISION=
  192. @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on
  193. exit /B 0