edksetup.bat: Support --nt32 X64

Support --nt32 X64 for building 64-bit NT32.
For setting up Windows environment variables requited by NT32, follow the
same approach as Edk2Setup.bat by using the get_vsvars.bat and
SetVisualStudio.bat.

Sync the help text of NT32 with Edk2Setup.bat.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hpe.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Cinnamon Shia 2016-10-19 12:31:36 +08:00 committed by Liming Gao
parent 0bfb9ee855
commit 92063b0b21
2 changed files with 29 additions and 46 deletions

View File

@ -4,6 +4,7 @@
@REM if the file is not executed within a WORKSPACE\BaseTools folder.
@REM
@REM Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
@REM (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
@REM
@REM This program and the accompanying materials are licensed and made available
@REM under the terms and conditions of the BSD License which accompanies this
@ -33,6 +34,9 @@ if /I "%1"=="/?" goto Usage
:loop
if "%1"=="" goto setup_workspace
if /I "%1"=="--nt32" (
if /I "%2" == "X64" (
shift
)
@REM Ignore --nt32 flag
shift
goto loop

View File

@ -2,6 +2,7 @@
@REM Windows batch file to setup a WORKSPACE environment
@REM
@REM Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
@REM (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
@ -56,49 +57,6 @@ 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 (
@ -108,7 +66,7 @@ if not defined EDK_TOOLS_PATH (
for %%i IN (%PACKAGES_PATH%) DO (
if exist %%~fi\BaseTools (
set EDK_TOOLS_PATH=%%~fi\BaseTools
goto checkBaseTools
goto checkNt32Flag
)
)
) else (
@ -121,6 +79,19 @@ if not defined EDK_TOOLS_PATH (
)
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
)
:checkBaseTools
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
call %EDK_TOOLS_PATH%\toolsetup.bat %*
@ -173,8 +144,16 @@ 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 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.
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.
@echo.