Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Cinnamon Shia
> Sent: Wednesday, October 19, 2016 12:32 PM
> To: [email protected]
> Cc: Ni, Ruiyu <[email protected]>; Gao, Liming <[email protected]>
> Subject: [edk2] [PATCH] 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 <[email protected]>
> ---
>  BaseTools/toolsetup.bat |  4 +++
>  edksetup.bat            | 71 
> +++++++++++++++++--------------------------------
>  2 files changed, 29 insertions(+), 46 deletions(-)
> 
> diff --git a/BaseTools/toolsetup.bat b/BaseTools/toolsetup.bat
> index 21f5b76..17b7239 100755
> --- a/BaseTools/toolsetup.bat
> +++ b/BaseTools/toolsetup.bat
> @@ -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
> diff --git a/edksetup.bat b/edksetup.bat
> index f066d86..6c8c0aa 100755
> --- a/edksetup.bat
> +++ b/edksetup.bat
> @@ -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.
> --
> 2.10.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to