]> git.proxmox.com Git - mirror_edk2.git/blame - edksetup.bat
More design and build rules, as well as refining requirements.
[mirror_edk2.git] / edksetup.bat
CommitLineData
878ddf1f 1@REM\r
2@REM Copyright (c) 2006, Intel Corporation\r
3@REM All rights reserved. This program and the accompanying materials\r
4@REM are licensed and made available under the terms and conditions of the BSD License\r
5@REM which accompanies this distribution. The full text of the license may be found at\r
6@REM http://opensource.org/licenses/bsd-license.php\r
a29212b2 7@REM\r
878ddf1f 8@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
9@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
10@REM\r
11\r
12@REM set following environment in this file or in command shell\r
13@REM set JAVA_HOME=C:\Java\jdk1.5.0_04\r
a29212b2 14@REM set ANT_HOME=C:\ANT\r
15@REM set XMLBEANS_HOME=C:\xmlbeans\r
16@REM set CYGWIN_HOME=C:\cygwin\r
878ddf1f 17\r
302e0e4a 18@REM usage: edksetup.bat [skip]\r
19@REM if the argument, skip is present, only the paths and the\r
20@REM test and set of environment settings are performed. \r
878ddf1f 21\r
22@REM ##############################################################\r
23@REM # You should not have to modify anything below this line\r
24@REM #\r
25\r
26@echo off\r
27\r
a29212b2 28@REM\r
29@REM Check the required system environment variables\r
30@REM\r
31\r
878ddf1f 32:check_vc\r
a29212b2 33if defined VCINSTALLDIR goto check_cygwin\r
878ddf1f 34if defined VS71COMNTOOLS (\r
35 call "%VS71COMNTOOLS%vsvars32.bat"\r
36) else (\r
37 echo.\r
38 echo !!! WARNING !!!! Cannot find Visual Studio !!!\r
39 echo.\r
40)\r
41\r
a29212b2 42:check_cygwin\r
43if defined CYGWIN_HOME goto check_java\r
44if exist c:\cygwin (\r
45 set CYGWIN_HOME=c:\cygwin\r
42b67fc4 46) else (\r
a29212b2 47 echo.\r
48 echo !!! WARNING !!!! Not set CYGWIN_HOME, gcc build may not be used !!!\r
49 echo.\r
878ddf1f 50)\r
51\r
a29212b2 52:check_java\r
53if "%JAVA_HOME%"=="" goto no_jdk\r
54\r
55:check_ant\r
02996846 56if "%ANT_HOME%"=="" goto no_ant\r
42b67fc4 57if not exist %ANT_HOME%\lib\ant-contrib.jar goto no_antcontrib\r
58\r
a29212b2 59:check_xmlbeans\r
02996846 60if "%XMLBEANS_HOME%"=="" goto no_xmlbeans\r
a29212b2 61if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8\r
878ddf1f 62\r
a29212b2 63@REM\r
64@REM Set the WORKSPACE to the current working directory\r
65@REM\r
66set WORKSPACE=%CD%\r
878ddf1f 67\r
2da8968b 68set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin\r
6de5f959 69\r
70if defined WORKSPACE_TOOLS_PATH goto check_path\r
71set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%PATH%\r
72set WORKSPACE_TOOLS_PATH=%FRAMEWORK_TOOLS_PATH%\r
73echo Setting the PATH variable to include the Framework_Tools_Path for this WORKSPACE\r
74goto path_ok\r
75\r
76:check_path\r
77if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok\r
78set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH%\r
79set WORKSPACE_PATH=%WORKSPACE%\r
80echo Resetting the PATH variable to include the Framework_Tools_Path for this WORKSPACE\r
81\r
82:path_ok\r
83\r
84if "%1"=="skip" goto skipbuild\r
878ddf1f 85\r
a29212b2 86echo.\r
6de5f959 87echo WORKSPACE: %WORKSPACE%\r
a29212b2 88echo JAVA_HOME: %JAVA_HOME%\r
89echo ANT_HOME: %ANT_HOME%\r
90echo XMLBEANS_HOME: %XMLBEANS_HOME%\r
91echo CYGWIN_HOME: %CYGWIN_HOME%\r
a29212b2 92echo PATH: %PATH%\r
878ddf1f 93echo.\r
94\r
a29212b2 95@REM\r
96@REM Start to build the Framework Tools\r
97@REM\r
42b67fc4 98\r
302e0e4a 99\r
a29212b2 100echo.\r
101echo Building the Framework Tools\r
102echo.\r
42b67fc4 103\r
a29212b2 104@REM\r
105@REM We are going to create the SurfaceArea.jar file first so that the other\r
106@REM Java Programs can use it.\r
107@REM It needs the XMLBEANS libraries in order to compile.\r
108@REM\r
53cef58a 109set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%XMLBEANS_HOME%\lib\xbean.jar\r
110set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar;%XMLBEANS_HOME%\lib\xmlpublic.jar\r
111set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar;%XMLBEANS_HOME%\lib\resolver.jar\r
878ddf1f 112\r
a29212b2 113call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea\r
878ddf1f 114\r
a29212b2 115@REM\r
878ddf1f 116@REM Now we can make the other Java Programs\r
53cef58a 117@REM All of the remaining Java Programs require the SurfaceArea library to compile\r
a29212b2 118@REM\r
302e0e4a 119set CLASSPATH=%CLASSPATH%;%WORKSPACE%\%Tools\Jars\SurfaceArea.jar\r
878ddf1f 120\r
a29212b2 121call ant -f %WORKSPACE%\Tools\build.xml JavaCode\r
878ddf1f 122\r
a29212b2 123@REM\r
124@REM We have all of the Java Programs and add-in classes created, so we can start\r
125@REM using the cpp-tasks to create our tools\r
126@REM\r
302e0e4a 127set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar\r
a29212b2 128set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar;%WORKSPACE%\Tools\Jars\frameworktasks.jar\r
878ddf1f 129\r
a29212b2 130call ant -f %WORKSPACE%\Tools\build.xml C_Code\r
878ddf1f 131\r
a29212b2 132@REM\r
133@REM Done!!!\r
134@REM\r
878ddf1f 135goto end\r
136\r
137:no_jdk\r
138echo.\r
02996846 139echo !!! Please install Java, and set JAVA_HOME !!!\r
140echo.\r
a29212b2 141goto end\r
02996846 142\r
143:no_ant\r
144echo.\r
145echo !!! Please install Apache Ant, and set ANT_HOME !!!\r
146echo.\r
a29212b2 147goto end\r
02996846 148\r
42b67fc4 149:no_antcontrib\r
150echo.\r
151echo !!! Please install Ant-contrib to ANT_HOME !!!\r
152echo.\r
a29212b2 153goto end\r
42b67fc4 154\r
02996846 155:no_xmlbeans\r
156echo.\r
157echo !!! Please install XML Beans, and set XMLBEANS_HOME !!!\r
878ddf1f 158echo.\r
a29212b2 159goto end\r
878ddf1f 160\r
42b67fc4 161:no_saxon8\r
162echo.\r
163echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!!\r
164echo.\r
a29212b2 165goto end\r
42b67fc4 166\r
302e0e4a 167:skipbuild\r
168@REM\r
169@REM This just sets up the CLASSPATH, the rest of the environment should have been set already.\r
170@REM\r
302e0e4a 171echo.\r
6de5f959 172echo WORKSPACE: %WORKSPACE%\r
302e0e4a 173echo JAVA_HOME: %JAVA_HOME%\r
174echo ANT_HOME: %ANT_HOME%\r
175echo XMLBEANS_HOME: %XMLBEANS_HOME%\r
176echo CYGWIN_HOME: %CYGWIN_HOME%\r
302e0e4a 177echo PATH: %PATH%\r
178echo.\r
179set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%XMLBEANS_HOME%\lib\xbean.jar\r
180set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar;%XMLBEANS_HOME%\lib\xmlpublic.jar\r
181set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar;%XMLBEANS_HOME%\lib\resolver.jar\r
182set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%WORKSPACE%\Tools\Jars\GenBuild.jar\r
183set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar;%WORKSPACE%\Tools\Jars\frameworktasks.jar\r
184goto end\r
185\r
878ddf1f 186:end\r
187@echo on\r
188\r