from Common.String import NormPath\r
from Common.DataType import *\r
import collections\r
+from Common.Expression import ValueExpressionEx\r
\r
## Pattern to extract contents in EDK DXS files\r
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)\r
# Collect PCD DEC default value.\r
#\r
self.DecPcdDefault = {}\r
+ self._GuidDict = {}\r
for Pa in Wa.AutoGenObjectList:\r
for Package in Pa.PackageList:\r
+ Guids = Package.Guids\r
+ self._GuidDict.update(Guids)\r
for (TokenCName, TokenSpaceGuidCName, DecType) in Package.Pcds:\r
DecDefaultValue = Package.Pcds[TokenCName, TokenSpaceGuidCName, DecType].DefaultValue\r
self.DecPcdDefault.setdefault((TokenCName, TokenSpaceGuidCName, DecType), DecDefaultValue)\r
DscDefaultValue = self.DscPcdDefault.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName))\r
DscDefaultValBak= DscDefaultValue\r
DscDefaultValue = self.FdfPcdSet.get((Pcd.TokenCName, Key), DscDefaultValue)\r
+ if DscDefaultValue:\r
+ DscDefaultValue = ValueExpressionEx(DscDefaultValue, Pcd.DatumType, self._GuidDict)(True)\r
InfDefaultValue = None\r
\r
PcdValue = DecDefaultValue\r