import InfSectionParser\r
import datetime\r
import hashlib\r
-from GenVar import Variable,var_info\r
+from GenVar import VariableMgr,var_info\r
\r
## Regular expression for splitting Dependency Expression string into tokens\r
gDepexTokenPattern = re.compile("(\(|\)|\w+| \S+\.inf)")\r
self.AllPcdList = []\r
# get the original module/package/platform objects\r
self.BuildDatabase = Workspace.BuildDatabase\r
+ self.DscBuildDataObj = Workspace.Platform\r
\r
# flag indicating if the makefile/C-code file has been created or not\r
self.IsMakeFileCreated = False\r
LibAuto.ConstPcd[key] = Pcd.DefaultValue\r
\r
def CollectVariables(self, DynamicPcdSet):\r
- VariableInfo = Variable()\r
+ VariableInfo = VariableMgr(self.DscBuildDataObj._GetDefaultStores(),self.DscBuildDataObj._GetSkuIds())\r
Index = 0\r
for Pcd in DynamicPcdSet:\r
- if not hasattr(Pcd,"DefaultStoreName"):\r
- Pcd.DefaultStoreName = ['0']\r
- for StorageName in Pcd.DefaultStoreName:\r
- pcdname = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))\r
- for SkuName in Pcd.SkuInfoList:\r
- Sku = Pcd.SkuInfoList[SkuName]\r
- SkuId = Sku.SkuId\r
- if SkuId == None or SkuId == '':\r
- continue\r
- if len(Sku.VariableName) > 0:\r
- VariableGuidStructure = Sku.VariableGuidValue\r
- VariableGuid = GuidStructureStringToGuidString(VariableGuidStructure)\r
- if Pcd.Phase == "DXE":\r
- VariableInfo.append_variable(var_info(Index,pcdname,StorageName,SkuId, StringToArray(Sku.VariableName),VariableGuid, Sku.VariableAttribute , Pcd.DefaultValue,Sku.HiiDefaultValue,Pcd.DatumType))\r
+ pcdname = ".".join((Pcd.TokenSpaceGuidCName,Pcd.TokenCName))\r
+ for SkuName in Pcd.SkuInfoList:\r
+ Sku = Pcd.SkuInfoList[SkuName]\r
+ SkuId = Sku.SkuId\r
+ if SkuId == None or SkuId == '':\r
+ continue\r
+ if len(Sku.VariableName) > 0:\r
+ VariableGuidStructure = Sku.VariableGuidValue\r
+ VariableGuid = GuidStructureStringToGuidString(VariableGuidStructure)\r
+ if Pcd.Phase == "DXE":\r
+ for StorageName in Sku.DefaultStoreDict:\r
+ VariableInfo.append_variable(var_info(Index,pcdname,StorageName,SkuName, StringToArray(Sku.VariableName),VariableGuid, Sku.VariableAttribute , Pcd.DefaultValue,Sku.DefaultStoreDict[StorageName],Pcd.DatumType))\r
Index += 1\r
return VariableInfo\r
## Collect dynamic PCDs\r
else:\r
SkuName = 'DEFAULT'\r
ToPcd.SkuInfoList = {\r
- SkuName : SkuInfoClass(SkuName, self.Platform.SkuIds[SkuName], '', '', '', '', '', ToPcd.DefaultValue)\r
+ SkuName : SkuInfoClass(SkuName, self.Platform.SkuIds[SkuName][0], '', '', '', '', '', ToPcd.DefaultValue)\r
}\r
\r
## Apply PCD setting defined platform to a module\r