| @REM @file | |
| @REM Windows batch file to display the Windows environment | |
| @REM | |
| @REM This script will be used to show the current EDK II build environment. | |
| @REM it may be called by the Edk2Setup.bat (that will be renamed to edksetup.bat) or | |
| @REM run as stand-alone application. | |
| @REM | |
| @REM Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> | |
| @REM This program and the accompanying materials | |
| @REM are licensed and made available under the terms and conditions of the BSD License | |
| @REM which accompanies this distribution. The full text of the license may be found at | |
| @REM http://opensource.org/licenses/bsd-license.php | |
| @REM | |
| @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| @REM | |
| @echo off | |
| @set SE_SVN_REVISION=$Revision: 8 $ | |
| @set SE_VERSION=0.7.0. | |
| @if "%SCRIPT%"=="EDKSETUP_BAT" goto SkipCmdlineArgumentCheck | |
| :parse_cmd_line | |
| @if /I "%1"=="-h" @goto Usage | |
| @if /I "%1"=="--help" @goto Usage | |
| @if /I "%1"=="/?" @goto Usage | |
| @if /I "%1"=="-v" @goto Version | |
| @if /I "%1"=="--version" @goto Version | |
| :Usage | |
| @echo Usage: ShowEnvironment.bat [Options] | |
| @echo Copyright(c) 2014, Intel Corporation. All rights reserved. | |
| @echo. | |
| @echo Options: | |
| @echo --help, -h Print this help screen and exit | |
| @echo --version, -v Print this tool's version and exit | |
| @echo. | |
| @goto End | |
| :Version | |
| @echo ShowEnvironment.bat Version: %SE_VERSION%%SE_SVN_REVISION:~11,-1% | |
| @echo Copyright(c) 2014, Intel Corporation. All rights reserved. | |
| :SkipCmdlineArgumentCheck | |
| if defined SRC_CONF @goto SetEnv | |
| @echo. | |
| @echo ############################################################################# | |
| @if defined WORKSPACE @echo WORKSPACE = %WORKSPACE% | |
| @if not defined WORKSPACE @echo WORKSPACE = Not Set | |
| @if defined PACKAGES_PATH @echo PACKAGES_PATH = %PACKAGES_PATH% | |
| @if defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH% | |
| @if not defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = Not Set | |
| @if defined BASE_TOOLS_PATH @echo BASE_TOOLS_PATH = %BASE_TOOLS_PATH% | |
| @if defined EDK_TOOLS_BIN @echo EDK_TOOLS_BIN = %EDK_TOOLS_BIN% | |
| @if defined PYTHON_FREEZER_PATH @echo PYTHON_FREEZER_PATH = %PYTHON_FREEZER_PATH% | |
| @if "%NT32PKG%"=="TRUE" ( | |
| @echo. | |
| @echo NOTE: Please configure your build to use the following TOOL_CHAIN_TAG | |
| @echo when building NT32Pkg/Nt32Pkg.dsc | |
| @if defined VCINSTALLDIR @call :CheckVsVer | |
| @set TEST_VS= | |
| ) | |
| @if defined HIDE_PATH goto End | |
| @echo ############################## PATH ######################################### | |
| @setlocal DisableDelayedExpansion | |
| @set "var=%PATH%" | |
| @set "var=%var:"=""%" | |
| @set "var=%var:^=^^%" | |
| @set "var=%var:&=^&%" | |
| @set "var=%var:|=^|%" | |
| @set "var=%var:<=^<%" | |
| @set "var=%var:>=^>%" | |
| @set "var=%var:;=^;^;%" | |
| @set var=%var:""="% | |
| @set "var=%var:"=""Q%" | |
| @set "var=%var:;;="S"S%" | |
| @set "var=%var:^;^;=;%" | |
| @set "var=%var:""="%" | |
| @setlocal EnableDelayedExpansion | |
| @set "var=!var:"Q=!" | |
| @for %%a in ("!var:"S"S=";"!") do ( | |
| @if "!!"=="" endlocal | |
| @if %%a neq "" echo %%~a | |
| ) | |
| @goto End | |
| :CheckVsVer | |
| @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2008x86 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 9.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2008 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2010x86 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 10.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2010 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2012x86 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 11.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2012 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2013x86 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 12.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2013 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2015x86 | |
| @goto :EOF | |
| ) | |
| @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 14.0\" | |
| @if "%VSINSTALLDIR%"=="%TEST_VS%" ( | |
| @echo TOOL_CHAIN_TAG = VS2015 | |
| @goto :EOF | |
| ) | |
| @goto :EOF | |
| :SetEnv | |
| @set FIRST_COPY=FALSE | |
| @set MISSING_TARGET_TEMPLATE=FALSE | |
| @set MISSING_TOOLS_DEF_TEMPLATE=FALSE | |
| @set MISSING_BUILD_RULE_TEMPLATE=FALSE | |
| @if not exist "%SRC_CONF%\target.template" @set MISSING_TARGET_TEMPLATE=TRUE | |
| @if not exist "%SRC_CONF%\tools_def.template" @set MISSING_TOOLS_DEF_TEMPLATE=TRUE | |
| @if not exist "%SRC_CONF%\build_rule.template" @set MISSING_BUILD_RULE_TEMPLATE=TRUE | |
| @if not exist "%WORKSPACE%\Conf\target.txt" ( | |
| @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo copying ... target.template to %WORKSPACE%\Conf\target.txt | |
| @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul | |
| @set FIRST_COPY=TRUE | |
| ) | |
| @if not exist "%WORKSPACE%\Conf\tools_def.txt" ( | |
| @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt | |
| @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul | |
| @set FIRST_COPY=TRUE | |
| ) | |
| @if not exist "%WORKSPACE%\Conf\build_rule.txt" ( | |
| @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt | |
| @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul | |
| @set FIRST_COPY=TRUE | |
| ) | |
| @if "%FIRST_COPY%"=="TRUE" @goto End | |
| @if not "%RECONFIG%"=="TRUE" @goto End | |
| @if "%RECONFIG%"=="TRUE" ( | |
| @echo. | |
| @echo Over-writing the files in the WORKSPACE\Conf directory | |
| @echo using the default template files | |
| @echo. | |
| @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo over-write ... target.template to %WORKSPACE%\Conf\target.txt | |
| @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul | |
| @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo over-write ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt | |
| @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul | |
| @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates | |
| @echo over-write ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt | |
| @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul | |
| @goto End | |
| ) | |
| :MissingTemplates | |
| @echo. | |
| @if "%RECONFIG%"=="TRUE" @echo ERROR : Reconfig failed | |
| @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\target.template" | |
| @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\tools_def.template" | |
| @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\build_rule.template" | |
| @echo. | |
| @set MISSING_TARGET_TEMPLATE= | |
| @set MISSING_TOOLS_DEF_TEMPLATE= | |
| @set MISSING_BUILD_RULE_TEMPLATE= | |
| @set FIRST_COPY= | |
| @set SE_VERSION= | |
| @set SE_SVN_REVISION= | |
| @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on | |
| exit /B 1 | |
| :End | |
| @set MISSING_TARGET_TEMPLATE= | |
| @set MISSING_TOOLS_DEF_TEMPLATE= | |
| @set MISSING_BUILD_RULE_TEMPLATE= | |
| @set FIRST_COPY= | |
| @set SE_VERSION= | |
| @set SE_SVN_REVISION= | |
| @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on | |
| exit /B 0 |