]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenDepex.py
BaseTools: enable FixedAtBuild (VOID*) PCD use in the [DEPEX] section
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenDepex.py
index d3b1eae181c234912f641edf06979c841128bc2b..c12b6139e105ec32fe56c73af750e264448dd877 100644 (file)
@@ -22,6 +22,8 @@ from struct import pack
 from Common.BuildToolError import *\r
 from Common.Misc import SaveFileOnChange\r
 from Common.Misc import GuidStructureStringToGuidString\r
+from Common.Misc import GuidStructureByteArrayToGuidString\r
+from Common.Misc import GuidStringToGuidStructureString\r
 from Common import EdkLogger as EdkLogger\r
 from Common.BuildVersion import gBUILD_VERSION\r
 from Common.DataType import *\r
@@ -333,6 +335,10 @@ class DependencyExpression:
     def GetGuidValue(self, Guid):\r
         GuidValueString = Guid.replace("{", "").replace("}", "").replace(" ", "")\r
         GuidValueList = GuidValueString.split(",")\r
+        if len(GuidValueList) != 11 and len(GuidValueList) == 16:\r
+            GuidValueString = GuidStringToGuidStructureString(GuidStructureByteArrayToGuidString(Guid))\r
+            GuidValueString = GuidValueString.replace("{", "").replace("}", "").replace(" ", "")\r
+            GuidValueList = GuidValueString.split(",")\r
         if len(GuidValueList) != 11:\r
             EdkLogger.error("GenDepex", PARSER_ERROR, "Invalid GUID value string or opcode: %s" % Guid)\r
         return pack("1I2H8B", *(int(value, 16) for value in GuidValueList))\r