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.s...@hpe.com>
---
 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
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to