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 PlatformDataBase != None:
|
||||||
if InfFileKey in PlatformDataBase.Modules:
|
if InfFileKey in PlatformDataBase.Modules:
|
||||||
DscArchList.append (Arch)
|
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
|
return DscArchList
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue