forked from tianocore/edk2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
edksetup.bat
executable file
·189 lines (167 loc) · 5.19 KB
/
edksetup.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
@REM @file
@REM Windows batch file to setup a WORKSPACE environment
@REM
@REM Copyright (c) 2006 - 2016, 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
@REM set CYGWIN_HOME=C:\cygwin
@REM usage:
@REM edksetup.bat [--nt32] [AntBuild] [Rebuild] [ForceRebuild] [Reconfig]
@REM if the argument, skip is present, only the paths and the
@REM test and set of environment settings are performed.
@REM ##############################################################
@REM # You should not have to modify anything below this line
@REM #
@echo off
@REM
@REM Set the WORKSPACE to the current working directory
@REM
pushd .
cd %~dp0
if not defined WORKSPACE (
goto SetWorkSpace
)
if %WORKSPACE% == %CD% (
@REM Workspace is not changed.
goto ParseArgs
)
:SetWorkSpace
@REM set new workspace
@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace
if not defined WORKSPACE (
set WORKSPACE=%CD%
set EFI_SOURCE=
set EDK_SOURCE=
)
:ParseArgs
if /I "%1"=="-h" goto Usage
if /I "%1"=="-help" goto Usage
if /I "%1"=="--help" goto Usage
if /I "%1"=="/h" goto Usage
if /I "%1"=="/?" goto Usage
if /I "%1"=="/help" goto Usage
if /I not "%1"=="--nt32" goto no_nt32
@REM Flag, --nt32 is set
@REM The Nt32 Emluation Platform requires Microsoft Libraries
@REM and headers to interface with Windows.
if not defined VCINSTALLDIR (
if defined VS140COMNTOOLS (
call "%VS140COMNTOOLS%\vsvars32.bat"
) else (
if defined VS120COMNTOOLS (
call "%VS120COMNTOOLS%\vsvars32.bat"
) else (
if defined VS110COMNTOOLS (
call "%VS110COMNTOOLS%\vsvars32.bat"
) else (
if defined VS100COMNTOOLS (
call "%VS100COMNTOOLS%\vsvars32.bat"
) else (
if defined VS90COMNTOOLS (
call "%VS90COMNTOOLS%\vsvars32.bat"
) else (
if defined VS80COMNTOOLS (
call "%VS80COMNTOOLS%\vsvars32.bat"
) else (
if defined VS71COMNTOOLS (
call "%VS71COMNTOOLS%\vsvars32.bat"
) else (
echo.
echo !!! WARNING !!! Cannot find Visual Studio !!!
echo.
)
)
)
)
)
)
)
)
shift
:no_nt32
if /I "%1"=="NewBuild" shift
if not defined EDK_TOOLS_PATH (
if exist %WORKSPACE%\BaseTools (
set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools
) else (
if defined PACKAGES_PATH (
for %%i IN (%PACKAGES_PATH%) DO (
if exist %%~fi\BaseTools (
set EDK_TOOLS_PATH=%%~fi\BaseTools
goto checkBaseTools
)
)
) else (
echo.
echo !!! ERROR !!! Cannot find BaseTools !!!
echo.
goto BadBaseTools
)
)
)
if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%
:checkBaseTools
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
call %EDK_TOOLS_PATH%\toolsetup.bat %*
if /I "%1"=="Reconfig" shift
goto check_NASM
goto check_cygwin
:BadBaseTools
@REM
REM Need the BaseTools Package in order to build
@REM
@echo.
@echo !!! ERROR !!! The BaseTools Package was not found !!!
@echo.
@echo Set the system environment variable, EDK_TOOLS_PATH to the BaseTools,
@echo For example,
@echo set EDK_TOOLS_PATH=C:\MyTools\BaseTools
@echo The setup script, toolsetup.bat must reside in this folder.
@echo.
goto end
:check_NASM
if not defined NASM_PREFIX (
@echo.
@echo !!! WARNING !!! NASM_PREFIX environment variable is not set
@if exist "C:\nasm\nasm.exe" @set "NASM_PREFIX=C:\nasm\"
@if exist "C:\nasm\nasm.exe" @echo Found nasm.exe, setting the environment variable to C:\nasm\
@if not exist "C:\nasm\nasm.exe" echo Attempting to build modules that require NASM will fail.
)
:check_cygwin
if defined CYGWIN_HOME (
if not exist "%CYGWIN_HOME%" (
@echo.
@echo !!! WARNING !!! CYGWIN_HOME not found, gcc build may not be used !!!
@echo.
)
) else (
if exist c:\cygwin (
set CYGWIN_HOME=c:\cygwin
) else (
@echo.
@echo !!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!
@echo.
)
)
:cygwin_done
if "%1"=="" goto end
:Usage
@echo.
@echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32] [Reconfig]"
@echo --nt32 Call vsvars32.bat for NT32 platform build.
@echo.
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.
@echo.
@echo Note that target.template, tools_def.template and build_rules.template
@echo will only be copied to target.txt, tools_def.txt and build_rule.txt
@echo respectively if they do not exist. Use option [Reconfig] to force the copy.
@echo.
goto end
:end
popd