]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/MetaFileParser.py
BaseTools: Update Expression.py for string comparison and MACRO replace issue
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / MetaFileParser.py
index c928cef70f15eeee99a8e5d240d02765c686e7be..95ea6fb45abb5af1704c5dae9e0e316c6ab5684d 100644 (file)
@@ -1893,22 +1893,24 @@ class DecParser(MetaFileParser):
             if "|" not in self._CurrentLine:\r
                 if "<HeaderFiles>" == self._CurrentLine:\r
                     self._include_flag = True\r
+                    self._package_flag = False\r
                     self._ValueList = None\r
                     return\r
                 if "<Packages>" == self._CurrentLine:\r
                     self._package_flag = True\r
                     self._ValueList = None\r
+                    self._include_flag = False\r
                     return\r
 \r
                 if self._include_flag:\r
                     self._ValueList[1] = "<HeaderFiles>_" + md5.new(self._CurrentLine).hexdigest()\r
                     self._ValueList[2] = self._CurrentLine\r
-                    self._include_flag = False\r
                 if self._package_flag and "}" != self._CurrentLine:\r
                     self._ValueList[1] = "<Packages>_" + md5.new(self._CurrentLine).hexdigest()\r
                     self._ValueList[2] = self._CurrentLine\r
                 if self._CurrentLine == "}":\r
                     self._package_flag = False\r
+                    self._include_flag = False\r
                     self._ValueList = None\r
                     return\r
             else:\r
@@ -1992,6 +1994,7 @@ class DecParser(MetaFileParser):
             PcdValue = ValueList[0]\r
             if PcdValue:\r
                 try:\r
+                    self._GuidDict.update(self._AllPcdDict)\r
                     ValueList[0] = ValueExpressionEx(ValueList[0], ValueList[1], self._GuidDict)(True)\r
                 except BadExpression, Value:\r
                     EdkLogger.error('Parser', FORMAT_INVALID, Value, ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)\r