From: Cinnamon Shia <cinnamon.shia@hpe.com>
To: edk2-devel@lists.01.org
Cc: liming.gao@intel.com, Cinnamon Shia <cinnamon.shia@hpe.com>
Subject: [PATCH] Edk2Setup.bat: Support building platforms with Python source
Date: Wed, 19 Oct 2016 12:54:53 +0800 [thread overview]
Message-ID: <20161019045453.25416-1-cinnamon.shia@hpe.com> (raw)
Following the same approach as toolsetup.bat:
If build.exe, TargetTool.exe, Trim.exe or GenFds.exe is missing, run its
Python source instead.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Cinnamon Shia <cinnamon.shia@hpe.com>
---
Edk2Setup.bat | 33 +++++++++++++++++++++++++++------
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/Edk2Setup.bat b/Edk2Setup.bat
index 2d13234..953a870 100755
--- a/Edk2Setup.bat
+++ b/Edk2Setup.bat
@@ -27,6 +27,7 @@
@REM build.exe Version 0.51 Developer Build based on Revision: 15668
@REM
@REM Copyright (c) 2014, 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
@@ -59,6 +60,7 @@
@set SRC_CONF=
@set ARGUMENT=
@set SCRIPT=EDKSETUP_BAT
+@set PYTHON_BUILD=
@if not defined ORIGINAL_PATH set "ORIGINAL_PATH=%PATH%"
@REM Always set the WORKSPACE environment variable to the current directory
@@ -352,12 +354,7 @@
@if defined REBUILD_TOOLS goto SetConf
@if defined SVN_PULL goto SetConf
-@if not exist "%EDK_TOOLS_PATH%\Bin\Win32\build.exe" (
- @echo ERROR : %EDK_TOOLS_PATH%\Bin\Win32\build.exe does not exist
- @echo Re-run this script using --reset, --pull or --rebuild
- @echo.
- @goto ExitFailure
-)
+
@echo.
@echo Rebuilding of the tools is not required. Binaries of the latest,
@echo tested versions of the tools have been tested and included in the
@@ -416,6 +413,29 @@
)
@set "PATH=%EDK_TOOLS_BIN%;%PATH%"
+@if NOT EXIST "%EDK_TOOLS_BIN%\build.exe" @set PYTHON_BUILD=TRUE
+@if NOT EXIST "%EDK_TOOLS_BIN%\GenFds.exe" @set PYTHON_BUILD=TRUE
+@if NOT EXIST "%EDK_TOOLS_BIN%\TargetTool.exe" @set PYTHON_BUILD=TRUE
+@if NOT EXIST "%EDK_TOOLS_BIN%\Trim.exe" @set PYTHON_BUILD=TRUE
+
+@if not defined PYTHON_BUILD goto SvnPull
+
+@if not defined PYTHON_HOME (
+ @if defined PYTHONHOME (
+ @set PYTHON_HOME=%PYTHONHOME%
+ ) else (
+ @echo.
+ @echo !!! ERROR !!! PYTHON_HOME is required to build or execute the tools, please set it. !!!
+ @echo.
+ @goto end
+ )
+)
+
+@set PATH=%PATH%;%BASE_TOOLS_PATH%\BinWrappers\WindowsLike
+@set BASETOOLS_PYTHON_SOURCE=%BASE_TOOLS_PATH%\Source\Python
+@set PYTHONPATH=%BASETOOLS_PYTHON_SOURCE%;%PYTHONPATH%
+
+SvnPull:
@if "%REBUILD_TOOLS%"=="TRUE" @goto Rebuild
@if "%SVN_PULL%"== "TRUE" (
if defined PYTHONHOME (
@@ -504,5 +524,6 @@
@set SCRIPT=
@set LIST_VS_VERSIONS=
@set PYTHON_FREEZER_PATH=
+@set PYTHON_BUILD=
@echo on
@exit /B 1
--
2.10.0.windows.1
next reply other threads:[~2016-10-19 4:55 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-19 4:54 Cinnamon Shia [this message]
2016-10-20 9:09 ` [PATCH] Edk2Setup.bat: Support building platforms with Python source 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=20161019045453.25416-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