* [edk2-devel] [edk2-libc Patch 0/1] update build and packaging scripts to take EDK2_LIBC_PATH @ 2024-06-19 7:52 Jayaprakash, N 2024-06-19 7:52 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc : " Jayaprakash, N 0 siblings, 1 reply; 3+ messages in thread From: Jayaprakash, N @ 2024-06-19 7:52 UTC (permalink / raw) To: devel; +Cc: Jayaprakash N This commit adds necessary changes to build and packaging scripts to take path to edk2-libc through an environment variable. It also updates the build and packaging instructions in GCCCompilationBKMs.rst file and Py368ReadMe.txt files. The Python368.inf file is also updated to take EDK2_LIBC_PATH instead of the current WORKSPACE path in the CC flags. Please refer to BZ4791 for more details. Jayaprakash N (1): edk2-libc : update build and packaging scripts to take EDK2_LIBC_PATH .../Python-3.6.8/GCCCompilationBKMs.rst | 21 +++++++++++------ .../Python/Python-3.6.8/Py368ReadMe.txt | 22 ++++++++++++++++-- .../Python/Python-3.6.8/Python368.inf | 6 ++--- .../Python/Python-3.6.8/create_python_pkg.bat | 21 ++++++++++++++--- .../Python/Python-3.6.8/create_python_pkg.sh | 23 ++++++++++++++++--- 5 files changed, 75 insertions(+), 18 deletions(-) -- 2.45.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119630): https://edk2.groups.io/g/devel/message/119630 Mute This Topic: https://groups.io/mt/106756611/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 3+ messages in thread
* [edk2-devel] [edk2-libc Patch 1/1] edk2-libc : update build and packaging scripts to take EDK2_LIBC_PATH 2024-06-19 7:52 [edk2-devel] [edk2-libc Patch 0/1] update build and packaging scripts to take EDK2_LIBC_PATH Jayaprakash, N @ 2024-06-19 7:52 ` Jayaprakash, N 2024-06-19 23:28 ` Michael D Kinney 0 siblings, 1 reply; 3+ messages in thread From: Jayaprakash, N @ 2024-06-19 7:52 UTC (permalink / raw) To: devel; +Cc: Jayaprakash N, Rebecca Cran, Michael D Kinney REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4791 This commit adds necessary changes to build and packaging scripts to take path to edk2-libc through an environment variable. It also updates the build and packaging instructions in GCCCompilationBKMs.rst file and Py368ReadMe.txt files. The Python368.inf file is also updated to take EDK2_LIBC_PATH instead of the current WORKSPACE path in the CC flags. Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Jayaprakash N <n.jayaprakash@intel.com> Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com> --- .../Python-3.6.8/GCCCompilationBKMs.rst | 21 +++++++++++------ .../Python/Python-3.6.8/Py368ReadMe.txt | 22 ++++++++++++++++-- .../Python/Python-3.6.8/Python368.inf | 6 ++--- .../Python/Python-3.6.8/create_python_pkg.bat | 21 ++++++++++++++--- .../Python/Python-3.6.8/create_python_pkg.sh | 23 ++++++++++++++++--- 5 files changed, 75 insertions(+), 18 deletions(-) diff --git a/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst b/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst index 0574977..667b408 100644 --- a/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst +++ b/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst @@ -136,17 +136,17 @@ Now clone the edk2-libc git repo by following / executing the below commands:: bash$ cd ~/src bash$ git clone https://github.com/tianocore/edk2-libc.git - bash$ export PACKAGES_PATH=$HOME/src/edk2:$HOME/src/edk2-libc +Set the PACKAGES_PATH and EDK2_LIBC_PATH using the commands below:: + + bash$ export PACKAGES_PATH=$HOME/src/edk2:$HOME/src/edk2-libc + bash$ export EDK2_LIBC_PATH=$HOME/src/edk2-libc Verify that you can build the hello world application from AppPkg under edk2-libc by running the following commands Build hello.inf from edk2-libc applications:: - $bash build -p AppPkg/AppPkg.dsc -m AppPkg/Applications/Hello/Hello.inf - -Copy the contents of edk2-libc to edk2 folder:: + $bash build -p ../edk2-libc/AppPkg/AppPkg.dsc -m ../edk2-libc/AppPkg/Applications/Hello/Hello.inf - bash$ cp -rf ~/src/edk2-libc/* ~/src/edk2/ 2.5. Build Python Interpreter using GCC ---------------------------------------- @@ -156,7 +156,8 @@ Execute the below command to build the X64 version of the Python 3.6.8 interpret bash$ cd AppPkg/Applications/Python/Python-3.6.8/ bash$ python srcprep.py bash$ cd ~/src/edk2 - bash$ build -a X64 -b RELEASE -p AppPkg/AppPkg.dsc -m AppPkg/Applications/Python/Python-3.6.8/Python368.inf -D BUILD_PYTHON368 + bash$ build -a X64 -b RELEASE -p ../edk2-libc/AppPkg/AppPkg.dsc \ + -m ../edk2-libc/AppPkg/Applications/Python/Python-3.6.8/Python368.inf -D BUILD_PYTHON368 or bash$ build -a X64 -b RELEASE -p AppPkg/AppPkg.dsc -D BUILD_PYTHON368 @@ -166,7 +167,13 @@ Execute the below command to build the X64 version of the Python 3.6.8 interpret To create an usable Python UEFI package with all the dependencies from the build environment, you can use the bash shell script create_python_pkg.sh available under /AppPkg/Applications/Python/Python-3.6.8 -folder. +folder. Ensure that EDK2_LIBC_PATH environment variable to edk2-libc folder path. + +Ensure that EDK2_LIBC_PATH environment variable to edk2-libc folder path:: + + bash$ echo $EDK2_LIBC_PATH + +The environment variable should be set to the folder path for the edk2-libc cloned repo. Use the following commands to create Python UEFI package:: diff --git a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt index 91f4c24..8a0b3fe 100644 --- a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt +++ b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt @@ -68,7 +68,24 @@ and that you can successfully build packages within that distribution. gc itertools math _operator time - C. Build AppPkg using the standard "build" command: + C. Set the PACKAGES_PATH and EDK2_LIBC_PATH environment variables to + the right values. PACKAGES_PATH should be set to the folder path of + edk2 and edk2-libc folders. EDK2_LIBC_PATH should be set to the + folder path of edk2-libc. + Use the below provided commands as reference to set the environment + variables to the corresponding values + + set PACKAGES_PATH=<path_to_edk2>;<path_to_edk2_libc>; + set EDK2_LIBC_PATH=<path_to_edk2_libc> + + where, + <path_to_edk2> should be replaced with the absolute path to + edk2 folder on your development system. + + <path_to_edk2_libc> should be replaced with the absolute path + to edk2-libc folder on your development system. + + D. Build AppPkg using the standard "build" command: For example, to build Python for an X64 CPU architecture: build -a X64 -p AppPkg\AppPkg.dsc -D BUILD_PYTHON368 @@ -115,7 +132,8 @@ system as follows: A script, create_python_pkg.bat , is provided which facilitates the population of the target EFI package. Execute this script from within the AppPkg/Applications/Python/Python-3.6.8 directory, providing the Tool Chain, Target - Build and destination directory which is the path to the destination directory. + Build and destination directory which is the path to the destination directory. + Ensure that EDK2_LIBC_PATH environment variable has been set to edk2-libc folder path. The appropriate contents of the AppPkg/Applications/Python/Python-3.6.8/Lib and Python.efi Application from Build/AppPkg/RELEASE_VS2017/X64/ will be ^^^^^^^^^^^^^^ diff --git a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf index fe42fb4..ffd802c 100644 --- a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf +++ b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf @@ -1,7 +1,7 @@ ## @file # Python368.inf # -# Copyright (c) 2011-2021, Intel Corporation. All rights reserved.<BR> +# Copyright (c) 2011-2024, Intel Corporation. All rights reserved.<BR> # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -275,8 +275,8 @@ Modules/zlib PyMod-$(PYTHON_VERSION)/Modules/cpu_gcc.s | GCC # [BuildOptions] - MSFT:*_*_*_CC_FLAGS = /GL- /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 /wd4702 /wd4706 /wd4456 /wd4312 /wd4457 /wd4459 /wd4474 /wd4476 /I$(WORKSPACE)\AppPkg\Applications\Python\Python-3.6.8\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC -D UEFI /WX- /DXML_POOR_ENTROPY /DUEFI_C_SOURCE - GCC:*_*_*_CC_FLAGS = -Wno-unused-function -Wno-format -Wno-error -fno-strict-aliasing -I$(WORKSPACE)/AppPkg/Applications/Python/Python-3.6.8/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC -DXML_POOR_ENTROPY + MSFT:*_*_*_CC_FLAGS = /GL- /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 /wd4702 /wd4706 /wd4456 /wd4312 /wd4457 /wd4459 /wd4474 /wd4476 /I$(EDK2_LIBC_PATH)\AppPkg\Applications\Python\Python-3.6.8\Include /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC -D UEFI /WX- /DXML_POOR_ENTROPY /DUEFI_C_SOURCE + GCC:*_*_*_CC_FLAGS = -Wno-unused-function -Wno-format -Wno-error -fno-strict-aliasing -I$(EDK2_LIBC_PATH)/AppPkg/Applications/Python/Python-3.6.8/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC -DXML_POOR_ENTROPY [BuildOptions.IA32] MSFT:*_*_*_CC_FLAGS = /DUEFI_MSVC_32 diff --git a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat index 32044d2..2682ac6 100644 --- a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat +++ b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat @@ -27,7 +27,22 @@ echo. goto :eof :continue -cd ..\..\..\..\ +echo current working directory %CD% +echo changing working directory to workspace %WORKSPACE% +cd %WORKSPACE% +dir + +if "%EDK2_LIBC_PATH%" == "" ( + echo Warning: EDK2_LIBC_PATH environment variable is not set + echo It should be set to edk2-libc folder path. + echo. + echo Assuming that edk2-libc contents are copied to edk2 folder + echo at compilation time, setting this variable to edk2 path. + set EDK2_LIBC_PATH=%WORKSPACE% +) + +echo edk2 libc path %EDK2_LIBC_PATH% + if not exist Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\%ARCH%\Python.efi ( goto error ) @@ -43,8 +58,8 @@ if not exist %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 +xcopy %EDK2_LIBC_PATH%\AppPkg\Applications\Python\Python-3.6.8\Lib\* %OUT_FOLDER%\EFI\StdLib\lib\python36.8\ /Y /S /I +xcopy %EDK2_LIBC_PATH%\StdLib\Efi\StdLib\etc\* %OUT_FOLDER%\EFI\StdLib\etc\ /Y /S /I echo. if not x%OUT_FOLDER::=%==x%OUT_FOLDER% ( diff --git a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh index 4a3a1e5..323d846 100644 --- a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh +++ b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh @@ -59,7 +59,24 @@ then exit fi -cd ../../../../ +echo current working directory `pwd` +echo changing working directory to $WORKSPACE +cd $WORKSPACE +ls + +# check if the EDK2_LIBC_PATH environment variable set or not +if [ -z $EDK2_LIBC_PATH ] +then + echo Warning: EDK2_LIBC_PATH environment variable is not set + echo It should be set to edk2-libc folder path. + echo. + echo Assuming that edk2-libc contents are copied to edk2 folder + echo at compilation time, setting this variable to edk2 path. + export EDK2_LIBC_PATH=$WORKSPACE +fi + +echo edk2 libc path $EDK2_LIBC_PATH + PYTHON_BIN="Build/AppPkg/$TARGET"_"$TOOL_CHAIN_TAG/$ARCH/Python.efi" if [ ! -f $PYTHON_BIN ] then @@ -86,8 +103,8 @@ then mkdir -p $OUT_FOLDER/EFI/StdLib/etc fi -cp -rf AppPkg/Applications/Python/Python-3.6.8/Lib/* $OUT_FOLDER/EFI/StdLib/lib/python36.8/ -cp -rf StdLib/Efi/StdLib/etc/* $OUT_FOLDER/EFI/StdLib/etc/ +cp -rf $EDK2_LIBC_PATH/AppPkg/Applications/Python/Python-3.6.8/Lib/* $OUT_FOLDER/EFI/StdLib/lib/python36.8/ +cp -rf $EDK2_LIBC_PATH/StdLib/Efi/StdLib/etc/* $OUT_FOLDER/EFI/StdLib/etc/ if [ ${OUT_FOLDER:0:1} == "/" ] then -- 2.45.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119631): https://edk2.groups.io/g/devel/message/119631 Mute This Topic: https://groups.io/mt/106756612/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [edk2-libc Patch 1/1] edk2-libc : update build and packaging scripts to take EDK2_LIBC_PATH 2024-06-19 7:52 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc : " Jayaprakash, N @ 2024-06-19 23:28 ` Michael D Kinney 0 siblings, 0 replies; 3+ messages in thread From: Michael D Kinney @ 2024-06-19 23:28 UTC (permalink / raw) To: Jayaprakash, N, devel@edk2.groups.io; +Cc: Rebecca Cran, Kinney, Michael D Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> > -----Original Message----- > From: Jayaprakash, N <n.jayaprakash@intel.com> > Sent: Wednesday, June 19, 2024 12:53 AM > To: devel@edk2.groups.io > Cc: Jayaprakash, N <n.jayaprakash@intel.com>; Rebecca Cran > <rebecca@bsdio.com>; Kinney, Michael D <michael.d.kinney@intel.com> > Subject: [edk2-libc Patch 1/1] edk2-libc : update build and packaging scripts > to take EDK2_LIBC_PATH > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4791 > > This commit adds necessary changes to build and packaging scripts > to take path to edk2-libc through an environment variable. > It also updates the build and packaging instructions in > GCCCompilationBKMs.rst file and Py368ReadMe.txt files. > The Python368.inf file is also updated to take EDK2_LIBC_PATH > instead of the current WORKSPACE path in the CC flags. > > Cc: Rebecca Cran <rebecca@bsdio.com> > Cc: Michael D Kinney <michael.d.kinney@intel.com> > Cc: Jayaprakash N <n.jayaprakash@intel.com> > Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com> > --- > .../Python-3.6.8/GCCCompilationBKMs.rst | 21 +++++++++++------ > .../Python/Python-3.6.8/Py368ReadMe.txt | 22 ++++++++++++++++-- > .../Python/Python-3.6.8/Python368.inf | 6 ++--- > .../Python/Python-3.6.8/create_python_pkg.bat | 21 ++++++++++++++--- > .../Python/Python-3.6.8/create_python_pkg.sh | 23 ++++++++++++++++--- > 5 files changed, 75 insertions(+), 18 deletions(-) > > diff --git a/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst > b/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst > index 0574977..667b408 100644 > --- a/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst > +++ b/AppPkg/Applications/Python/Python-3.6.8/GCCCompilationBKMs.rst > @@ -136,17 +136,17 @@ Now clone the edk2-libc git repo by following / > executing the below commands:: > > bash$ cd ~/src > bash$ git clone https://github.com/tianocore/edk2-libc.git > - bash$ export PACKAGES_PATH=$HOME/src/edk2:$HOME/src/edk2-libc > > +Set the PACKAGES_PATH and EDK2_LIBC_PATH using the commands below:: > + > + bash$ export PACKAGES_PATH=$HOME/src/edk2:$HOME/src/edk2-libc > + bash$ export EDK2_LIBC_PATH=$HOME/src/edk2-libc > > Verify that you can build the hello world application from AppPkg under > edk2-libc by running the following commands > Build hello.inf from edk2-libc applications:: > > - $bash build -p AppPkg/AppPkg.dsc -m > AppPkg/Applications/Hello/Hello.inf > - > -Copy the contents of edk2-libc to edk2 folder:: > + $bash build -p ../edk2-libc/AppPkg/AppPkg.dsc -m ../edk2- > libc/AppPkg/Applications/Hello/Hello.inf > > - bash$ cp -rf ~/src/edk2-libc/* ~/src/edk2/ > > 2.5. Build Python Interpreter using GCC > ---------------------------------------- > @@ -156,7 +156,8 @@ Execute the below command to build the X64 version of the > Python 3.6.8 interpret > bash$ cd AppPkg/Applications/Python/Python-3.6.8/ > bash$ python srcprep.py > bash$ cd ~/src/edk2 > - bash$ build -a X64 -b RELEASE -p AppPkg/AppPkg.dsc -m > AppPkg/Applications/Python/Python-3.6.8/Python368.inf -D BUILD_PYTHON368 > + bash$ build -a X64 -b RELEASE -p ../edk2-libc/AppPkg/AppPkg.dsc \ > + -m ../edk2-libc/AppPkg/Applications/Python/Python- > 3.6.8/Python368.inf -D BUILD_PYTHON368 > or > bash$ build -a X64 -b RELEASE -p AppPkg/AppPkg.dsc -D > BUILD_PYTHON368 > > @@ -166,7 +167,13 @@ Execute the below command to build the X64 version of > the Python 3.6.8 interpret > > To create an usable Python UEFI package with all the dependencies from the > build environment, > you can use the bash shell script create_python_pkg.sh available under > /AppPkg/Applications/Python/Python-3.6.8 > -folder. > +folder. Ensure that EDK2_LIBC_PATH environment variable to edk2-libc folder > path. > + > +Ensure that EDK2_LIBC_PATH environment variable to edk2-libc folder path:: > + > + bash$ echo $EDK2_LIBC_PATH > + > +The environment variable should be set to the folder path for the edk2-libc > cloned repo. > > Use the following commands to create Python UEFI package:: > > diff --git a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt > b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt > index 91f4c24..8a0b3fe 100644 > --- a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt > +++ b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt > @@ -68,7 +68,24 @@ and that you can successfully build packages within that > distribution. > gc itertools math _operator > time > > - C. Build AppPkg using the standard "build" command: > + C. Set the PACKAGES_PATH and EDK2_LIBC_PATH environment variables to > + the right values. PACKAGES_PATH should be set to the folder path of > + edk2 and edk2-libc folders. EDK2_LIBC_PATH should be set to the > + folder path of edk2-libc. > + Use the below provided commands as reference to set the environment > + variables to the corresponding values > + > + set PACKAGES_PATH=<path_to_edk2>;<path_to_edk2_libc>; > + set EDK2_LIBC_PATH=<path_to_edk2_libc> > + > + where, > + <path_to_edk2> should be replaced with the absolute path to > + edk2 folder on your development system. > + > + <path_to_edk2_libc> should be replaced with the absolute path > + to edk2-libc folder on your development system. > + > + D. Build AppPkg using the standard "build" command: > For example, to build Python for an X64 CPU architecture: > build -a X64 -p AppPkg\AppPkg.dsc -D BUILD_PYTHON368 > > @@ -115,7 +132,8 @@ system as follows: > A script, create_python_pkg.bat , is provided which facilitates the > population > of the target EFI package. Execute this script from within the > AppPkg/Applications/Python/Python-3.6.8 directory, providing the Tool > Chain, Target > - Build and destination directory which is the path to the destination > directory. > + Build and destination directory which is the path to the destination > directory. > + Ensure that EDK2_LIBC_PATH environment variable has been set to edk2-libc > folder path. > The appropriate contents of the AppPkg/Applications/Python/Python- > 3.6.8/Lib and > Python.efi Application from Build/AppPkg/RELEASE_VS2017/X64/ will be > ^^^^^^^^^^^^^^ > diff --git a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf > b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf > index fe42fb4..ffd802c 100644 > --- a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf > +++ b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf > @@ -1,7 +1,7 @@ > ## @file > # Python368.inf > # > -# Copyright (c) 2011-2021, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2011-2024, Intel Corporation. All rights reserved.<BR> > # This program and the accompanying materials > # are licensed and made available under the terms and conditions of the BSD > License > # which accompanies this distribution. The full text of the license may be > found at > @@ -275,8 +275,8 @@ Modules/zlib > PyMod-$(PYTHON_VERSION)/Modules/cpu_gcc.s | GCC # > > [BuildOptions] > - MSFT:*_*_*_CC_FLAGS = /GL- /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 > /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 > /wd4702 /wd4706 /wd4456 /wd4312 /wd4457 /wd4459 /wd4474 /wd4476 > /I$(WORKSPACE)\AppPkg\Applications\Python\Python-3.6.8\Include /DHAVE_MEMMOVE > /DUSE_PYEXPAT_CAPI /DXML_STATIC -D UEFI /WX- /DXML_POOR_ENTROPY > /DUEFI_C_SOURCE > - GCC:*_*_*_CC_FLAGS = -Wno-unused-function -Wno-format -Wno-error -fno- > strict-aliasing -I$(WORKSPACE)/AppPkg/Applications/Python/Python- > 3.6.8/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC - > DXML_POOR_ENTROPY > + MSFT:*_*_*_CC_FLAGS = /GL- /Oi- /wd4018 /wd4054 /wd4055 /wd4101 /wd4131 > /wd4152 /wd4204 /wd4210 /wd4244 /wd4267 /wd4305 /wd4310 /wd4389 /wd4701 > /wd4702 /wd4706 /wd4456 /wd4312 /wd4457 /wd4459 /wd4474 /wd4476 > /I$(EDK2_LIBC_PATH)\AppPkg\Applications\Python\Python-3.6.8\Include > /DHAVE_MEMMOVE /DUSE_PYEXPAT_CAPI /DXML_STATIC -D UEFI /WX- > /DXML_POOR_ENTROPY /DUEFI_C_SOURCE > + GCC:*_*_*_CC_FLAGS = -Wno-unused-function -Wno-format -Wno-error -fno- > strict-aliasing -I$(EDK2_LIBC_PATH)/AppPkg/Applications/Python/Python- > 3.6.8/Include -DHAVE_MEMMOVE -DUSE_PYEXPAT_CAPI -DXML_STATIC - > DXML_POOR_ENTROPY > > [BuildOptions.IA32] > MSFT:*_*_*_CC_FLAGS = /DUEFI_MSVC_32 > diff --git a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat > b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat > index 32044d2..2682ac6 100644 > --- a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat > +++ b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.bat > @@ -27,7 +27,22 @@ echo. > goto :eof > > :continue > -cd ..\..\..\..\ > +echo current working directory %CD% > +echo changing working directory to workspace %WORKSPACE% > +cd %WORKSPACE% > +dir > + > +if "%EDK2_LIBC_PATH%" == "" ( > + echo Warning: EDK2_LIBC_PATH environment variable is not set > + echo It should be set to edk2-libc folder path. > + echo. > + echo Assuming that edk2-libc contents are copied to edk2 folder > + echo at compilation time, setting this variable to edk2 path. > + set EDK2_LIBC_PATH=%WORKSPACE% > +) > + > +echo edk2 libc path %EDK2_LIBC_PATH% > + > if not exist Build\AppPkg\%TARGET%_%TOOL_CHAIN_TAG%\%ARCH%\Python.efi ( > goto error > ) > @@ -43,8 +58,8 @@ if not exist %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 > +xcopy %EDK2_LIBC_PATH%\AppPkg\Applications\Python\Python-3.6.8\Lib\* > %OUT_FOLDER%\EFI\StdLib\lib\python36.8\ /Y /S /I > +xcopy %EDK2_LIBC_PATH%\StdLib\Efi\StdLib\etc\* %OUT_FOLDER%\EFI\StdLib\etc\ > /Y /S /I > echo. > > if not x%OUT_FOLDER::=%==x%OUT_FOLDER% ( > diff --git a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh > b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh > index 4a3a1e5..323d846 100644 > --- a/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh > +++ b/AppPkg/Applications/Python/Python-3.6.8/create_python_pkg.sh > @@ -59,7 +59,24 @@ then > exit > fi > > -cd ../../../../ > +echo current working directory `pwd` > +echo changing working directory to $WORKSPACE > +cd $WORKSPACE > +ls > + > +# check if the EDK2_LIBC_PATH environment variable set or not > +if [ -z $EDK2_LIBC_PATH ] > +then > + echo Warning: EDK2_LIBC_PATH environment variable is not set > + echo It should be set to edk2-libc folder path. > + echo. > + echo Assuming that edk2-libc contents are copied to edk2 folder > + echo at compilation time, setting this variable to edk2 path. > + export EDK2_LIBC_PATH=$WORKSPACE > +fi > + > +echo edk2 libc path $EDK2_LIBC_PATH > + > PYTHON_BIN="Build/AppPkg/$TARGET"_"$TOOL_CHAIN_TAG/$ARCH/Python.efi" > if [ ! -f $PYTHON_BIN ] > then > @@ -86,8 +103,8 @@ then > mkdir -p $OUT_FOLDER/EFI/StdLib/etc > fi > > -cp -rf AppPkg/Applications/Python/Python-3.6.8/Lib/* > $OUT_FOLDER/EFI/StdLib/lib/python36.8/ > -cp -rf StdLib/Efi/StdLib/etc/* $OUT_FOLDER/EFI/StdLib/etc/ > +cp -rf $EDK2_LIBC_PATH/AppPkg/Applications/Python/Python-3.6.8/Lib/* > $OUT_FOLDER/EFI/StdLib/lib/python36.8/ > +cp -rf $EDK2_LIBC_PATH/StdLib/Efi/StdLib/etc/* $OUT_FOLDER/EFI/StdLib/etc/ > > if [ ${OUT_FOLDER:0:1} == "/" ] > then > -- > 2.45.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119649): https://edk2.groups.io/g/devel/message/119649 Mute This Topic: https://groups.io/mt/106756612/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-06-19 23:29 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-19 7:52 [edk2-devel] [edk2-libc Patch 0/1] update build and packaging scripts to take EDK2_LIBC_PATH Jayaprakash, N 2024-06-19 7:52 ` [edk2-devel] [edk2-libc Patch 1/1] edk2-libc : " Jayaprakash, N 2024-06-19 23:28 ` Michael D Kinney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox