2 @REM Windows batch file to setup a WORKSPACE environment
4 @REM Copyright
(c
) 2006 - 2008, Intel Corporation
5 @REM All rights reserved. This program and the accompanying materials
6 @REM are licensed and made available under the terms and conditions of the BSD License
7 @REM which accompanies this distribution. The full text of the license may be found at
8 @REM http
://opensource.org
/licenses
/bsd
-license.php
10 @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN
"AS IS" BASIS
,
11 @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND
, EITHER EXPRESS OR IMPLIED.
14 @REM
set following environment in this file or in
command shell for the older
,
16 @REM
set JAVA_HOME
=C
:\Java\jdk1.5
.0_06
17 @REM
set ANT_HOME
=C
:\ANT
18 @REM
set XMLBEANS_HOME
=C
:\xmlbeans
19 @REM
set CYGWIN_HOME
=C
:\cygwin
22 @REM edksetup.bat
[--nt32
] [AntBuild
] [Rebuild
] [ForceRebuild
] [Reconfig
]
23 @REM
if the argument
, skip is present
, only the paths and the
24 @REM test and
set of environment settings are performed.
26 @REM ##############################################################
27 @REM # You should
not have to modify anything below this line
33 @REM
Set the WORKSPACE to the current working directory
39 @
if /I
"%1"=="-h" goto Usage
40 @
if /I
"%1"=="-help" goto Usage
41 @
if /I
"%1"=="--help" goto Usage
42 @
if /I
"%1"=="/h" goto Usage
43 @
if /I
"%1"=="/?" goto Usage
44 @
if /I
"%1"=="/help" goto Usage
46 @
if /I
not "%1"=="--nt32" goto check_Ant_build
48 @REM Flag
, --nt32 is
set
49 @REM The Nt32 Emluation Platform requires Microsoft Libraries
50 @REM and headers to interface with Windows.
52 if not defined VCINSTALLDIR
(
53 if defined VS71COMNTOOLS
(
54 call "%VS71COMNTOOLS%\vsvars32.bat"
56 if defined VS80COMNTOOLS
(
57 call "%VS80COMNTOOLS%\vsvars32.bat"
60 echo !!! WARNING
!!! Cannot
find Visual Studio
!!!
68 @
if /I
"%1"=="AntBuild" goto AntBuild
71 @REM Default is new
, Makefile Base Build
74 @
if /I
"%1"=="NewBuild" shift
75 @
if not defined EDK_TOOLS_PATH
set EDK_TOOLS_PATH
=%WORKSPACE%\BaseTools
76 @
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
77 @
call %EDK_TOOLS_PATH%\toolsetup.bat
%*
82 @REM Need the BaseTools Package in order to build
85 echo !!! ERROR
!!! The BaseTools Package was
not found
!!!
87 echo Set the system environment variable
, EDK_TOOLS_PATH to the BaseTools
,
89 echo set EDK_TOOLS_PATH
=C
:\MyTools\BaseTools
90 echo The setup script
, toolsetup.bat must reside in this folder.
94 @REM With the exception of the
:end and
:Usage tags
, all information below
95 @REM these lines is
for the JAVA
/Ant Build
!
99 @REM Check the required system environment variables
101 @
if /I
"%1"=="AntBuild" shift
104 if exist "Tools\Jars" set FOUND
="TRUE"
105 if exist "%EDK_TOOLS_PATH%\Tools\Jars" set FOUND
="TRUE"
106 if %FOUND%=="FALSE" (
108 echo !!! ERROR
!!! You have selected the Java
/Ant build
, however those tools
109 echo cannot be found in this WORKSPACE.
111 echo Please double check that the AntTools project is installed
112 echo in this WORKSPACE.
120 if defined VCINSTALLDIR
goto check_cygwin
121 if defined VS71COMNTOOLS
(
122 call "%VS71COMNTOOLS%\vsvars32.bat"
125 echo !!! WARNING
!!! Cannot
find Visual Studio
!!!
130 if defined CYGWIN_HOME
goto check_java
132 set CYGWIN_HOME
=c
:\cygwin
135 echo !!! WARNING
!!! No CYGWIN_HOME
set, gcc build may
not be used
!!!
140 if "%JAVA_HOME%"=="" goto no_jdk
143 if "%ANT_HOME%"=="" goto no_ant
144 if not exist %ANT_HOME%\lib
\ant
-contrib.jar
goto no_antcontrib
147 if "%XMLBEANS_HOME%"=="" goto no_xmlbeans
148 if not exist %XMLBEANS_HOME%\lib\saxon8.jar
goto no_saxon8
150 set FRAMEWORK_TOOLS_PATH
=%WORKSPACE%\Tools
\bin
152 if not defined ORIGINAL_CLASSPATH
set ORIGINAL_CLASSPATH
=%CLASSPATH%
153 set CLASSPATH
=%ORIGINAL_CLASSPATH%
155 if defined WORKSPACE_TOOLS_PATH
goto check_path
156 set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin
;%ANT_HOME%\bin
;%XMLBEANS_HOME%\bin
;%PATH%
157 set WORKSPACE_TOOLS_PATH
=%FRAMEWORK_TOOLS_PATH%
158 echo Setting the
PATH variable to include the FRAMEWORK_TOOLS_PATH
for this WORKSPACE
162 if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok
163 set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH%
164 set WORKSPACE_TOOLS_PATH
=%WORKSPACE%\Tools
\bin
165 echo Resetting the
PATH variable to include the FRAMEWORK_TOOLS_PATH
for this WORKSPACE
169 @
if /I
"%1"=="ForceRebuild" goto ForceBuild
170 @
if /I
"%1"=="Reconfig" goto Reconfig
172 @
IF NOT EXIST "Tools\Jars\Common.jar" goto NormalBuild
173 @
IF NOT EXIST "Tools\Jars\PcdTools.jar" goto NormalBuild
174 @
IF NOT EXIST "Tools\Jars\GenBuild.jar" goto NormalBuild
175 @
IF NOT EXIST "Tools\Jars\SurfaceArea.jar" goto NormalBuild
176 @
IF NOT EXIST "Tools\Jars\cpptasks.jar" goto NormalBuild
177 @
IF NOT EXIST "Tools\Jars\frameworktasks.jar" goto NormalBuild
178 @
IF NOT EXIST "Tools\bin\FrameworkWizard.jar" goto NormalBuild
179 @
IF NOT EXIST "Tools\bin\CompressDll.dll" goto NormalBuild
180 @
IF NOT EXIST "Tools\bin\CompressDll.lib" goto NormalBuild
181 @
IF NOT EXIST "Tools\bin\CreateMtFile.exe" goto NormalBuild
182 @
IF NOT EXIST "Tools\bin\EfiCompress.exe" goto NormalBuild
183 @
IF NOT EXIST "Tools\bin\EfiRom.exe" goto NormalBuild
184 @
IF NOT EXIST "Tools\bin\FlashMap.exe" goto NormalBuild
185 @
IF NOT EXIST "Tools\bin\FwImage.exe" goto NormalBuild
186 @
IF NOT EXIST "Tools\bin\GenAcpiTable.exe" goto NormalBuild
187 @
IF NOT EXIST "Tools\bin\GenCRC32Section.exe" goto NormalBuild
188 @
IF NOT EXIST "Tools\bin\GenCapsuleHdr.exe" goto NormalBuild
189 @
IF NOT EXIST "Tools\bin\GenDepex.exe" goto NormalBuild
190 @
IF NOT EXIST "Tools\bin\GenFfsFile.exe" goto NormalBuild
191 @
IF NOT EXIST "Tools\bin\GenFvImage.exe" goto NormalBuild
192 @
IF NOT EXIST "Tools\bin\GenSection.exe" goto NormalBuild
193 @
IF NOT EXIST "Tools\bin\GenTEImage.exe" goto NormalBuild
194 @
IF NOT EXIST "Tools\bin\GuidChk.exe" goto NormalBuild
195 @
IF NOT EXIST "Tools\bin\MakeDeps.exe" goto NormalBuild
196 @
IF NOT EXIST "Tools\bin\ModifyInf.exe" goto NormalBuild
197 @
IF NOT EXIST "Tools\bin\PeiRebase_Ia32.exe" goto NormalBuild
198 @
IF NOT EXIST "Tools\bin\PeiRebase_Ipf.exe" goto NormalBuild
199 @
IF NOT EXIST "Tools\bin\PeiRebase_X64.exe" goto NormalBuild
200 @
IF NOT EXIST "Tools\bin\SecApResetVectorFixup.exe" goto NormalBuild
201 @
IF NOT EXIST "Tools\bin\SecFixup.exe" goto NormalBuild
202 @
IF NOT EXIST "Tools\bin\SetStamp.exe" goto NormalBuild
203 @
IF NOT EXIST "Tools\bin\SplitFile.exe" goto NormalBuild
204 @
IF NOT EXIST "Tools\bin\StrGather.exe" goto NormalBuild
205 @
IF NOT EXIST "Tools\bin\Strip.exe" goto NormalBuild
206 @
IF NOT EXIST "Tools\bin\VfrCompile.exe" goto NormalBuild
207 @
IF NOT EXIST "Tools\bin\ZeroDebugData.exe" goto NormalBuild
208 @
IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild
209 @
IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild
211 @
if /I
"%1"=="Rebuild" goto NormalBuild
212 @
if NOT "%1"=="" goto Usage
217 call ant
-f
%WORKSPACE%\Tools
\build.xml
-noclasspath cleanall
221 @REM
Start to build the Framework Tools
225 echo Building the Framework Tools
229 @REM We are going to create the SurfaceArea.jar file first so that the other
230 @REM Java Programs can
use it.
231 @REM It needs the XMLBEANS libraries in order to compile.
233 set CLASSPATH
=%XMLBEANS_HOME%\lib
;%CLASSPATH%
234 set CLASSPATH
=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
;%CLASSPATH%
235 set CLASSPATH
=%XMLBEANS_HOME%\lib
\xbean.jar
;%CLASSPATH%
236 set CLASSPATH
=%XMLBEANS_HOME%\lib
\xbean_xpath.jar
;%CLASSPATH%
237 set CLASSPATH
=%XMLBEANS_HOME%\lib\xmlpublic.jar
;%CLASSPATH%
238 set CLASSPATH
=%XMLBEANS_HOME%\lib\saxon8.jar
;%CLASSPATH%
239 set CLASSPATH
=%XMLBEANS_HOME%\lib
\resolver.jar
;%CLASSPATH%
241 call ant
-f
%WORKSPACE%\Tools
\build.xml SurfaceArea
244 @REM Now we can make the other Java Programs
245 @REM All of the remaining Java Programs require the SurfaceArea library to compile
247 set CLASSPATH
=%WORKSPACE%\Tools\Jars\SurfaceArea.jar
;%CLASSPATH%
249 call ant
-f
%WORKSPACE%\Tools
\build.xml JavaCode
252 @REM We have all of the Java Programs and add
-in classes created
, so we can
start
253 @REM using the cpp
-tasks to create our tools
255 set CLASSPATH
=%WORKSPACE%\Tools\Jars\Common.jar
;%CLASSPATH%
256 set CLASSPATH
=%WORKSPACE%\Tools\Jars\PcdTools.jar
;%CLASSPATH%
257 set CLASSPATH
=%WORKSPACE%\Tools\Jars\GenBuild.jar
;%CLASSPATH%
258 set CLASSPATH
=%WORKSPACE%\Tools\Jars\cpptasks.jar
;%CLASSPATH%
259 set CLASSPATH
=%WORKSPACE%\Tools\Jars
\frameworktasks.jar
;%CLASSPATH%
260 set CLASSPATH
=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
;%CLASSPATH%
261 set CLASSPATH
=%WORKSPACE%\Tools\Bin\MigrationTools.jar
;%CLASSPATH%
263 call ant
-f
%WORKSPACE%\Tools
\build.xml C_Code
272 echo !!! Please install Java
, and
set JAVA_HOME
!!!
278 echo !!! Please install Apache Ant
, and
set ANT_HOME
!!!
284 echo !!! Please install Ant
-contrib to ANT_HOME
!!!
290 echo !!! Please install XML Beans
, and
set XMLBEANS_HOME
!!!
296 echo !!! Please
copy saxon8.jar file to XMLBEANS_HOME\lib
!!!
302 @REM This just sets up the CLASSPATH
, the rest of the environment should have been
set already.
305 echo WORKSPACE
: %WORKSPACE%
306 echo JAVA_HOME
: %JAVA_HOME%
307 echo ANT_HOME
: %ANT_HOME%
308 echo XMLBEANS_HOME
: %XMLBEANS_HOME%
309 echo CYGWIN_HOME
: %CYGWIN_HOME%
312 set CLASSPATH
=%XMLBEANS_HOME%\lib
;%CLASSPATH%
313 set CLASSPATH
=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
;%CLASSPATH%
314 set CLASSPATH
=%XMLBEANS_HOME%\lib
\xbean.jar
;%CLASSPATH%
315 set CLASSPATH
=%XMLBEANS_HOME%\lib
\xbean_xpath.jar
;%CLASSPATH%
316 set CLASSPATH
=%XMLBEANS_HOME%\lib\xmlpublic.jar
;%CLASSPATH%
317 set CLASSPATH
=%XMLBEANS_HOME%\lib\saxon8.jar
;%CLASSPATH%
318 set CLASSPATH
=%XMLBEANS_HOME%\lib\saxon8
-dom.jar
;%CLASSPATH%
319 set CLASSPATH
=%XMLBEANS_HOME%\lib\saxon8
-xpath.jar
;%CLASSPATH%
320 set CLASSPATH
=%XMLBEANS_HOME%\lib
\resolver.jar
;%CLASSPATH%
321 set CLASSPATH
=%WORKSPACE%\Tools\Jars\SurfaceArea.jar
;%CLASSPATH%
322 set CLASSPATH
=%WORKSPACE%\Tools\Jars\Common.jar
;%CLASSPATH%
323 set CLASSPATH
=%WORKSPACE%\Tools\Jars\PcdTools.jar
;%CLASSPATH%
324 set CLASSPATH
=%WORKSPACE%\Tools\Jars\GenBuild.jar
;%CLASSPATH%
325 set CLASSPATH
=%WORKSPACE%\Tools\Jars\cpptasks.jar
;%CLASSPATH%
326 set CLASSPATH
=%WORKSPACE%\Tools\Jars
\frameworktasks.jar
;%CLASSPATH%
327 set CLASSPATH
=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
;%CLASSPATH%
328 set CLASSPATH
=%WORKSPACE%\Tools\Bin\MigrationTools.jar
;%CLASSPATH%
329 echo CLASSPATH
: %CLASSPATH%
334 @REM Reinstall all config
files
336 call ant
-f
%WORKSPACE%\Tools
\build.xml reconfig
341 echo Usage
: "%0 [-h | -help | --help | /h | /help | /?] [--nt32] [AntBuild | Rebuild | ForceRebuild ] [Reconfig]"
342 echo --nt32
Call vsvars32.bat
for NT32 platform build.
344 echo Rebuild
If sources are available perform an Incremental build
, only
345 echo build those updated tools.
346 echo ForceRebuild
If sources are available
, rebuild all tools regardless of
347 echo whether they have been updated or
not.
348 echo Reconfig Reinstall target.txt
, tools_def.txt and build_rule.txt.
351 echo AntBuild Using older Java
/ANT build tools in Tools directory.
352 echo Rebuild Incremental build
, only build those updated tools.
353 echo ForceRebuild Rebuild all tools regardless of whether they have been updated or
not.
354 echo Reconfig Reinstall target.txt
, tools_def.txt and FrameworkDatabase.db.
356 echo Note that target.template
, tools_def.template
, build_rules.template and the
357 echo FrameworkDatabase.template will be only copied to target.txt
, tools_def.txt
, build_rule.txt and
358 echo FrameworkDatabase.db respectively
if they
do not exist. Using option
[Reconfig
] to force the
copy.