[edk2-devel] [PATCH v2 0/4] Compile AML bytecode array into OBJ file

PierreGondois posted 4 patches 3 weeks ago
Failed in applying to current master (apply log)
BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC}               | 28 +++----
BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat}     |  0
BaseTools/Conf/build_rule.template                                 | 15 +++-
BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} | 82 ++++++++------------
BaseTools/Source/Python/AutoGen/BuildEngine.py                     |  2 +-
BaseTools/Source/Python/AutoGen/GenMake.py                         |  6 ++
BaseTools/Source/Python/AutoGen/ModuleAutoGen.py                   | 38 +++++----
7 files changed, 89 insertions(+), 82 deletions(-)
rename BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC} (97%)
rename BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat} (100%)
rename BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} (52%)

[edk2-devel] [PATCH v2 0/4] Compile AML bytecode array into OBJ file

Posted by PierreGondois 3 weeks ago
Following the BZ at https://bugzilla.tianocore.org/show_bug.cgi?id=2425
This patch serie is a another way to solve the dependency
of C files over ASL files. With this new method, the
dependency is resolved at the linking stage.

The last method to solve this dependency was to add
the possibility to modify INF files to depict such a
dependency. This method was not accepted. The discussion
is available at https://edk2.groups.io/g/devel/topic/72655342#56658

The last patch modifying the INF specification and INF
parsing are available at:
https://edk2.groups.io/g/devel/topic/72655342#56658
https://edk2.groups.io/g/devel/topic/72656060#56662

Pierre Gondois (4):
  BaseTools: Generate multiple rules when multiple output files
  BaseTools: Rename AmlToHex script to AmlToC
  BaseTools: Compile AML bytecode arrays into .obj file
  BaseTools: Fix string concatenation

 BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC}               | 28 +++----
 BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat}     |  0
 BaseTools/Conf/build_rule.template                                 | 15 +++-
 BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} | 82 ++++++++------------
 BaseTools/Source/Python/AutoGen/BuildEngine.py                     |  2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py                         |  6 ++
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py                   | 38 +++++----
 7 files changed, 89 insertions(+), 82 deletions(-)
 rename BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC} (97%)
 rename BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat} (100%)
 rename BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} (52%)

-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#61487): https://edk2.groups.io/g/devel/message/61487
Mute This Topic: https://groups.io/mt/74959528/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v2 0/4] Compile AML bytecode array into OBJ file

Posted by Bob Feng 2 weeks ago
Hi Pierre,

This patch set looks good to me.

Reviewed-by: Bob Feng<bob.c.feng@intel.com>

Thanks,
Bob

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of PierreGondois
Sent: Thursday, June 18, 2020 10:27 PM
To: devel@edk2.groups.io
Cc: Pierre Gondois <Pierre.Gondois@arm.com>; sami.mujawar@arm.com; tomas.pilar@arm.com; Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <liming.gao@intel.com>; nd@arm.com
Subject: [edk2-devel] [PATCH v2 0/4] Compile AML bytecode array into OBJ file

Following the BZ at https://bugzilla.tianocore.org/show_bug.cgi?id=2425
This patch serie is a another way to solve the dependency of C files over ASL files. With this new method, the dependency is resolved at the linking stage.

The last method to solve this dependency was to add the possibility to modify INF files to depict such a dependency. This method was not accepted. The discussion is available at https://edk2.groups.io/g/devel/topic/72655342#56658

The last patch modifying the INF specification and INF parsing are available at:
https://edk2.groups.io/g/devel/topic/72655342#56658
https://edk2.groups.io/g/devel/topic/72656060#56662

Pierre Gondois (4):
  BaseTools: Generate multiple rules when multiple output files
  BaseTools: Rename AmlToHex script to AmlToC
  BaseTools: Compile AML bytecode arrays into .obj file
  BaseTools: Fix string concatenation

 BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC}               | 28 +++----
 BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat}     |  0
 BaseTools/Conf/build_rule.template                                 | 15 +++-
 BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} | 82 ++++++++------------
 BaseTools/Source/Python/AutoGen/BuildEngine.py                     |  2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py                         |  6 ++
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py                   | 38 +++++----
 7 files changed, 89 insertions(+), 82 deletions(-)  rename BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC} (97%)  rename BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat} (100%)  rename BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} (52%)

--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#61628): https://edk2.groups.io/g/devel/message/61628
Mute This Topic: https://groups.io/mt/74959528/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v2 0/4] Compile AML bytecode array into OBJ file

Posted by PierreGondois 3 weeks ago
Hello Bob,
As discussed, I have created a pull request on the edk2 github. It is available here:
https://github.com/tianocore/edk2/pull/700
Feel free to delete it.

I have tested the patch set on the following confifurations, with the following formating for each line:
[DSC file] [Build environment (Linux/Windows)] [Arch] [Toolchain] [Build type (DEBUG, ...)]

