mirror of https://github.com/acidanthera/audk.git
BaseTools/GenFds: enhance INF built arch filter
The bug is use FILE_GUID override to build the same module more than once, GenFds report warning "xxx NOT found in DSC file; Is it really a binary module?". The root cause is the module path with FILE_GUID overridden has the file name FILE_GUIDmodule.inf, then PlatformDataBase.Modules use FILE_GUIDmodule.inf as key which cause __GetPlatformArchList__ return empty. Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
518aebe2f7
commit
4ce415e55d
|
@ -570,6 +570,16 @@ class FfsInfStatement(FfsInfStatementClassObject):
|
|||
if PlatformDataBase != None:
|
||||
if InfFileKey in PlatformDataBase.Modules:
|
||||
DscArchList.append (Arch)
|
||||
else:
|
||||
#
|
||||
# BaseTools support build same module more than once, the module path with FILE_GUID overridden has
|
||||
# the file name FILE_GUIDmodule.inf, then PlatformDataBase.Modules use FILE_GUIDmodule.inf as key,
|
||||
# but the path (self.MetaFile.Path) is the real path
|
||||
#
|
||||
for key in PlatformDataBase.Modules.keys():
|
||||
if InfFileKey == str((PlatformDataBase.Modules[key]).MetaFile.Path):
|
||||
DscArchList.append (Arch)
|
||||
break
|
||||
|
||||
return DscArchList
|
||||
|
||||
|
|
Loading…
Reference in New Issue