]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/InfBuildData.py
BaseTools: Clean up not used code in BuildClassObject
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / InfBuildData.py
index 165e03f78964bc5e8f99350d57fe9b48a34015cf..29e68aeb3bf38c67645a35e286c76c82ed19d302 100644 (file)
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
+from __future__ import absolute_import\r
 from Common.StringUtils import *\r
 from Common.DataType import *\r
 from Common.Misc import *\r
 from types import *\r
-from MetaFileParser import *\r
+from .MetaFileParser import *\r
 from collections import OrderedDict\r
 \r
 from Workspace.BuildClassObject import ModuleBuildClassObject, LibraryClassObject, PcdClassObject\r
@@ -911,12 +912,22 @@ class InfBuildData(ModuleBuildClassObject):
                                             ExtraData=Token, File=self.MetaFile, Line=Record[-1])\r
                         DepexList.append(Module.Guid)\r
                     else:\r
-                        # get the GUID value now\r
-                        Value = ProtocolValue(Token, self.Packages, self.MetaFile.Path)\r
-                        if Value is None:\r
-                            Value = PpiValue(Token, self.Packages, self.MetaFile.Path)\r
+                        # it use the Fixed PCD format\r
+                        if '.' in Token:\r
+                            if tuple(Token.split('.')[::-1]) not in self.Pcds:\r
+                                EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, "PCD [{}] used in [Depex] section should be listed in module PCD section".format(Token), File=self.MetaFile, Line=Record[-1])\r
+                            else:\r
+                                if self.Pcds[tuple(Token.split('.')[::-1])].DatumType != TAB_VOID:\r
+                                    EdkLogger.error('build', FORMAT_INVALID, "PCD [{}] used in [Depex] section should be VOID* datum type".format(Token), File=self.MetaFile, Line=Record[-1])\r
+                            Value = Token\r
+                        else:\r
+                            # get the GUID value now\r
+                            Value = ProtocolValue(Token, self.Packages, self.MetaFile.Path)\r
                             if Value is None:\r
-                                Value = GuidValue(Token, self.Packages, self.MetaFile.Path)\r
+                                Value = PpiValue(Token, self.Packages, self.MetaFile.Path)\r
+                                if Value is None:\r
+                                    Value = GuidValue(Token, self.Packages, self.MetaFile.Path)\r
+\r
                         if Value is None:\r
                             PackageList = "\n\t".join(str(P) for P in self.Packages)\r
                             EdkLogger.error('build', RESOURCE_NOT_AVAILABLE,\r