[edk2-libc Patch 1/1] AppPkg/Applications/Python/Python3.6.8: add IA32 support for py3 package creation batch script

Jayaprakash, N

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3638

This change is to add IA32 support into py3 EFI package
creation batch script. Enhanced the script take Architecture
as an additional parameter. With this the script can be used
to create deployable Python 3.6.8 EFI package from X64 and IA32 builds
as required by the user

Cc: Rebecca Cran <rebecca@...>
Cc: Michael D Kinney <michael.d.kinney@...>
Signed-off-by: Jayaprakash N <n.jayaprakash@...>
.../Python-3.6.8/create_python368_pkg.bat | 62 ++++++++++++-------
1 file changed, 39 insertions(+), 23 deletions(-)

diff --git a/AppPkg/Applications/Python/Python-3.6.8/create_python368_pkg.bat b/AppPkg/Applications/Python/Python-3.6.8/create_python368_pkg.bat
index 6bbdbd9..b48f83e 100644
--- a/AppPkg/Applications/Python/Python-3.6.8/create_python368_pkg.bat
+++ b/AppPkg/Applications/Python/Python-3.6.8/create_python368_pkg.bat
@@ -2,47 +2,63 @@

set TARGET=%2
-set OUT_FOLDER=%3
+set ARCH=%3
+set OUT_FOLDER=%4
if "%TOOL_CHAIN_TAG%"=="" goto usage
if "%TARGET%"=="" goto usage
+if "%ARCH%"=="" goto usage
if "%OUT_FOLDER%"=="" goto usage
goto continue

+echo Batch Script to create Python EFI Package.
+echo Invalid command line arguments passed, please see the below usage instructions
-echo Creates Python EFI Package.
-echo "Usage: %0 <ToolChain> <Target> <OutFolder>"
-echo ToolChain = one of VS2013x86, VS2015x86, VS2017, VS2019
-echo Target = one of RELEASE, DEBUG
-echo OutFolder = Target folder where package needs to create
+echo "Usage: %0 <ToolChain> <Target> <Architecture> <OutFolder>"
+echo ToolChain = one of VS2013x86, VS2015x86, VS2017, VS2019
+echo Target = one of RELEASE, DEBUG
+echo Architecture = one of IA32, X64
+echo OutFolder = Output directory for creating the package

goto :eof

cd ..\..\..\..\
-IF NOT EXIST Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\X64\Python368.efi goto error
-mkdir %OUT_FOLDER%\EFI\Tools
-xcopy Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\X64\Python368.efi %OUT_FOLDER%\EFI\Tools\ /y
-mkdir %OUT_FOLDER%\EFI\StdLib\lib\python36.8
-mkdir %OUT_FOLDER%\EFI\StdLib\etc
-xcopy AppPkg\Applications\Python\Python-3.6.8\Lib\* %OUT_FOLDER%\EFI\StdLib\lib\python36.8\ /Y /S /I
-xcopy StdLib\Efi\StdLib\etc\* %OUT_FOLDER%\EFI\StdLib\etc\ /Y /S /I
-goto all_done
-echo Failed to Create Python 3.6.8 Package, Python368.efi is not available on build location Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\X64\
+if not exist Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\%ARCH%\Python368.efi (
+ goto error

+if not exist %OUT_FOLDER%\EFI\Tools (
+ mkdir %OUT_FOLDER%\EFI\Tools
+xcopy Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\%ARCH%\Python368.efi %OUT_FOLDER%\EFI\Tools\ /y

-exit /b %ec%
+if not exist %OUT_FOLDER%\EFI\StdLib\lib\python36.8 (
+ mkdir %OUT_FOLDER%\EFI\StdLib\lib\python36.8
+if not exist %OUT_FOLDER%\EFI\StdLib\etc (
+ mkdir %OUT_FOLDER%\EFI\StdLib\etc
+xcopy AppPkg\Applications\Python\Python-3.6.8\Lib\* %OUT_FOLDER%\EFI\StdLib\lib\python36.8\ /Y /S /I
+xcopy StdLib\Efi\StdLib\etc\* %OUT_FOLDER%\EFI\StdLib\etc\ /Y /S /I

+if not x%OUT_FOLDER::=%==x%OUT_FOLDER% (
+ echo Python EFI package available at %OUT_FOLDER%
+) else (
+ echo Python EFI package available at %CD%\%OUT_FOLDER%
+goto all_done

+echo Failed to Create Python EFI Package
+echo Python368.efi is not available at Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\%ARCH%\
+echo Follow the instructions in Py368ReadMe.txt to build Python interpreter
+echo Then use this script to create a Python EFI package

+exit /b %ERRORLEVEL%

Join devel@edk2.groups.io to automatically receive all group messages.