BaseTools: Enable Module Scope Structure Pcd

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

This patch is to enable the Module scoped Structure Pcd usage.
User can set structure pcd field value in module scope. For example,
under the [components] section of a dsc file, user can override some
field value for a specific module.

  Package/Module.inf{
      <PcdsFixedAtBuild>
      gUefiTokenSpaceGuid.StructurePcdModule.FieldName | 5
  }

Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>

Tested-by: Liming Gao <gaoliming@byosoft.com.cn>
Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
This commit is contained in:
Bob Feng
2020-11-04 11:01:39 +08:00
committed by mergify[bot]
parent 978b9d511f
commit 09af9bd9be
7 changed files with 329 additions and 77 deletions

View File

@ -1043,7 +1043,13 @@ class PlatformAutoGen(AutoGen):
@cached_property
def _MbList(self):
return [self.BuildDatabase[m, self.Arch, self.BuildTarget, self.ToolChain] for m in self.Platform.Modules]
ModuleList = []
for m in self.Platform.Modules:
component = self.Platform.Modules[m]
module = self.BuildDatabase[m, self.Arch, self.BuildTarget, self.ToolChain]
module.Guid = component.Guid
ModuleList.append(module)
return ModuleList
@cached_property
def _MaList(self):