X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;ds=sidebyside;f=edksetup.bat;h=7b9377aaa5c2f6eeac2934e3e86d2356ecb7224a;hb=178938b2b9b4c8c66c29c3f39baaa15a469d5721;hp=6c8c0aa97f4cde347aa4647ef7d9ca1e3d621329;hpb=92063b0b212ddc408dff163ede8e4ae36ba89400;p=mirror_edk2.git
diff --git a/edksetup.bat b/edksetup.bat
index 6c8c0aa97f..7b9377aaa5 100755
--- a/edksetup.bat
+++ b/edksetup.bat
@@ -1,23 +1,17 @@
@REM @file
@REM Windows batch file to setup a WORKSPACE environment
@REM
-@REM Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
@REM (C) Copyright 2016 Hewlett Packard Enterprise Development LP
-@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 SPDX-License-Identifier: BSD-2-Clause-Patent
@REM
@REM set CYGWIN_HOME=C:\cygwin
-@REM usage:
+@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 test and set of environment settings are performed.
@REM ##############################################################
@REM # You should not have to modify anything below this line
@@ -42,11 +36,8 @@ if %WORKSPACE% == %CD% (
: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
@@ -59,38 +50,38 @@ if /I "%1"=="/help" goto Usage
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 checkNt32Flag
- )
+ goto SetEdkToolsPath
+) else (
+ goto checkNt32Flag
+)
+
+:SetEdkToolsPath
+if %WORKSPACE:~-1% EQU \ (
+ @set EDK_BASETOOLS=%WORKSPACE%BaseTools
+) else (
+ @set EDK_BASETOOLS=%WORKSPACE%\BaseTools
+)
+if exist %EDK_BASETOOLS% (
+ set EDK_TOOLS_PATH=%EDK_BASETOOLS%
+ set EDK_BASETOOLS=
+) else (
+ if defined PACKAGES_PATH (
+ for %%i IN (%PACKAGES_PATH%) DO (
+ if exist %%~fi\BaseTools (
+ set EDK_TOOLS_PATH=%%~fi\BaseTools
+ goto checkNt32Flag
)
- ) else (
- echo.
- echo !!! ERROR !!! Cannot find BaseTools !!!
- echo.
- goto BadBaseTools
)
+ ) else (
+ echo.
+ echo !!! ERROR !!! Cannot find BaseTools !!!
+ echo.
+ goto BadBaseTools
)
)
-if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%
:checkNt32Flag
-@REM The Nt32 Emluation Platform requires Microsoft Libraries
-@REM and headers to interface with Windows.
-if /I "%1"=="--nt32" (
- if /I "%2"=="X64" (
- shift
- call "%BASE_TOOLS_PATH%\Scripts\SetVisualStudio.bat"
- ) else (
- call "%BASE_TOOLS_PATH%\get_vsvars.bat"
- )
- shift
-)
+if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%
:checkBaseTools
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
@@ -122,6 +113,18 @@ if not defined NASM_PREFIX (
@if not exist "C:\nasm\nasm.exe" echo Attempting to build modules that require NASM will fail.
)
+:check_CLANGPDB
+@REM In Windows, set CLANG_HOST_BIN=n to use nmake command
+@set CLANG_HOST_BIN=n
+if not defined CLANG_BIN (
+ @echo.
+ @echo !!! WARNING !!! CLANG_BIN environment variable is not set
+ @if exist "C:\Program Files\LLVM\bin\clang.exe" (
+ @set CLANG_BIN=C:\Program Files\LLVM\bin\
+ @echo Found LLVM, setting CLANG_BIN environment variable to C:\Program Files\LLVM\bin\
+ )
+)
+
:check_cygwin
if defined CYGWIN_HOME (
if not exist "%CYGWIN_HOME%" (
@@ -140,22 +143,27 @@ if defined CYGWIN_HOME (
)
:cygwin_done
+if /I "%1"=="Rebuild" shift
+if /I "%1"=="ForceRebuild" shift
+if /I "%1"=="VS2019" shift
+if /I "%1"=="VS2017" shift
+if /I "%1"=="VS2015" shift
+if /I "%1"=="VS2013" shift
+if /I "%1"=="VS2012" shift
if "%1"=="" goto end
:Usage
@echo.
- @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32 [X64]] [Reconfig]"
- @echo --nt32 [X64] If a compiler tool chain is not available in the
- @echo environment, call a script to attempt to set one up.
- @echo This flag is only required if building the
- @echo Nt32Pkg/Nt32Pkg.dsc system emulator.
- @echo If the X64 argument is set, and a compiler tool chain is
- @echo not available, attempt to set up a tool chain that will
- @echo create X64 binaries. Setting these two options have the
- @echo potential side effect of changing tool chains used for a
- @echo rebuild.
+ @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [Reconfig] [Rebuild] [ForceRebuild] [VS2019] [VS2017] [VS2015] [VS2013] [VS2012]"
@echo.
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.
+ @echo Rebuild Perform incremental rebuild of BaseTools binaries.
+ @echo ForceRebuild Force a full rebuild of BaseTools binaries.
+ @echo VS2012 Set the env for VS2012 build.
+ @echo VS2013 Set the env for VS2013 build.
+ @echo VS2015 Set the env for VS2015 build.
+ @echo VS2017 Set the env for VS2017 build.
+ @echo VS2019 Set the env for VS2019 build.
@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
@@ -165,4 +173,3 @@ if "%1"=="" goto end
:end
popd
-