]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Not print SKUID info for PCD when it is only Single SKUID
authorYonghong Zhu <yonghong.zhu@intel.com>
Thu, 4 Jan 2018 07:15:19 +0000 (15:15 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Tue, 9 Jan 2018 06:44:20 +0000 (14:44 +0800)
when it is only single SKUID, we don't need to print the SKUID info for
every PCD since in the Global section there already have this info.
For DefaultStore, we use same rule.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
BaseTools/Source/Python/build/BuildReport.py

index 5da99145441a755b588c233df908c010f95b5978..d2ac04416e8d2d91975a8847494964a18f6c588a 100644 (file)
@@ -4,7 +4,7 @@
 # This module contains the functionality to generate build report after\r
 # build all target completes successfully.\r
 #\r
-# Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
@@ -756,6 +756,13 @@ class PcdReport(object):
         else:\r
             self.FdfPcdSet = {}\r
 \r
+        self.DefaultStoreSingle = True\r
+        self.SkuSingle = True\r
+        if GlobalData.gDefaultStores and len(GlobalData.gDefaultStores) > 1:\r
+            self.DefaultStoreSingle = False\r
+        if GlobalData.gSkuids and len(GlobalData.gSkuids) > 1:\r
+            self.SkuSingle = False\r
+\r
         self.ModulePcdOverride = {}\r
         for Pa in Wa.AutoGenObjectList:\r
             self.Arch = Pa.Arch\r
@@ -1125,6 +1132,7 @@ class PcdReport(object):
             SkuList = sorted(Pcd.SkuInfoList.keys())\r
             for Sku in SkuList:\r
                 SkuInfo = Pcd.SkuInfoList[Sku]\r
+                SkuIdName = SkuInfo.SkuIdName\r
                 if TypeName in ('DYNHII', 'DEXHII'):\r
                     if SkuInfo.DefaultStoreDict:\r
                         DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys())\r
@@ -1134,68 +1142,84 @@ class PcdReport(object):
                             if FirstPrint:\r
                                 FirstPrint = False\r
                                 if IsByteArray:\r
-                                    FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', '{'))\r
+                                    if self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '{'))\r
+                                    elif self.DefaultStoreSingle and not self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '{'))\r
+                                    elif not self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')', '{'))\r
+                                    else:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', '{'))\r
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
-                                    FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', Value))\r
+                                    if self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
+                                    elif self.DefaultStoreSingle and not self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
+                                    elif not self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')', Value))\r
+                                    else:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', Value))\r
                             else:\r
                                 if IsByteArray:\r
-                                    FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', '{'))\r
+                                    if self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '{'))\r
+                                    elif self.DefaultStoreSingle and not self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '{'))\r
+                                    elif not self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')', '{'))\r
+                                    else:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', '{'))\r
                                     for Array in ArrayList:\r
                                         FileWrite(File, '%s' % (Array))\r
                                 else:\r
-                                    FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '(' + DefaultStore + ')', Value))\r
+                                    if self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')',  Value))\r
+                                    elif self.DefaultStoreSingle and not self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
+                                    elif not self.DefaultStoreSingle and self.SkuSingle:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + DefaultStore + ')', Value))\r
+                                    else:\r
+                                        FileWrite(File, ' %-*s   : %6s %10s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', '(' + DefaultStore + ')', Value))\r
                             FileWrite(File, '%*s: %s: %s' % (self.MaxLen + 4, SkuInfo.VariableGuid, SkuInfo.VariableName, SkuInfo.VariableOffset))\r
                             if IsStructure:\r
                                 OverrideValues = Pcd.SkuOverrideValues[Sku]\r
                                 Struct = OverrideValues[DefaultStore]\r
                                 self.PrintStructureInfo(File, Struct)\r
                             self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch, DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)\r
-                elif TypeName in ('DYNVPD', 'DEXVPD'):\r
-                    Value = SkuInfo.DefaultValue\r
-                    IsByteArray, ArrayList = ByteArrayForamt(Value)\r
-                    if FirstPrint:\r
-                        FirstPrint = False\r
-                        if IsByteArray:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', "{"))\r
-                            for Array in ArrayList:\r
-                                FileWrite(File, '%s' % (Array))\r
-                        else:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))\r
-                    else:\r
-                        if IsByteArray:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', "{"))\r
-                            for Array in ArrayList:\r
-                                FileWrite(File, '%s' % (Array))\r
-                        else:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))\r
-                    FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))\r
-                    if IsStructure:\r
-                        OverrideValues = Pcd.SkuOverrideValues[Sku]\r
-                        if OverrideValues:\r
-                            Keys = OverrideValues.keys()\r
-                            Struct = OverrideValues[Keys[0]]\r
-                            self.PrintStructureInfo(File, Struct)\r
-                    self.PrintPcdDefault(File, Pcd, IsStructure, DscMatch, DscDefaultValue, InfMatch, InfDefaultValue, DecMatch, DecDefaultValue)\r
                 else:\r
                     Value = SkuInfo.DefaultValue\r
                     IsByteArray, ArrayList = ByteArrayForamt(Value)\r
                     if FirstPrint:\r
                         FirstPrint = False\r
                         if IsByteArray:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '{'))\r
+                            if self.SkuSingle:\r
+                                FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', "{"))\r
+                            else:\r
+                                FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', "{"))\r
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))\r
+                            if self.SkuSingle:\r
+                                FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', Value))\r
+                            else:\r
+                                FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
                     else:\r
                         if IsByteArray:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', '{'))\r
+                            if self.SkuSingle:\r
+                                FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', "{"))\r
+                            else:\r
+                                FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', "{"))\r
                             for Array in ArrayList:\r
                                 FileWrite(File, '%s' % (Array))\r
                         else:\r
-                            FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ', TypeName, '(' + Pcd.DatumType + ')', '(' + SkuInfo.SkuIdName + ')', Value))\r
+                            if self.SkuSingle:\r
+                                FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', Value))\r
+                            else:\r
+                                FileWrite(File, ' %-*s   : %6s %10s %10s = %s' % (self.MaxLen, ' ' , TypeName, '(' + Pcd.DatumType + ')', '(' + SkuIdName + ')', Value))\r
+                    if TypeName in ('DYNVPD', 'DEXVPD'):\r
+                        FileWrite(File, '%*s' % (self.MaxLen + 4, SkuInfo.VpdOffset))\r
                     if IsStructure:\r
                         OverrideValues = Pcd.SkuOverrideValues[Sku]\r
                         if OverrideValues:\r