]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools: Add the missing package include directory in PcdValueInit Makefile
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / DscBuildData.py
index 517385a32262cf15b99f6ff7cb20bfa9b2bf28f1..1cc4dc966203e63e80d9afc6bcf399c65cfacf6f 100644 (file)
@@ -1254,25 +1254,21 @@ class DscBuildData(PlatformBuildClassObject):
                             SkuInfo.HiiDefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
                             for defaultstore in SkuInfo.DefaultStoreDict:\r
                                 SkuInfo.DefaultStoreDict[defaultstore] = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
-                    if Pcd.DatumType == "VOID*":\r
-                        if Pcd.MaxDatumSize is None:\r
-                            Pcd.MaxDatumSize = '0'\r
-                        MaxSize = int(Pcd.MaxDatumSize,10)\r
-                        if Pcd.DefaultValue.startswith("{") and Pcd.DefaultValue.endswith("}"):\r
-                            MaxSize = max([len(Pcd.DefaultValue.split(",")),MaxSize])\r
-                        elif Pcd.DefaultValue.startswith("\"") or Pcd.DefaultValue.startswith("\'"):\r
-                            MaxSize = max([len(Pcd.DefaultValue)-2+1,MaxSize])\r
-                        elif Pcd.DefaultValue.startswith("L\""):\r
-                            MaxSize = max([2*(len(Pcd.DefaultValue)-3+1),MaxSize])\r
-                        else:\r
-                            MaxSize = max([len(Pcd.DefaultValue),MaxSize])\r
-                        Pcd.MaxDatumSize = str(MaxSize)\r
+                    if Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII]]:\r
+                        if Pcd.DatumType == "VOID*":\r
+                            if not Pcd.MaxDatumSize:\r
+                                Pcd.MaxDatumSize = '0'\r
+                            CurrentSize = int(Pcd.MaxDatumSize,16) if Pcd.MaxDatumSize.upper().startswith("0X") else int(Pcd.MaxDatumSize)\r
+                            OptionSize = len((StringToArray(Pcd.PcdValueFromComm)).split(","))\r
+                            MaxSize = max(CurrentSize, OptionSize)\r
+                            Pcd.MaxDatumSize = str(MaxSize)\r
             else:\r
                 PcdInDec = self.DecPcds.get((Name,Guid))\r
                 if PcdInDec:\r
                     PcdInDec.PcdValueFromComm = NoFiledValues[(Guid,Name)][0]\r
                     if PcdInDec.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_FIXED_AT_BUILD],\r
-                                        self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE]]:\r
+                                        self._PCD_TYPE_STRING_[MODEL_PCD_PATCHABLE_IN_MODULE],\r
+                                        self._PCD_TYPE_STRING_[MODEL_PCD_FEATURE_FLAG]]:\r
                         self.Pcds[Name, Guid] = copy.deepcopy(PcdInDec)\r
                         self.Pcds[Name, Guid].DefaultValue = NoFiledValues[( Guid,Name)][0]\r
         return AllPcds\r
@@ -2051,7 +2047,9 @@ class DscBuildData(PlatformBuildClassObject):
                 continue\r
             if Cache.Includes:\r
                 if str(Cache.MetaFile.Path) not in PlatformInc:\r
-                    PlatformInc[str(Cache.MetaFile.Path)] = Cache.CommonIncludes\r
+                    PlatformInc[str(Cache.MetaFile.Path)] = []\r
+                    PlatformInc[str(Cache.MetaFile.Path)].append (os.path.dirname(Cache.MetaFile.Path))\r
+                    PlatformInc[str(Cache.MetaFile.Path)].extend (Cache.CommonIncludes)\r
 \r
         PcdDependDEC = []\r
         for Pcd in StructuredPcds.values():\r