]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/DepexSection.py
License header updated to match correct format.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / DepexSection.py
index c048efe47801bd65667e8b254f8f411cd4ef8620..8f78c0fad474fb38829160b94cd3331c4127dea1 100644 (file)
@@ -24,6 +24,7 @@ from CommonDataClass.FdfClass import DepexSectionClassObject
 from AutoGen.GenDepex import DependencyExpression\r
 from Common import EdkLogger\r
 from Common.BuildToolError import *\r
+from Common.Misc import PathClass\r
 \r
 ## generate data section\r
 #\r
@@ -38,10 +39,22 @@ class DepexSection (DepexSectionClassObject):
 \r
     def __FindGuidValue(self, CName):\r
         for Arch in GenFdsGlobalVariable.ArchList:\r
-            for PkgDb in GenFdsGlobalVariable.WorkSpace.GetPackageList(GenFdsGlobalVariable.ActivePlatform, \r
-                                                                       Arch, \r
-                                                                       GenFdsGlobalVariable.TargetName, \r
-                                                                       GenFdsGlobalVariable.ToolChainTag):\r
+            PkgList = GenFdsGlobalVariable.WorkSpace.GetPackageList(GenFdsGlobalVariable.ActivePlatform,\r
+                                                                    Arch,\r
+                                                                    GenFdsGlobalVariable.TargetName,\r
+                                                                    GenFdsGlobalVariable.ToolChainTag)\r
+            for Inf in GenFdsGlobalVariable.FdfParser.Profile.InfList:\r
+                ModuleFile = PathClass(Inf, GenFdsGlobalVariable.WorkSpaceDir)\r
+                ModuleData = GenFdsGlobalVariable.WorkSpace.BuildObject[\r
+                                                            ModuleFile,\r
+                                                            Arch,\r
+                                                            GenFdsGlobalVariable.TargetName,\r
+                                                            GenFdsGlobalVariable.ToolChainTag\r
+                                                            ]\r
+                for Pkg in ModuleData.Packages:\r
+                    if Pkg not in PkgList:\r
+                        PkgList.append(Pkg)\r
+            for PkgDb in PkgList:\r
                 if CName in PkgDb.Ppis:\r
                     return PkgDb.Ppis[CName]\r
                 if CName in PkgDb.Protocols:\r