]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Scripts/ShowEnvironment.bat
BaseTools: Update Edk2Setup.bat to support multiple workspaces
[mirror_edk2.git] / BaseTools / Scripts / ShowEnvironment.bat
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 This program and the accompanying materials
10 @REM are licensed and made available under the terms and conditions of the BSD License
11 @REM which accompanies this distribution. The full text of the license may be found at
12 @REM http://opensource.org/licenses/bsd-license.php
13 @REM
14 @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15 @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 @REM
17 @echo off
18 @set SE_SVN_REVISION=$Revision: 8 $
19 @set SE_VERSION=0.7.0.
20 @if "%SCRIPT%"=="EDKSETUP_BAT" goto SkipCmdlineArgumentCheck
21
22 :parse_cmd_line
23 @if /I "%1"=="-h" @goto Usage
24 @if /I "%1"=="--help" @goto Usage
25 @if /I "%1"=="/?" @goto Usage
26 @if /I "%1"=="-v" @goto Version
27 @if /I "%1"=="--version" @goto Version
28
29 :Usage
30 @echo Usage: ShowEnvironment.bat [Options]
31 @echo Copyright(c) 2014, Intel Corporation. All rights reserved.
32 @echo.
33 @echo Options:
34 @echo --help, -h Print this help screen and exit
35 @echo --version, -v Print this tool's version and exit
36 @echo.
37 @goto End
38
39 :Version
40 @echo ShowEnvironment.bat Version: %SE_VERSION%%SE_SVN_REVISION:~11,-1%
41 @echo Copyright(c) 2014, Intel Corporation. All rights reserved.
42
43 :SkipCmdlineArgumentCheck
44 if defined SRC_CONF @goto SetEnv
45
46 @echo.
47 @echo #############################################################################
48 @if defined WORKSPACE @echo WORKSPACE = %WORKSPACE%
49 @if not defined WORKSPACE @echo WORKSPACE = Not Set
50 @if defined PACKAGES_PATH @echo PACKAGES_PATH = %PACKAGES_PATH%
51 @if defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%
52 @if not defined EDK_TOOLS_PATH @echo EDK_TOOLS_PATH = Not Set
53 @if defined BASE_TOOLS_PATH @echo BASE_TOOLS_PATH = %BASE_TOOLS_PATH%
54 @if defined EDK_TOOLS_BIN @echo EDK_TOOLS_BIN = %EDK_TOOLS_BIN%
55 @if defined PYTHON_FREEZER_PATH @echo PYTHON_FREEZER_PATH = %PYTHON_FREEZER_PATH%
56 @if "%NT32PKG%"=="TRUE" (
57 @echo.
58 @echo NOTE: Please configure your build to use the following TOOL_CHAIN_TAG
59 @echo when building NT32Pkg/Nt32Pkg.dsc
60 @if defined VCINSTALLDIR @call :CheckVsVer
61 @set TEST_VS=
62 )
63 @if defined HIDE_PATH goto End
64
65
66 @echo ############################## PATH #########################################
67 @setlocal DisableDelayedExpansion
68 @set "var=%PATH%"
69 @set "var=%var:"=""%"
70 @set "var=%var:^=^^%"
71 @set "var=%var:&=^&%"
72 @set "var=%var:|=^|%"
73 @set "var=%var:<=^<%"
74 @set "var=%var:>=^>%"
75 @set "var=%var:;=^;^;%"
76 @set var=%var:""="%
77 @set "var=%var:"=""Q%"
78 @set "var=%var:;;="S"S%"
79 @set "var=%var:^;^;=;%"
80 @set "var=%var:""="%"
81 @setlocal EnableDelayedExpansion
82 @set "var=!var:"Q=!"
83 @for %%a in ("!var:"S"S=";"!") do (
84 @if "!!"=="" endlocal
85 @if %%a neq "" echo %%~a
86 )
87 @goto End
88
89 :CheckVsVer
90 @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\"
91 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
92 @echo TOOL_CHAIN_TAG = VS2008x86
93 @goto :EOF
94 )
95 @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 9.0\"
96 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
97 @echo TOOL_CHAIN_TAG = VS2008
98 @goto :EOF
99 )
100
101 @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\"
102 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
103 @echo TOOL_CHAIN_TAG = VS2010x86
104 @goto :EOF
105 )
106 @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 10.0\"
107 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
108 @echo TOOL_CHAIN_TAG = VS2010
109 @goto :EOF
110 )
111
112 @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\"
113 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
114 @echo TOOL_CHAIN_TAG = VS2012x86
115 @goto :EOF
116 )
117 @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 11.0\"
118 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
119 @echo TOOL_CHAIN_TAG = VS2012
120 @goto :EOF
121 )
122
123 @set "TEST_VS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\"
124 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
125 @echo TOOL_CHAIN_TAG = VS2013x86
126 @goto :EOF
127 )
128 @set "TEST_VS=C:\Program Files\Microsoft Visual Studio 12.0\"
129 @if "%VSINSTALLDIR%"=="%TEST_VS%" (
130 @echo TOOL_CHAIN_TAG = VS2013
131 @goto :EOF
132 )
133 @goto :EOF
134
135 :SetEnv
136 @set FIRST_COPY=FALSE
137 @set MISSING_TARGET_TEMPLATE=FALSE
138 @set MISSING_TOOLS_DEF_TEMPLATE=FALSE
139 @set MISSING_BUILD_RULE_TEMPLATE=FALSE
140 @if not exist "%SRC_CONF%\target.template" @set MISSING_TARGET_TEMPLATE=TRUE
141 @if not exist "%SRC_CONF%\tools_def.template" @set MISSING_TOOLS_DEF_TEMPLATE=TRUE
142 @if not exist "%SRC_CONF%\build_rule.template" @set MISSING_BUILD_RULE_TEMPLATE=TRUE
143
144 @if not exist "%WORKSPACE%\Conf\target.txt" (
145 @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates
146 @echo copying ... target.template to %WORKSPACE%\Conf\target.txt
147 @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul
148 @set FIRST_COPY=TRUE
149 )
150 @if not exist "%WORKSPACE%\Conf\tools_def.txt" (
151 @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates
152 @echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
153 @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul
154 @set FIRST_COPY=TRUE
155 )
156 @if not exist "%WORKSPACE%\Conf\build_rule.txt" (
157 @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates
158 @echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
159 @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul
160 @set FIRST_COPY=TRUE
161 )
162
163 @if "%FIRST_COPY%"=="TRUE" @goto End
164 @if not "%RECONFIG%"=="TRUE" @goto End
165
166 @if "%RECONFIG%"=="TRUE" (
167 @echo.
168 @echo Over-writing the files in the WORKSPACE\Conf directory
169 @echo using the default template files
170 @echo.
171 @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @goto MissingTemplates
172 @echo over-write ... target.template to %WORKSPACE%\Conf\target.txt
173 @copy /Y "%SRC_CONF%\target.template" "%WORKSPACE%\Conf\target.txt" > nul
174
175 @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @goto MissingTemplates
176 @echo over-write ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
177 @copy /Y "%SRC_CONF%\tools_def.template" "%WORKSPACE%\Conf\tools_def.txt" > nul
178
179 @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @goto MissingTemplates
180 @echo over-write ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
181 @copy /Y "%SRC_CONF%\build_rule.template" "%WORKSPACE%\Conf\build_rule.txt" > nul
182 @goto End
183 )
184
185 :MissingTemplates
186 @echo.
187 @if "%RECONFIG%"=="TRUE" @echo ERROR : Reconfig failed
188 @if "%MISSING_TARGET_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\target.template"
189 @if "%MISSING_TOOLS_DEF_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\tools_def.template"
190 @if "%MISSING_BUILD_RULE_TEMPLATE%"=="TRUE" @echo ERROR : Unable to locate: "%SRC_CONF%\build_rule.template"
191 @echo.
192 @set MISSING_TARGET_TEMPLATE=
193 @set MISSING_TOOLS_DEF_TEMPLATE=
194 @set MISSING_BUILD_RULE_TEMPLATE=
195 @set FIRST_COPY=
196 @set SE_VERSION=
197 @set SE_SVN_REVISION=
198 @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on
199 exit /B 1
200
201 :End
202 @set MISSING_TARGET_TEMPLATE=
203 @set MISSING_TOOLS_DEF_TEMPLATE=
204 @set MISSING_BUILD_RULE_TEMPLATE=
205 @set FIRST_COPY=
206 @set SE_VERSION=
207 @set SE_SVN_REVISION=
208 @if not "%SCRIPT%"=="EDKSETUP_BAT" @echo on
209 exit /B 0