ArmCrashDumpDxe_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
ArmPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
ArmPlatformPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmPlatformPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
ArmPlatformPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
ArmVirtQemuKernel_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmVirtQemuKernel_dsc LinuxEnv AARCH64 GCC5 NOOPT
ArmVirtQemuKernel_dsc LinuxEnv AARCH64 GCC5 RELEASE
ArmVirtQemu_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmVirtQemu_dsc LinuxEnv AARCH64 GCC5 NOOPT
ArmVirtQemu_dsc LinuxEnv AARCH64 GCC5 RELEASE
ArmVirtXen_dsc LinuxEnv AARCH64 GCC5 DEBUG
ArmVirtXen_dsc LinuxEnv AARCH64 GCC5 NOOPT
ArmVirtXen_dsc LinuxEnv AARCH64 GCC5 RELEASE
CryptoPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
CryptoPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
CryptoPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
DynamicTablesPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
DynamicTablesPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
DynamicTablesPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
EmbeddedPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
EmbeddedPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
EmbeddedPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
FatPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
FatPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
FatPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
FmpDevicePkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
FmpDevicePkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
FmpDevicePkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
MdeModulePkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
MdeModulePkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
MdeModulePkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
MdePkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
MdePkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
MdePkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
NetworkPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
NetworkPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
NetworkPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
SecurityPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
SecurityPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
SecurityPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
ShellPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
ShellPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
ShellPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
SignedCapsulePkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
SignedCapsulePkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
SignedCapsulePkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
StandaloneMmPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
StandaloneMmPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
UnitTestFrameworkPkg_dsc LinuxEnv AARCH64 GCC5 DEBUG
UnitTestFrameworkPkg_dsc LinuxEnv AARCH64 GCC5 NOOPT
UnitTestFrameworkPkg_dsc LinuxEnv AARCH64 GCC5 RELEASE
edk2_ArmPkg_ArmPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmPkg_ArmPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ArmPkg_ArmPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_ArmPkg_Drivers_ArmCrashDumpDxe_ArmCrashDumpDxe_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmPkg_Drivers_ArmCrashDumpDxe_ArmCrashDumpDxe_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_ArmPlatformPkg_ArmPlatformPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmPlatformPkg_ArmPlatformPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ArmPlatformPkg_ArmPlatformPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_ArmVirtPkg_ArmVirtQemuKernel_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmVirtPkg_ArmVirtQemuKernel_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ArmVirtPkg_ArmVirtQemuKernel_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_ArmVirtPkg_ArmVirtQemu_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmVirtPkg_ArmVirtQemu_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ArmVirtPkg_ArmVirtQemu_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_ArmVirtPkg_ArmVirtXen_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ArmVirtPkg_ArmVirtXen_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ArmVirtPkg_ArmVirtXen_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_CryptoPkg_CryptoPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 VS2017 NOOPT
edk2_DynamicTablesPkg_DynamicTablesPkg_dsc WindowsEnv AARCH64 VS2017 RELEASE
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_EmulatorPkg_EmulatorPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 VS2017 NOOPT
edk2_FatPkg_FatPkg_dsc WindowsEnv AARCH64 VS2017 RELEASE
edk2_FatPkg_FatPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_FatPkg_FatPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_FatPkg_FatPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_FatPkg_FatPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_FatPkg_FatPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_FatPkg_FatPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_FmpDevicePkg_FmpDevicePkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_FmpDevicePkg_Test_FmpDeviceHostPkgTest_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_FmpDevicePkg_Test_FmpDeviceHostPkgTest_dsc WindowsEnv X64 VS2017 NOOPT
edk2_IntelFsp2Pkg_IntelFsp2Pkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_IntelFsp2Pkg_IntelFsp2Pkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_IntelFsp2Pkg_IntelFsp2Pkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_IntelFsp2WrapperPkg_IntelFsp2WrapperPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_MdeModulePkg_MdeModulePkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_MdeModulePkg_Test_MdeModulePkgHostTest_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_MdeModulePkg_Test_MdeModulePkgHostTest_dsc WindowsEnv X64 VS2017 NOOPT
edk2_MdePkg_MdePkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_MdePkg_MdePkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_MdePkg_MdePkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_MdePkg_MdePkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_MdePkg_MdePkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_MdePkg_MdePkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_MdePkg_MdePkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_MdePkg_MdePkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_MdePkg_MdePkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_MdePkg_Test_MdePkgHostTest_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_MdePkg_Test_MdePkgHostTest_dsc WindowsEnv X64 VS2017 NOOPT
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_NetworkPkg_NetworkPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_OvmfPkg_OvmfPkgIa32_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_OvmfPkg_OvmfPkgIa32_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_OvmfPkg_OvmfPkgIa32_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_OvmfPkg_OvmfPkgX64_dsc WindowsEnv X64 VS2017 DEBUG
edk2_OvmfPkg_OvmfPkgX64_dsc WindowsEnv X64 VS2017 NOOPT
edk2_OvmfPkg_OvmfPkgX64_dsc WindowsEnv X64 VS2017 RELEASE
edk2_OvmfPkg_OvmfXen_dsc WindowsEnv X64 VS2017 DEBUG
edk2_OvmfPkg_OvmfXen_dsc WindowsEnv X64 VS2017 NOOPT
edk2_OvmfPkg_OvmfXen_dsc WindowsEnv X64 VS2017 RELEASE
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_PcAtChipsetPkg_PcAtChipsetPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 VS2017 NOOPT
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv AARCH64 VS2017 RELEASE
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_SecurityPkg_SecurityPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 VS2017 NOOPT
edk2_ShellPkg_ShellPkg_dsc WindowsEnv AARCH64 VS2017 RELEASE
edk2_ShellPkg_ShellPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_ShellPkg_ShellPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_ShellPkg_ShellPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_ShellPkg_ShellPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_ShellPkg_ShellPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_ShellPkg_ShellPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_SignedCapsulePkg_SignedCapsulePkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_SourceLevelDebugPkg_SourceLevelDebugPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_StandaloneMmPkg_StandaloneMmPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_StandaloneMmPkg_StandaloneMmPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_UefiCpuPkg_UefiCpuPkg_dsc WindowsEnv X64 VS2017 RELEASE
edk2_UefiPayloadPkg_UefiPayloadPkgIa32_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_UefiPayloadPkg_UefiPayloadPkgIa32_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_UnitTestFrameworkPkg_Test_UnitTestFrameworkPkgHostTest_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_UnitTestFrameworkPkg_Test_UnitTestFrameworkPkgHostTest_dsc WindowsEnv X64 VS2017 NOOPT
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 GCC5 DEBUG
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 GCC5 NOOPT
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 GCC5 RELEASE
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 VS2017 DEBUG
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 VS2017 NOOPT
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv AARCH64 VS2017 RELEASE
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv IA32 VS2017 DEBUG
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv IA32 VS2017 NOOPT
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv IA32 VS2017 RELEASE
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv X64 VS2017 DEBUG
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv X64 VS2017 NOOPT
edk2_UnitTestFrameworkPkg_UnitTestFrameworkPkg_dsc WindowsEnv X64 VS2017 RELEASE

