Update build report to display the structure Pcd value that from
FDF file.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
if CName == PcdTokenCName and Guid == Key:\r
DscDefaultValue = self.FdfPcdSet[(CName, Guid, Field)]\r
break\r
if CName == PcdTokenCName and Guid == Key:\r
DscDefaultValue = self.FdfPcdSet[(CName, Guid, Field)]\r
break\r
- DscDefaultValue = self.FdfPcdSet.get((Pcd.TokenCName, Key), DscDefaultValue)\r
if DscDefaultValue != DscDefaultValBak:\r
try:\r
DscDefaultValue = ValueExpressionEx(DscDefaultValue, Pcd.DatumType, self._GuidDict)(True)\r
if DscDefaultValue != DscDefaultValBak:\r
try:\r
DscDefaultValue = ValueExpressionEx(DscDefaultValue, Pcd.DatumType, self._GuidDict)(True)\r
if DscOverride:\r
break\r
if DscOverride:\r
if DscOverride:\r
break\r
if DscOverride:\r
+ DscDefaultValue = True\r
DscMatch = True\r
DecMatch = False\r
DscMatch = True\r
DecMatch = False\r
+ else:\r
+ DscDefaultValue = True\r
+ DscMatch = True\r
+ DecMatch = False\r
\r
#\r
# Report PCD item according to their override relationship\r
\r
#\r
# Report PCD item according to their override relationship\r
OverrideFieldStruct[Key] = Values\r
if Pcd.PcdFieldValueFromFdf:\r
for Key, Values in Pcd.PcdFieldValueFromFdf.items():\r
OverrideFieldStruct[Key] = Values\r
if Pcd.PcdFieldValueFromFdf:\r
for Key, Values in Pcd.PcdFieldValueFromFdf.items():\r
+ if Key in OverrideFieldStruct and Values[0] == OverrideFieldStruct[Key][0]:\r
+ continue\r
OverrideFieldStruct[Key] = Values\r
if Pcd.PcdFieldValueFromComm:\r
for Key, Values in Pcd.PcdFieldValueFromComm.items():\r
OverrideFieldStruct[Key] = Values\r
if Pcd.PcdFieldValueFromComm:\r
for Key, Values in Pcd.PcdFieldValueFromComm.items():\r
+ if Key in OverrideFieldStruct and Values[0] == OverrideFieldStruct[Key][0]:\r
+ continue\r
OverrideFieldStruct[Key] = Values\r
return OverrideFieldStruct\r
\r
def PrintStructureInfo(self, File, Struct):\r
OverrideFieldStruct[Key] = Values\r
return OverrideFieldStruct\r
\r
def PrintStructureInfo(self, File, Struct):\r
- for Key, Value in Struct.items():\r
+ for Key, Value in sorted(Struct.items(), key=lambda x: x[0]):\r
if Value[1] and 'build command options' in Value[1]:\r
FileWrite(File, ' *B %-*s = %s' % (self.MaxLen + 4, '.' + Key, Value[0]))\r
if Value[1] and 'build command options' in Value[1]:\r
FileWrite(File, ' *B %-*s = %s' % (self.MaxLen + 4, '.' + Key, Value[0]))\r
+ elif Value[1] and Value[1].endswith('.fdf'):\r
+ FileWrite(File, ' *F %-*s = %s' % (self.MaxLen + 4, '.' + Key, Value[0]))\r
else:\r
FileWrite(File, ' %-*s = %s' % (self.MaxLen + 4, '.' + Key, Value[0]))\r
\r
else:\r
FileWrite(File, ' %-*s = %s' % (self.MaxLen + 4, '.' + Key, Value[0]))\r
\r