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