]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools: Update NV Default Header format to include the max size
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / DscBuildData.py
index 2e5834bc69f42b7715cfed33e142191af428a73d..a5fceb9e2b614ee681f6de590451d058acd6df27 100644 (file)
@@ -1246,13 +1246,10 @@ class DscBuildData(PlatformBuildClassObject):
             CApp = CApp + '  VOID    *OriginalPcd;\n'\r
             CApp = CApp + '  %s      *Pcd;\n' % (Pcd.DatumType)\r
             CApp = CApp + '\n'\r
+\r
             Pcd.DefaultValue = Pcd.DefaultValue.strip()\r
-            if Pcd.DefaultValue.startswith('L"') and Pcd.DefaultValue.endswith('"'):\r
-                PcdDefaultValue = "{" + ",".join(self.__UNICODE2OCTList(Pcd.DefaultValue)) + "}"\r
-            elif Pcd.DefaultValue.startswith('"') and Pcd.DefaultValue.endswith('"'):\r
-                PcdDefaultValue = "{" + ",".join(self.__STRING2OCTList(Pcd.DefaultValue)) + "}"\r
-            else:\r
-                PcdDefaultValue = Pcd.DefaultValue\r
+            PcdDefaultValue = StringToArray(Pcd.DefaultValue)\r
+\r
             InitByteValue += '%s.%s.%s.%s|%s|%s\n' % (SkuName, DefaultStoreName, Pcd.TokenSpaceGuidCName, Pcd.TokenCName, Pcd.DatumType, PcdDefaultValue)\r
 \r
             #\r
@@ -1457,32 +1454,6 @@ class DscBuildData(PlatformBuildClassObject):
         else:\r
             StdOut, StdErr = self.ExecuteCommand ('make clean & make -f %s' % (MakeFileName))\r
         Messages = StdOut.split('\r')\r
-        for Message in Messages:\r
-            if " error " in Message:\r
-                FileInfo = Message.strip().split('(')\r
-                if len (FileInfo) > 0:\r
-                    FileName = FileInfo [0]\r
-                    FileLine = FileInfo [1].split (')')[0]\r
-                else:\r
-                    FileInfo = Message.strip().split(':')\r
-                    FileName = FileInfo [0]\r
-                    FileLine = FileInfo [1]\r
-\r
-                File = open (FileName, 'r')\r
-                FileData = File.readlines()\r
-                File.close()\r
-                error_line = FileData[int (FileLine) - 1]\r
-                if r"//" in error_line:\r
-                    c_line,dsc_line = error_line.split(r"//")\r
-                else:\r
-                    dsc_line = error_line\r
-\r
-                message_itmes = Message.split(":")\r
-                for item in message_itmes:\r
-                    if "PcdValueInit.c" in item:\r
-                        message_itmes[message_itmes.index(item)] = dsc_line.strip()\r
-\r
-                EdkLogger.error("build", PCD_STRUCTURE_PCD_ERROR, ":".join(message_itmes[1:]))\r
 \r
         PcdValueInitExe = PcdValueInitName\r
         if not sys.platform == "win32":\r
@@ -1772,14 +1743,13 @@ class DscBuildData(PlatformBuildClassObject):
             if pcdDecObject.DatumType == 'VOID*':\r
                 for (_, skuobj) in pcd.SkuInfoList.items():\r
                     datalen = 0\r
-                    if skuobj.HiiDefaultValue.startswith("L"):\r
-                        datalen = (len(skuobj.HiiDefaultValue) - 3 + 1) * 2\r
-                    elif skuobj.HiiDefaultValue.startswith("{"):\r
-                        datalen = len(skuobj.HiiDefaultValue.split(","))\r
-                    else:\r
-                        datalen = len(skuobj.HiiDefaultValue) - 2 + 1\r
+                    skuobj.HiiDefaultValue = StringToArray(skuobj.HiiDefaultValue)\r
+                    datalen = len(skuobj.HiiDefaultValue.split(","))\r
                     if datalen > MaxSize:\r
                         MaxSize = datalen\r
+                    for defaultst in skuobj.DefaultStoreDict:\r
+                        skuobj.DefaultStoreDict[defaultst] = StringToArray(skuobj.DefaultStoreDict[defaultst])\r
+                pcd.DefaultValue = StringToArray(pcd.DefaultValue)\r
                 pcd.MaxDatumSize = str(MaxSize)\r
         rt, invalidhii = self.CheckVariableNameAssignment(Pcds)\r
         if not rt:\r