def GenerateGuidXRefFile(BuildDb, ArchList, FdfParserObj):\r
GuidXRefFileName = os.path.join(GenFdsGlobalVariable.FvDir, "Guid.xref")\r
GuidXRefFile = BytesIO('')\r
+ PkgGuidDict = {}\r
GuidDict = {}\r
ModuleList = []\r
FileGuidList = []\r
GuidPattern = gGuidPattern\r
for Arch in ArchList:\r
PlatformDataBase = BuildDb.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
+ PkgList = GenFdsGlobalVariable.WorkSpace.GetPackageList(GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag)\r
+ for P in PkgList:\r
+ PkgGuidDict.update(P.Guids)\r
+ for Name, Guid in PlatformDataBase.Pcds:\r
+ Pcd = PlatformDataBase.Pcds[Name, Guid]\r
+ if Pcd.Type in [TAB_PCDS_DYNAMIC_HII, TAB_PCDS_DYNAMIC_EX_HII]:\r
+ for SkuId in Pcd.SkuInfoList:\r
+ Sku = Pcd.SkuInfoList[SkuId]\r
+ if Sku.VariableGuid and Sku.VariableGuid in PkgGuidDict.keys():\r
+ GuidDict[Sku.VariableGuid] = PkgGuidDict[Sku.VariableGuid]\r
for ModuleFile in PlatformDataBase.Modules:\r
Module = BuildDb.BuildObject[ModuleFile, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
if Module in ModuleList:\r