Reviewed-by: Liming Gao <[email protected]> > -----Original Message----- > From: Zhu, Yonghong > Sent: Wednesday, May 11, 2016 5:30 PM > To: [email protected] > Cc: Gao, Liming <[email protected]> > Subject: [Patch] 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 <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Yonghong Zhu <[email protected]> > --- > BaseTools/Source/Python/GenFds/FfsInfStatement.py | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/BaseTools/Source/Python/GenFds/FfsInfStatement.py > b/BaseTools/Source/Python/GenFds/FfsInfStatement.py > index bba42c7..b0b22d1 100644 > --- a/BaseTools/Source/Python/GenFds/FfsInfStatement.py > +++ b/BaseTools/Source/Python/GenFds/FfsInfStatement.py > @@ -568,10 +568,20 @@ class FfsInfStatement(FfsInfStatementClassObject): > for Arch in GenFdsGlobalVariable.ArchList : > PlatformDataBase = > GenFdsGlobalVariable.WorkSpace.BuildObject[GenFdsGlobalVariable.Active > Platform, Arch, GenFdsGlobalVariable.TargetName, > GenFdsGlobalVariable.ToolChainTag] > 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 > > ## GetCurrentArch() method > # > -- > 2.6.1.windows.1
_______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

