Re: [edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python
Gary, Thanks for the feedback. I will send out a V3. I have fixed the source files with non-ASCII characters that are preventing the reports from being generated on Linux systems. I will enter a BZ to update the build tools to be more resilient for this case. Non-ASCII characters should not be present in source files, but presence of non-ASCII characters should not break the build with a python stack trace. The report should still be generated correctly. Thanks, Mike > -Original Message- > From: Gary Lin [mailto:g...@suse.com] > Sent: Sunday, July 21, 2019 9:09 PM > To: devel@edk2.groups.io; Kinney, Michael D > > Cc: Qian, Yi ; Sun, Zailiang > > Subject: Re: [edk2-devel] [edk2-platforms Patch V2 5/5] > Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python > > On Thu, Jul 18, 2019 at 11:02:47PM -0700, Michael D > Kinney wrote: > > Convert Build_IFWI and bld_vlv BAT/sh scripts to OS > > independent python script PeBuild.py. This script > > generates the BiosId file. Standard EDK II build > > commands are used to build FW images and capsules. > > > > * Sample VS2015x86 commands for IA32/X64 and > DEBUG/RELEASE > > build -a IA32 -a X64 -t VS2015x86 -p > Vlv2TbltDevicePkg\PlatformPkgX64.dsc > > build -a IA32 -a X64 -t VS2015x86 -p > Vlv2TbltDevicePkg\PlatformPkgX64.dsc > > build -a IA32-t VS2015x86 -p > Vlv2TbltDevicePkg\PlatformPkgIA32.dsc > > build -a IA32-t VS2015x86 -p > Vlv2TbltDevicePkg\PlatformPkgIA32.dsc > > > > * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE > > build -a IA32 -a X64 -n 5 -t GCC5 -p > Vlv2TbltDevicePkg/PlatformPkgX64.dsc > > build -a IA32 -a X64 -n 5 -t GCC5 -p > Vlv2TbltDevicePkg/PlatformPkgX64.dsc > > build -a IA32-n 5 -t GCC5 -p > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > > build -a IA32-n 5 -t GCC5 -p > Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > > > Hi Mike, > > I found some errors in Readme.md > > > Cc: Zailiang Sun > > Cc: Yi Qian > > Cc: Gary Lin > > Signed-off-by: Michael D Kinney > > > --- > > .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 -- > > > .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 -- > --- > > .../Vlv2TbltDevicePkg/PlatformCapsule.fdf | 48 -- > - > > .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc | 39 -- > > .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc | 39 -- > > .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf | 30 +- > > .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 13 +- > > .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 13 +- > > Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py | 348 > ++ > > Platform/Intel/Vlv2TbltDevicePkg/Readme.md| 62 > ++-- > > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat | 303 -- > - > > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh | 222 -- > - > > 12 files changed, 432 insertions(+), 903 deletions(-) > > delete mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > > delete mode 100755 > Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh > > delete mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf > > delete mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc > > delete mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc > > create mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py > > delete mode 100644 > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat > > delete mode 100755 > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh > > > > diff --git > a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > > deleted file mode 100644 > > index f65aa61f4a..00 > > --- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > > +++ /dev/null > > @@ -1,118 +0,0 @@ > > -@REM @file > > -@REM Windows batch file to build BIOS ROM > > -@REM > > -@REM Copyright (c) 2006 - 2019, Intel Corporation. All > rights reserved. > > -@REM SPDX-License-Identifier: BSD-2-Clause-Patent > > -@REM > > - > > -@echo off > > - > > -SetLocal EnableDelayedExpansion EnableExtensions > > - > > -:: Assign initial values > > -set exitCode=0 > > -set "Build_Flags= " > > -set PLATFORM_PACKAGE=Vlv2TbltDevicePkg > > - > > -set PLATFORM_PATH=%WORKSPACE% > > -if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% ( > > - if defined PACKAGES_PATH ( > > -for %%i IN (%PACKAGES_PATH%) DO ( > > - if exist %%~fi\%PLATFORM_PACKAGE% ( > > -
Re: [edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python
On Thu, Jul 18, 2019 at 11:02:47PM -0700, Michael D Kinney wrote: > Convert Build_IFWI and bld_vlv BAT/sh scripts to OS > independent python script PeBuild.py. This script > generates the BiosId file. Standard EDK II build > commands are used to build FW images and capsules. > > * Sample VS2015x86 commands for IA32/X64 and DEBUG/RELEASE > build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc > build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc > build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc > build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc > > * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE > build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc > build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc > build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc > Hi Mike, I found some errors in Readme.md > Cc: Zailiang Sun > Cc: Yi Qian > Cc: Gary Lin > Signed-off-by: Michael D Kinney > --- > .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 -- > .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 - > .../Vlv2TbltDevicePkg/PlatformCapsule.fdf | 48 --- > .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc | 39 -- > .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc | 39 -- > .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf | 30 +- > .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 13 +- > .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 13 +- > Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py | 348 ++ > Platform/Intel/Vlv2TbltDevicePkg/Readme.md| 62 ++-- > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat | 303 --- > Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh | 222 --- > 12 files changed, 432 insertions(+), 903 deletions(-) > delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh > delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf > delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc > delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc > create mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py > delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat > delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh > > diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > deleted file mode 100644 > index f65aa61f4a..00 > --- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat > +++ /dev/null > @@ -1,118 +0,0 @@ > -@REM @file > -@REM Windows batch file to build BIOS ROM > -@REM > -@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved. > -@REM SPDX-License-Identifier: BSD-2-Clause-Patent > -@REM > - > -@echo off > - > -SetLocal EnableDelayedExpansion EnableExtensions > - > -:: Assign initial values > -set exitCode=0 > -set "Build_Flags= " > -set PLATFORM_PACKAGE=Vlv2TbltDevicePkg > - > -set PLATFORM_PATH=%WORKSPACE% > -if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% ( > - if defined PACKAGES_PATH ( > -for %%i IN (%PACKAGES_PATH%) DO ( > - if exist %%~fi\%PLATFORM_PACKAGE% ( > -set PLATFORM_PATH=%%~fi > -goto PlatformPackageFound > - ) > -) > - ) else ( > -echo. > -echo !!! ERROR !!! Cannot find %PLATFORM_PACKAGE% !!! > -echo. > -goto Exit > - ) > -) > -:PlatformPackageFound > - > -:: Parse Optional arguments > -:OptLoop > -if /i "%~1"=="/?" goto Usage > - > -if /i "%~1"=="/l" ( > -set Build_Flags=%Build_Flags% /l > -shift > -goto OptLoop > -) > -if /i "%~1"=="/y" ( > -set Build_Flags=%Build_Flags% /y > -shift > -goto OptLoop > -) > -if /i "%~1"=="/m" ( > -set Build_Flags=%Build_Flags% /m > -shift > -goto OptLoop > -) > -if /i "%~1" == "/c" ( > -set Build_Flags=%Build_Flags% /c > -shift > -goto OptLoop > -) > -if /i "%~1"=="/x64" ( > -set Build_Flags=%Build_Flags% /x64 > -shift > -goto OptLoop > -) > -if /i "%~1"=="/IA32" ( > -set Build_Flags=%Build_Flags% /IA32 > -shift > -goto OptLoop > -) > - > -:: Require 2 input parameters > -if "%~2"=="" goto Usage > - > -:: Assign required arguments > -set Platform_Type=%~1 > -set Build_Target=%~2 > - > -:: Build BIOS > -echo == > -echo Build_IFWI: Calling BIOS build Script... > - > -call %PLATFORM_PATH%\%PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% > %Platform_Type% %Build_Target% > - > -if %ERRORLEVEL% NEQ 0 ( > -echo echo -- Error Building BIOS & echo. > -set exitCode=1 > -goto exit > -) > -echo. > -echo Finished Building BIOS. > -goto Exit > - > -:Usage > -echo Script to build BIOS firmware
[edk2-devel] [edk2-platforms Patch V2 5/5] Vlv2Tbl2DevicePkg: Convert BAT/sh Build scripts to Python
Convert Build_IFWI and bld_vlv BAT/sh scripts to OS independent python script PeBuild.py. This script generates the BiosId file. Standard EDK II build commands are used to build FW images and capsules. * Sample VS2015x86 commands for IA32/X64 and DEBUG/RELEASE build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc build -a IA32 -a X64 -t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgX64.dsc build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc build -a IA32-t VS2015x86 -p Vlv2TbltDevicePkg\PlatformPkgIA32.dsc * Sample GCC5 commands for IA32/X64 and DEBUG/RELEASE build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc build -a IA32 -a X64 -n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgX64.dsc build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc build -a IA32-n 5 -t GCC5 -p Vlv2TbltDevicePkg/PlatformPkgIA32.dsc Cc: Zailiang Sun Cc: Yi Qian Cc: Gary Lin Signed-off-by: Michael D Kinney --- .../Intel/Vlv2TbltDevicePkg/Build_IFWI.bat| 118 -- .../Intel/Vlv2TbltDevicePkg/Build_IFWI.sh | 100 - .../Vlv2TbltDevicePkg/PlatformCapsule.fdf | 48 --- .../Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc | 39 -- .../Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc | 39 -- .../Intel/Vlv2TbltDevicePkg/PlatformPkg.fdf | 30 +- .../Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 13 +- .../Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 13 +- Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py | 348 ++ Platform/Intel/Vlv2TbltDevicePkg/Readme.md| 62 ++-- Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat | 303 --- Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh | 222 --- 12 files changed, 432 insertions(+), 903 deletions(-) delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.sh delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsule.fdf delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleIA32.dsc delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PlatformCapsuleX64.dsc create mode 100644 Platform/Intel/Vlv2TbltDevicePkg/PreBuild.py delete mode 100644 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.bat delete mode 100755 Platform/Intel/Vlv2TbltDevicePkg/bld_vlv.sh diff --git a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat b/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat deleted file mode 100644 index f65aa61f4a..00 --- a/Platform/Intel/Vlv2TbltDevicePkg/Build_IFWI.bat +++ /dev/null @@ -1,118 +0,0 @@ -@REM @file -@REM Windows batch file to build BIOS ROM -@REM -@REM Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved. -@REM SPDX-License-Identifier: BSD-2-Clause-Patent -@REM - -@echo off - -SetLocal EnableDelayedExpansion EnableExtensions - -:: Assign initial values -set exitCode=0 -set "Build_Flags= " -set PLATFORM_PACKAGE=Vlv2TbltDevicePkg - -set PLATFORM_PATH=%WORKSPACE% -if not exist %PLATFORM_PATH%\%PLATFORM_PACKAGE% ( - if defined PACKAGES_PATH ( -for %%i IN (%PACKAGES_PATH%) DO ( - if exist %%~fi\%PLATFORM_PACKAGE% ( -set PLATFORM_PATH=%%~fi -goto PlatformPackageFound - ) -) - ) else ( -echo. -echo !!! ERROR !!! Cannot find %PLATFORM_PACKAGE% !!! -echo. -goto Exit - ) -) -:PlatformPackageFound - -:: Parse Optional arguments -:OptLoop -if /i "%~1"=="/?" goto Usage - -if /i "%~1"=="/l" ( -set Build_Flags=%Build_Flags% /l -shift -goto OptLoop -) -if /i "%~1"=="/y" ( -set Build_Flags=%Build_Flags% /y -shift -goto OptLoop -) -if /i "%~1"=="/m" ( -set Build_Flags=%Build_Flags% /m -shift -goto OptLoop -) -if /i "%~1" == "/c" ( -set Build_Flags=%Build_Flags% /c -shift -goto OptLoop -) -if /i "%~1"=="/x64" ( -set Build_Flags=%Build_Flags% /x64 -shift -goto OptLoop -) -if /i "%~1"=="/IA32" ( -set Build_Flags=%Build_Flags% /IA32 -shift -goto OptLoop -) - -:: Require 2 input parameters -if "%~2"=="" goto Usage - -:: Assign required arguments -set Platform_Type=%~1 -set Build_Target=%~2 - -:: Build BIOS -echo == -echo Build_IFWI: Calling BIOS build Script... - -call %PLATFORM_PATH%\%PLATFORM_PACKAGE%\bld_vlv.bat %Build_Flags% %Platform_Type% %Build_Target% - -if %ERRORLEVEL% NEQ 0 ( -echo echo -- Error Building BIOS & echo. -set exitCode=1 -goto exit -) -echo. -echo Finished Building BIOS. -goto Exit - -:Usage -echo Script to build BIOS firmware and stitch the entire IFWI. -echo. -echo Usage: Build_IFWI.bat [options] PlatformType BuildTarget -echo. -echo/cCleanAll -echo/lGenerate build log file -echo/yGenerate build report file -echo/mEnable multi-processor build -echo/IA32 Set Arch to IA32 (default: X64) -echo/X64 Set Arch to X64 (default: X64) -echo. -echoPlatform Types: MNW2 -echo