From: Cinnamon Shia <cinnamon.shia@hpe.com>
To: edk2-devel@lists.01.org
Cc: liming.gao@intel.com, ruiyu.ni@intel.com,
Cinnamon Shia <cinnamon.shia@hpe.com>
Subject: [PATCH] edksetup.bat: Support --nt32 X64
Date: Wed, 19 Oct 2016 12:31:36 +0800 [thread overview]
Message-ID: <20161019043136.14800-1-cinnamon.shia@hpe.com> (raw)
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>
---
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
next reply other threads:[~2016-10-19 4:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-19 4:31 Cinnamon Shia [this message]
2016-10-20 9:07 ` [PATCH] edksetup.bat: Support --nt32 X64 Gao, Liming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161019043136.14800-1-cinnamon.shia@hpe.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox