from Common.DataType import TAB_BACK_SLASH\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
from Common.MultipleWorkspace import MultipleWorkspace as mws\r
+import Common.GlobalData as GlobalData\r
\r
## Pattern to extract contents in EDK DXS files\r
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)\r
#\r
FileWrite(File, gSectionStart)\r
FileWrite(File, "Platform Configuration Database Report")\r
+ FileWrite(File, " *B - PCD override in the build option")\r
FileWrite(File, " *P - Platform scoped PCD override in DSC file")\r
FileWrite(File, " *F - Platform scoped PCD override in FDF file")\r
FileWrite(File, " *M - Module scoped PCD override")\r
InfDefault, PcdValue = ModulePcdSet[Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Type]\r
if InfDefault == "":\r
InfDefault = None\r
+\r
+ BuildOptionMatch = False\r
+ if GlobalData.BuildOptionPcd:\r
+ for pcd in GlobalData.BuildOptionPcd:\r
+ if (Pcd.TokenSpaceGuidCName, Pcd.TokenCName) == (pcd[0], pcd[1]):\r
+ PcdValue = pcd[2]\r
+ BuildOptionMatch = True\r
+ break\r
+\r
if First:\r
if ModulePcdSet == None:\r
FileWrite(File, "")\r
#\r
# Report PCD item according to their override relationship\r
#\r
- if DecMatch and InfMatch:\r
+ if BuildOptionMatch:\r
+ FileWrite(File, ' *B %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))\r
+ elif DecMatch and InfMatch:\r
FileWrite(File, ' %-*s: %6s %10s = %-22s' % (self.MaxLen, Pcd.TokenCName, TypeName, '(' + Pcd.DatumType + ')', PcdValue.strip()))\r
else:\r
if DscMatch:\r
FileWrite(File, ' %*s = %s' % (self.MaxLen + 19, 'DEC DEFAULT', DecDefaultValue.strip()))\r
\r
if ModulePcdSet == None:\r
- ModuleOverride = self.ModulePcdOverride.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName), {})\r
- for ModulePath in ModuleOverride:\r
- ModuleDefault = ModuleOverride[ModulePath]\r
- if Pcd.DatumType in ('UINT8', 'UINT16', 'UINT32', 'UINT64'):\r
- ModulePcdDefaultValueNumber = int(ModuleDefault.strip(), 0)\r
- Match = (ModulePcdDefaultValueNumber == PcdValueNumber)\r
- else:\r
- Match = (ModuleDefault.strip() == PcdValue.strip())\r
- if Match:\r
- continue\r
- FileWrite(File, ' *M %-*s = %s' % (self.MaxLen + 19, ModulePath, ModuleDefault.strip()))\r
+ if not BuildOptionMatch:\r
+ ModuleOverride = self.ModulePcdOverride.get((Pcd.TokenCName, Pcd.TokenSpaceGuidCName), {})\r
+ for ModulePath in ModuleOverride:\r
+ ModuleDefault = ModuleOverride[ModulePath]\r
+ if Pcd.DatumType in ('UINT8', 'UINT16', 'UINT32', 'UINT64'):\r
+ ModulePcdDefaultValueNumber = int(ModuleDefault.strip(), 0)\r
+ Match = (ModulePcdDefaultValueNumber == PcdValueNumber)\r
+ else:\r
+ Match = (ModuleDefault.strip() == PcdValue.strip())\r
+ if Match:\r
+ continue\r
+ FileWrite(File, ' *M %-*s = %s' % (self.MaxLen + 19, ModulePath, ModuleDefault.strip()))\r
\r
if ModulePcdSet == None:\r
FileWrite(File, gSectionEnd)\r