Regards,
Pierre

-----Original Message-----
From: PierreGondois <pierre.gondois@arm.com> 
Sent: Thursday, June 18, 2020 3:27 PM
To: devel@edk2.groups.io
Cc: Pierre Gondois <Pierre.Gondois@arm.com>; Sami Mujawar <Sami.Mujawar@arm.com>; Tomas Pilar <Tomas.Pilar@arm.com>; bob.c.feng@intel.com; liming.gao@intel.com; nd <nd@arm.com>
Subject: [PATCH v2 0/4] Compile AML bytecode array into OBJ file

Following the BZ at https://bugzilla.tianocore.org/show_bug.cgi?id=2425
This patch serie is a another way to solve the dependency of C files over ASL files. With this new method, the dependency is resolved at the linking stage.

The last method to solve this dependency was to add the possibility to modify INF files to depict such a dependency. This method was not accepted. The discussion is available at https://edk2.groups.io/g/devel/topic/72655342#56658

The last patch modifying the INF specification and INF parsing are available at:
https://edk2.groups.io/g/devel/topic/72655342#56658
https://edk2.groups.io/g/devel/topic/72656060#56662

Pierre Gondois (4):
  BaseTools: Generate multiple rules when multiple output files
  BaseTools: Rename AmlToHex script to AmlToC
  BaseTools: Compile AML bytecode arrays into .obj file
  BaseTools: Fix string concatenation

 BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC}               | 28 +++----
 BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat}     |  0
 BaseTools/Conf/build_rule.template                                 | 15 +++-
 BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} | 82 ++++++++------------
 BaseTools/Source/Python/AutoGen/BuildEngine.py                     |  2 +-
 BaseTools/Source/Python/AutoGen/GenMake.py                         |  6 ++
 BaseTools/Source/Python/AutoGen/ModuleAutoGen.py                   | 38 +++++----
 7 files changed, 89 insertions(+), 82 deletions(-)  rename BaseTools/BinWrappers/PosixLike/{AmlToHex => AmlToC} (97%)  rename BaseTools/BinWrappers/WindowsLike/{AmlToHex.bat => AmlToC.bat} (100%)  rename BaseTools/Source/Python/{AmlToHex/AmlToHex.py => AmlToC/AmlToC.py} (52%)

--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#61492): https://edk2.groups.io/g/devel/message/61492
Mute This Topic: https://groups.io/mt/74959528/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-