]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools: Add Guid name support in GenFfs.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / FdfParser.py
index 9b04a76af8c5ebb42c094426c58ca9790f870771..ea2401b0e4fc4cde1dfcf8131b194bd06e73b7b5 100644 (file)
@@ -18,7 +18,7 @@ from uuid import UUID
 \r
 from Common.BuildToolError import *\r
 from Common import EdkLogger\r
-from Common.Misc import PathClass, tdict, ProcessDuplicatedInf\r
+from Common.Misc import PathClass, tdict, ProcessDuplicatedInf, GuidStructureStringToGuidString\r
 from Common.StringUtils import NormPath, ReplaceMacro\r
 from Common import GlobalData\r
 from Common.Expression import *\r
@@ -1087,6 +1087,8 @@ class FdfParser:
             return False\r
         if GlobalData.gGuidPattern.match(self._Token) is not None:\r
             return True\r
+        elif self._Token in GlobalData.gGuidDict:\r
+            return True\r
         else:\r
             self._UndoToken()\r
             return False\r
@@ -2248,6 +2250,8 @@ class FdfParser:
 \r
         if not self._GetNextGuid():\r
             raise Warning.Expected("GUID value", self.FileName, self.CurrentLineNumber)\r
+        if self._Token in GlobalData.gGuidDict:\r
+            self._Token = GuidStructureStringToGuidString(GlobalData.gGuidDict[self._Token]).upper()\r
 \r
         FvObj.FvNameGuid = self._Token\r
 \r
@@ -2459,6 +2463,8 @@ class FdfParser:
                 raise Warning.ExpectedEquals(self.FileName, self.CurrentLineNumber)\r
             if not self._GetNextGuid():\r
                 raise Warning.Expected("GUID value", self.FileName, self.CurrentLineNumber)\r
+            if self._Token in GlobalData.gGuidDict:\r
+                self._Token = GuidStructureStringToGuidString(GlobalData.gGuidDict[self._Token]).upper()\r
             FfsInfObj.OverrideGuid = self._Token\r
 \r
         if self._IsKeyword("RuleOverride"):\r
@@ -2550,6 +2556,8 @@ class FdfParser:
                     raise Warning.Expected("')'", self.FileName, self.CurrentLineNumber)\r
                 self._Token = 'PCD('+PcdPair[1]+TAB_SPLIT+PcdPair[0]+')'\r
 \r
+        if self._Token in GlobalData.gGuidDict:\r
+            self._Token = GuidStructureStringToGuidString(GlobalData.gGuidDict[self._Token]).upper()\r
         FfsFileObj.NameGuid = self._Token\r
 \r
         self._GetFilePart(FfsFileObj)\r
@@ -2980,6 +2988,8 @@ class FdfParser:
         elif self._IsKeyword("GUIDED"):\r
             GuidValue = None\r
             if self._GetNextGuid():\r
+                if self._Token in GlobalData.gGuidDict:\r
+                    self._Token = GuidStructureStringToGuidString(GlobalData.gGuidDict[self._Token]).upper()\r
                 GuidValue = self._Token\r
 \r
             AttribDict = self._GetGuidAttrib()\r
@@ -4049,6 +4059,8 @@ class FdfParser:
         elif self._IsKeyword("GUIDED"):\r
             GuidValue = None\r
             if self._GetNextGuid():\r
+                if self._Token in GlobalData.gGuidDict:\r
+                    self._Token = GuidStructureStringToGuidString(GlobalData.gGuidDict[self._Token]).upper()\r
                 GuidValue = self._Token\r
 \r
             if self._IsKeyword("$(NAMED_GUID)"):\r