- # Override the platform Pcd's value by build option\r
- if GlobalData.BuildOptionPcd:\r
- for PcdItem in GlobalData.BuildOptionPcd:\r
- PlatformPcd = self.Platform.Pcds.get((PcdItem[1],PcdItem[0]))\r
- if PlatformPcd:\r
- if PlatformPcd.DatumType in [TAB_UINT8, TAB_UINT16, TAB_UINT32, TAB_UINT64,'BOOLEAN']:\r
- for sku in PlatformPcd.SkuInfoList:\r
- PlatformPcd.SkuInfoList[sku].DefaultValue = PcdItem[2]\r
- else:\r
- PcdDefaultValue = StringToArray(PcdItem[2])\r
- for sku in PlatformPcd.SkuInfoList:\r
- skuinfo = PlatformPcd.SkuInfoList[sku]\r
- if skuinfo.VariableGuid:\r
- skuinfo.HiiDefaultValue = PcdDefaultValue\r
- else:\r
- skuinfo.DefaultValue = PcdDefaultValue\r
- PlatformPcd.DefaultValue = PcdDefaultValue\r
- if PlatformPcd.MaxDatumSize:\r
- PlatformPcd.MaxDatumSize = str(max([int(PlatformPcd.MaxDatumSize),len(PcdDefaultValue.split(","))]))\r
- else:\r
- PlatformPcd.MaxDatumSize = str(len(PcdDefaultValue.split(",")))\r