]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Cleanup unneeded code
authorJaben Carsey <jaben.carsey@intel.com>
Fri, 18 May 2018 00:06:52 +0000 (08:06 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Wed, 13 Jun 2018 01:02:56 +0000 (09:02 +0800)
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
13 files changed:
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/GenC.py
BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools/Source/Python/AutoGen/GenPcdDb.py
BaseTools/Source/Python/AutoGen/GenVar.py
BaseTools/Source/Python/AutoGen/StrGather.py
BaseTools/Source/Python/Common/Misc.py
BaseTools/Source/Python/Common/StringUtils.py
BaseTools/Source/Python/Common/VpdInfoFile.py
BaseTools/Source/Python/GenFds/FdfParser.py
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
BaseTools/Source/Python/build/BuildReport.py
BaseTools/Source/Python/build/build.py

index 0b5b3dcf465725c26398485dd8ca26ff0fbc091c..ed0be3bc74f925bfa9072ddf3a52d2b96586d7c0 100644 (file)
@@ -50,6 +50,7 @@ import hashlib
 from GenVar import VariableMgr,var_info\r
 from collections import OrderedDict\r
 from collections import defaultdict\r
+from Workspace.WorkspaceCommon import OrderedListDict\r
 \r
 ## Regular expression for splitting Dependency Expression string into tokens\r
 gDepexTokenPattern = re.compile("(\(|\)|\w+| \S+\.inf)")\r
@@ -481,7 +482,7 @@ class WorkspaceAutoGen(AutoGen):
                             'build',\r
                             FORMAT_INVALID,\r
                             "Building modules from source INFs, following PCD use %s and %s access method. It must be corrected to use only one access method." % (i, j),\r
-                            ExtraData="%s" % '\n\t'.join(str(P[1]+'.'+P[0]) for P in Intersections)\r
+                            ExtraData='\n\t'.join(str(P[1]+'.'+P[0]) for P in Intersections)\r
                             )\r
 \r
             #\r
@@ -723,10 +724,8 @@ class WorkspaceAutoGen(AutoGen):
         #\r
         if self.FdfFile:\r
             AllWorkSpaceMetaFiles.add (self.FdfFile.Path)\r
-            if self.FdfFile:\r
-                FdfFiles = GlobalData.gFdfParser.GetAllIncludedFile()\r
-                for f in FdfFiles:\r
-                    AllWorkSpaceMetaFiles.add (f.FileName)\r
+            for f in GlobalData.gFdfParser.GetAllIncludedFile():\r
+                AllWorkSpaceMetaFiles.add (f.FileName)\r
         #\r
         # add dsc\r
         #\r
@@ -747,19 +746,16 @@ class WorkspaceAutoGen(AutoGen):
         AllWorkSpaceMetaFiles.add(os.path.join(self.BuildDir, 'PcdTokenNumber'))\r
 \r
         for Arch in self.ArchList:\r
-            Platform = self.BuildDatabase[self.MetaFile, Arch, Target, Toolchain]\r
-            PGen = PlatformAutoGen(self, self.MetaFile, Target, Toolchain, Arch)\r
-\r
             #\r
             # add dec\r
             #\r
-            for Package in PGen.PackageList:\r
+            for Package in PlatformAutoGen(self, self.MetaFile, Target, Toolchain, Arch).PackageList:\r
                 AllWorkSpaceMetaFiles.add(Package.MetaFile.Path)\r
 \r
             #\r
             # add included dsc\r
             #\r
-            for filePath in Platform._RawData.IncludedFiles:\r
+            for filePath in self.BuildDatabase[self.MetaFile, Arch, Target, Toolchain]._RawData.IncludedFiles:\r
                 AllWorkSpaceMetaFiles.add(filePath.Path)\r
 \r
         return AllWorkSpaceMetaFiles\r
@@ -890,11 +886,11 @@ class WorkspaceAutoGen(AutoGen):
 \r
 \r
     def _CheckPcdDefineAndType(self):\r
-        PcdTypeList = [\r
-            TAB_PCDS_FIXED_AT_BUILD, TAB_PCDS_PATCHABLE_IN_MODULE, TAB_PCDS_FEATURE_FLAG,\r
-            TAB_PCDS_DYNAMIC, #TAB_PCDS_DYNAMIC_HII, TAB_PCDS_DYNAMIC_VPD,\r
-            TAB_PCDS_DYNAMIC_EX, # TAB_PCDS_DYNAMIC_EX_HII, TAB_PCDS_DYNAMIC_EX_VPD\r
-        ]\r
+        PcdTypeSet = {TAB_PCDS_FIXED_AT_BUILD,\r
+            TAB_PCDS_PATCHABLE_IN_MODULE,\r
+            TAB_PCDS_FEATURE_FLAG,\r
+            TAB_PCDS_DYNAMIC,\r
+            TAB_PCDS_DYNAMIC_EX}\r
 \r
         # This dict store PCDs which are not used by any modules with specified arches\r
         UnusedPcd = OrderedDict()\r
@@ -917,7 +913,7 @@ class WorkspaceAutoGen(AutoGen):
                     # Key of DEC's Pcds dictionary is PcdCName, TokenSpaceGuid, PcdType\r
                     if (Pcd[0], Pcd[1], PcdType) in Package.Pcds:\r
                         break\r
-                    for Type in PcdTypeList:\r
+                    for Type in PcdTypeSet:\r
                         if (Pcd[0], Pcd[1], Type) in Package.Pcds:\r
                             EdkLogger.error(\r
                                 'build',\r
@@ -1075,9 +1071,10 @@ class WorkspaceAutoGen(AutoGen):
     #                                       modules will be created as well\r
     #\r
     def CreateMakeFile(self, CreateDepsMakeFile=False):\r
-        if CreateDepsMakeFile:\r
-            for Pa in self.AutoGenObjectList:\r
-                Pa.CreateMakeFile(CreateDepsMakeFile)\r
+        if not CreateDepsMakeFile:\r
+            return\r
+        for Pa in self.AutoGenObjectList:\r
+            Pa.CreateMakeFile(True)\r
 \r
     ## Create autogen code for platform and modules\r
     #\r
@@ -1091,7 +1088,7 @@ class WorkspaceAutoGen(AutoGen):
         if not CreateDepsCodeFile:\r
             return\r
         for Pa in self.AutoGenObjectList:\r
-            Pa.CreateCodeFile(CreateDepsCodeFile)\r
+            Pa.CreateCodeFile(True)\r
 \r
     ## Create AsBuilt INF file the platform\r
     #\r
@@ -1396,11 +1393,7 @@ class PlatformAutoGen(AutoGen):
                             del self.Platform.Pcds[key]\r
                             self.Platform.Pcds[newkey] = Value\r
                             break\r
-                        else:\r
-                            pass\r
                     break\r
-                else:\r
-                    pass\r
 \r
         # for gathering error information\r
         NoDatumTypePcdList = set()\r
@@ -1585,8 +1578,7 @@ class PlatformAutoGen(AutoGen):
                         PcdNvStoreDfBuffer.SkuInfoList[skuname].DefaultValue = vardump\r
                         PcdNvStoreDfBuffer.MaxDatumSize = str(len(vardump.split(",")))\r
 \r
-            PlatformPcds = self._PlatformPcds.keys()\r
-            PlatformPcds.sort()\r
+            PlatformPcds = sorted(self._PlatformPcds.keys())\r
             #\r
             # Add VPD type PCD into VpdFile and determine whether the VPD PCD need to be fixed up.\r
             #\r
@@ -1892,7 +1884,7 @@ class PlatformAutoGen(AutoGen):
                         if Flags.startswith('='):\r
                             self._BuildCommand = [self._BuildCommand[0]] + [Flags[1:]]\r
                         else:\r
-                            self._BuildCommand += [Flags]\r
+                            self._BuildCommand.append(Flags)\r
         return self._BuildCommand\r
 \r
     ## Get tool chain definition\r
@@ -2087,32 +2079,28 @@ class PlatformAutoGen(AutoGen):
             # TokeNumber 11 ~ 20\r
             #\r
             for Pcd in self.DynamicPcdList:\r
-                if Pcd.Phase == "PEI":\r
-                    if Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
-                        EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
-                        self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
-                        TokenNumber += 1\r
+                if Pcd.Phase == "PEI" and Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
+                    EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
+                    self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
+                    TokenNumber += 1\r
 \r
             for Pcd in self.DynamicPcdList:\r
-                if Pcd.Phase == "PEI":\r
-                    if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
-                        EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
-                        self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
-                        TokenNumber += 1\r
+                if Pcd.Phase == "PEI" and Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
+                    EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
+                    self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
+                    TokenNumber += 1\r
 \r
             for Pcd in self.DynamicPcdList:\r
-                if Pcd.Phase == "DXE":\r
-                    if Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
-                        EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
-                        self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
-                        TokenNumber += 1\r
+                if Pcd.Phase == "DXE" and Pcd.Type in PCD_DYNAMIC_TYPE_SET:\r
+                    EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
+                    self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
+                    TokenNumber += 1\r
 \r
             for Pcd in self.DynamicPcdList:\r
-                if Pcd.Phase == "DXE":\r
-                    if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
-                        EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
-                        self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
-                        TokenNumber += 1\r
+                if Pcd.Phase == "DXE" and Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
+                    EdkLogger.debug(EdkLogger.DEBUG_5, "%s %s (%s) -> %d" % (Pcd.TokenCName, Pcd.TokenSpaceGuidCName, Pcd.Phase, TokenNumber))\r
+                    self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
+                    TokenNumber += 1\r
 \r
             for Pcd in self.NonDynamicPcdList:\r
                 self._PcdTokenNumber[Pcd.TokenCName, Pcd.TokenSpaceGuidCName] = TokenNumber\r
@@ -2203,8 +2191,8 @@ class PlatformAutoGen(AutoGen):
         if FromPcd is not None:\r
             if ToPcd.Pending and FromPcd.Type:\r
                 ToPcd.Type = FromPcd.Type\r
-            elif (ToPcd.Type) and (FromPcd.Type)\\r
-                and (ToPcd.Type != FromPcd.Type) and (ToPcd.Type in FromPcd.Type):\r
+            elif ToPcd.Type and FromPcd.Type\\r
+                and ToPcd.Type != FromPcd.Type and ToPcd.Type in FromPcd.Type:\r
                 if ToPcd.Type.strip() == TAB_PCDS_DYNAMIC_EX:\r
                     ToPcd.Type = FromPcd.Type\r
             elif ToPcd.Type and FromPcd.Type \\r
@@ -2417,13 +2405,14 @@ class PlatformAutoGen(AutoGen):
             if (Key[0] == self.BuildRuleFamily and\r
                 (ModuleStyle is None or len(Key) < 3 or (len(Key) > 2 and Key[2] == ModuleStyle))):\r
                 Target, ToolChain, Arch, CommandType, Attr = Key[1].split('_')\r
-                if Target == self.BuildTarget or Target == "*":\r
-                    if ToolChain == self.ToolChain or ToolChain == "*":\r
-                        if Arch == self.Arch or Arch == "*":\r
-                            if Options[Key].startswith("="):\r
-                                if OverrideList.get(Key[1]) is not None:\r
-                                    OverrideList.pop(Key[1])\r
-                                OverrideList[Key[1]] = Options[Key]\r
+                if (Target == self.BuildTarget or Target == "*") and\\r
+                    (ToolChain == self.ToolChain or ToolChain == "*") and\\r
+                    (Arch == self.Arch or Arch == "*") and\\r
+                    Options[Key].startswith("="):\r
+\r
+                    if OverrideList.get(Key[1]) is not None:\r
+                        OverrideList.pop(Key[1])\r
+                    OverrideList[Key[1]] = Options[Key]\r
         \r
         #\r
         # Use the highest priority value. \r
@@ -2439,17 +2428,18 @@ class PlatformAutoGen(AutoGen):
                     # Compare two Key, if one is included by another, choose the higher priority one\r
                     #                    \r
                     Target2, ToolChain2, Arch2, CommandType2, Attr2 = NextKey.split("_")\r
-                    if Target1 == Target2 or Target1 == "*" or Target2 == "*":\r
-                        if ToolChain1 == ToolChain2 or ToolChain1 == "*" or ToolChain2 == "*":\r
-                            if Arch1 == Arch2 or Arch1 == "*" or Arch2 == "*":\r
-                                if CommandType1 == CommandType2 or CommandType1 == "*" or CommandType2 == "*":\r
-                                    if Attr1 == Attr2 or Attr1 == "*" or Attr2 == "*":\r
-                                        if self.CalculatePriorityValue(NowKey) > self.CalculatePriorityValue(NextKey):\r
-                                            if Options.get((self.BuildRuleFamily, NextKey)) is not None:\r
-                                                Options.pop((self.BuildRuleFamily, NextKey))\r
-                                        else:\r
-                                            if Options.get((self.BuildRuleFamily, NowKey)) is not None:\r
-                                                Options.pop((self.BuildRuleFamily, NowKey))\r
+                    if (Target1 == Target2 or Target1 == "*" or Target2 == "*") and\\r
+                        (ToolChain1 == ToolChain2 or ToolChain1 == "*" or ToolChain2 == "*") and\\r
+                        (Arch1 == Arch2 or Arch1 == "*" or Arch2 == "*") and\\r
+                        (CommandType1 == CommandType2 or CommandType1 == "*" or CommandType2 == "*") and\\r
+                        (Attr1 == Attr2 or Attr1 == "*" or Attr2 == "*"):\r
+\r
+                        if self.CalculatePriorityValue(NowKey) > self.CalculatePriorityValue(NextKey):\r
+                            if Options.get((self.BuildRuleFamily, NextKey)) is not None:\r
+                                Options.pop((self.BuildRuleFamily, NextKey))\r
+                        else:\r
+                            if Options.get((self.BuildRuleFamily, NowKey)) is not None:\r
+                                Options.pop((self.BuildRuleFamily, NowKey))\r
                                                            \r
         for Key in Options:\r
             if ModuleStyle is not None and len (Key) > 2:\r
@@ -2611,6 +2601,15 @@ class PlatformAutoGen(AutoGen):
     LibraryAutoGenList  = property(_GetLibraryAutoGenList)\r
     GenFdsCommand       = property(_GenFdsCommand)\r
 \r
+#\r
+# extend lists contained in a dictionary with lists stored in another dictionary\r
+# if CopyToDict is not derived from DefaultDict(list) then this may raise exception\r
+#\r
+def ExtendCopyDictionaryLists(CopyToDict, CopyFromDict):\r
+    for Key in CopyFromDict:\r
+        CopyToDict[Key].extend(CopyFromDict[Key])\r
+\r
+\r
 ## ModuleAutoGen class\r
 #\r
 # This class encapsules the AutoGen behaviors for the build tools. In addition to\r
@@ -2701,7 +2700,6 @@ class ModuleAutoGen(AutoGen):
         self._MakeFileDir     = None\r
 \r
         self._IncludePathList = None\r
-        self._IncludePathLength = 0\r
         self._AutoGenFileList = None\r
         self._UnicodeFileList = None\r
         self._VfrFileList = None\r
@@ -2716,16 +2714,16 @@ class ModuleAutoGen(AutoGen):
         self._DerivedPackageList      = None\r
         self._ModulePcdList           = None\r
         self._LibraryPcdList          = None\r
-        self._PcdComments = OrderedDict()\r
+        self._PcdComments = OrderedListDict()\r
         self._GuidList                = None\r
         self._GuidsUsedByPcd = None\r
-        self._GuidComments = OrderedDict()\r
+        self._GuidComments = OrderedListDict()\r
         self._ProtocolList            = None\r
-        self._ProtocolComments = OrderedDict()\r
+        self._ProtocolComments = OrderedListDict()\r
         self._PpiList                 = None\r
-        self._PpiComments = OrderedDict()\r
-        self._DepexList               = None\r
-        self._DepexExpressionList     = None\r
+        self._PpiComments = OrderedListDict()\r
+        self._DepexDict               = None\r
+        self._DepexExpressionDict     = None\r
         self._BuildOption             = None\r
         self._BuildOptionIncPathList  = None\r
         self._BuildTargets            = None\r
@@ -2747,7 +2745,6 @@ class ModuleAutoGen(AutoGen):
         #  \r
         self._FixedAtBuildPcds         = []\r
         self.ConstPcd                  = {}\r
-        return True\r
 \r
     def __repr__(self):\r
         return "%s [%s]" % (self.MetaFile, self.Arch)\r
@@ -2875,10 +2872,7 @@ class ModuleAutoGen(AutoGen):
     ## Check if the module is library or not\r
     def _IsLibrary(self):\r
         if self._LibraryFlag is None:\r
-            if self.Module.LibraryClass is not None and self.Module.LibraryClass != []:\r
-                self._LibraryFlag = True\r
-            else:\r
-                self._LibraryFlag = False\r
+            self._LibraryFlag = True if self.Module.LibraryClass else False\r
         return self._LibraryFlag\r
 \r
     ## Check if the module is binary module or not\r
@@ -3030,15 +3024,15 @@ class ModuleAutoGen(AutoGen):
     #   @retval     list    The token list of the dependency expression after parsed\r
     #\r
     def _GetDepexTokenList(self):\r
-        if self._DepexList is None:\r
-            self._DepexList = {}\r
+        if self._DepexDict is None:\r
+            self._DepexDict = {}\r
             if self.DxsFile or self.IsLibrary or TAB_DEPENDENCY_EXPRESSION_FILE in self.FileTypes:\r
-                return self._DepexList\r
+                return self._DepexDict\r
 \r
-            self._DepexList[self.ModuleType] = []\r
+            self._DepexDict[self.ModuleType] = []\r
 \r
-            for ModuleType in self._DepexList:\r
-                DepexList = self._DepexList[ModuleType]\r
+            for ModuleType in self._DepexDict:\r
+                DepexList = self._DepexDict[ModuleType]\r
                 #\r
                 # Append depex from dependent libraries, if not "BEFORE", "AFTER" expresion\r
                 #\r
@@ -3059,43 +3053,43 @@ class ModuleAutoGen(AutoGen):
                         break\r
                 if len(DepexList) > 0:\r
                     EdkLogger.verbose('')\r
-        return self._DepexList\r
+        return self._DepexDict\r
 \r
     ## Merge dependency expression\r
     #\r
     #   @retval     list    The token list of the dependency expression after parsed\r
     #\r
     def _GetDepexExpressionTokenList(self):\r
-        if self._DepexExpressionList is None:\r
-            self._DepexExpressionList = {}\r
+        if self._DepexExpressionDict is None:\r
+            self._DepexExpressionDict = {}\r
             if self.DxsFile or self.IsLibrary or TAB_DEPENDENCY_EXPRESSION_FILE in self.FileTypes:\r
-                return self._DepexExpressionList\r
+                return self._DepexExpressionDict\r
 \r
-            self._DepexExpressionList[self.ModuleType] = ''\r
+            self._DepexExpressionDict[self.ModuleType] = ''\r
 \r
-            for ModuleType in self._DepexExpressionList:\r
-                DepexExpressionList = self._DepexExpressionList[ModuleType]\r
+            for ModuleType in self._DepexExpressionDict:\r
+                DepexExpressionString = self._DepexExpressionDict[ModuleType]\r
                 #\r
                 # Append depex from dependent libraries, if not "BEFORE", "AFTER" expresion\r
                 #\r
                 for M in [self.Module] + self.DependentLibraryList:\r
                     Inherited = False\r
                     for D in M.DepexExpression[self.Arch, ModuleType]:\r
-                        if DepexExpressionList != '':\r
-                            DepexExpressionList += ' AND '\r
-                        DepexExpressionList += '('\r
-                        DepexExpressionList += D\r
-                        DepexExpressionList = DepexExpressionList.rstrip('END').strip()\r
-                        DepexExpressionList += ')'\r
+                        if DepexExpressionString != '':\r
+                            DepexExpressionString += ' AND '\r
+                        DepexExpressionString += '('\r
+                        DepexExpressionString += D\r
+                        DepexExpressionString = DepexExpressionString.rstrip('END').strip()\r
+                        DepexExpressionString += ')'\r
                         Inherited = True\r
                     if Inherited:\r
-                        EdkLogger.verbose("DEPEX[%s] (+%s) = %s" % (self.Name, M.BaseName, DepexExpressionList))\r
-                    if 'BEFORE' in DepexExpressionList or 'AFTER' in DepexExpressionList:\r
+                        EdkLogger.verbose("DEPEX[%s] (+%s) = %s" % (self.Name, M.BaseName, DepexExpressionString))\r
+                    if 'BEFORE' in DepexExpressionString or 'AFTER' in DepexExpressionString:\r
                         break\r
-                if len(DepexExpressionList) > 0:\r
+                if len(DepexExpressionString) > 0:\r
                     EdkLogger.verbose('')\r
-                self._DepexExpressionList[ModuleType] = DepexExpressionList\r
-        return self._DepexExpressionList\r
+                self._DepexExpressionDict[ModuleType] = DepexExpressionString\r
+        return self._DepexExpressionDict\r
 \r
     # Get the tiano core user extension, it is contain dependent library.\r
     # @retval: a list contain tiano core userextension.\r
@@ -3163,9 +3157,8 @@ class ModuleAutoGen(AutoGen):
             \r
             BuildOptionIncPathList = []\r
             for Tool in ('CC', 'PP', 'VFRPP', 'ASLPP', 'ASLCC', 'APP', 'ASM'):\r
-                Attr = 'FLAGS'\r
                 try:\r
-                    FlagOption = self.BuildOption[Tool][Attr]\r
+                    FlagOption = self.BuildOption[Tool]['FLAGS']\r
                 except KeyError:\r
                     FlagOption = ''\r
                 \r
@@ -3178,13 +3171,13 @@ class ModuleAutoGen(AutoGen):
                     IncPathList = []\r
                     for Path in BuildOptIncludeRegEx.findall(FlagOption):\r
                         PathList = GetSplitList(Path, TAB_COMMA_SPLIT)\r
-                        IncPathList += [NormPath(PathEntry, self.Macros) for PathEntry in PathList]\r
+                        IncPathList.extend(NormPath(PathEntry, self.Macros) for PathEntry in PathList)\r
 \r
                 #\r
                 # EDK II modules must not reference header files outside of the packages they depend on or \r
                 # within the module's directory tree. Report error if violation.\r
                 #\r
-                if self.AutoGenVersion >= 0x00010005 and len(IncPathList) > 0:\r
+                if self.AutoGenVersion >= 0x00010005:\r
                     for Path in IncPathList:\r
                         if (Path not in self.IncludePathList) and (CommonPath([Path, self.MetaFile.Dir]) != self.MetaFile.Dir):\r
                             ErrMsg = "The include directory for the EDK II module in this line is invalid %s specified in %s FLAGS '%s'" % (Path, Tool, FlagOption)\r
@@ -3338,7 +3331,7 @@ class ModuleAutoGen(AutoGen):
         if not os.path.exists(SubDirectory):\r
             CreateDirectory(SubDirectory)\r
         LastTarget = None\r
-        RuleChain = []\r
+        RuleChain = set()\r
         SourceList = [File]\r
         Index = 0\r
         #\r
@@ -3395,7 +3388,7 @@ class ModuleAutoGen(AutoGen):
             if FileType in RuleChain:\r
                 break\r
 \r
-            RuleChain.append(FileType)\r
+            RuleChain.add(FileType)\r
             SourceList.extend(Target.Outputs)\r
             LastTarget = Target\r
             FileType = TAB_UNKNOWN_FILE\r
@@ -3504,12 +3497,6 @@ class ModuleAutoGen(AutoGen):
                     self._DependentLibraryList = self.PlatformInfo.ApplyLibraryInstance(self.Module)\r
         return self._DependentLibraryList\r
 \r
-    @staticmethod\r
-    def UpdateComments(Recver, Src):\r
-        for Key in Src:\r
-            if Key not in Recver:\r
-                Recver[Key] = []\r
-            Recver[Key].extend(Src[Key])\r
     ## Get the list of PCDs from current module\r
     #\r
     #   @retval     list                    The list of PCD\r
@@ -3518,7 +3505,7 @@ class ModuleAutoGen(AutoGen):
         if self._ModulePcdList is None:\r
             # apply PCD settings from platform\r
             self._ModulePcdList = self.PlatformInfo.ApplyPcdSetting(self.Module, self.Module.Pcds)\r
-            self.UpdateComments(self._PcdComments, self.Module.PcdComments)\r
+            ExtendCopyDictionaryLists(self._PcdComments, self.Module.PcdComments)\r
         return self._ModulePcdList\r
 \r
     ## Get the list of PCDs from dependent libraries\r
@@ -3533,7 +3520,7 @@ class ModuleAutoGen(AutoGen):
                 self._LibraryPcdList = []\r
                 for Library in self.DependentLibraryList:\r
                     PcdsInLibrary = OrderedDict()\r
-                    self.UpdateComments(self._PcdComments, Library.PcdComments)\r
+                    ExtendCopyDictionaryLists(self._PcdComments, Library.PcdComments)\r
                     for Key in Library.Pcds:\r
                         # skip duplicated PCDs\r
                         if Key in self.Module.Pcds or Key in Pcds:\r
@@ -3555,8 +3542,8 @@ class ModuleAutoGen(AutoGen):
             self._GuidList.update(self.Module.Guids)\r
             for Library in self.DependentLibraryList:\r
                 self._GuidList.update(Library.Guids)\r
-                self.UpdateComments(self._GuidComments, Library.GuidComments)\r
-            self.UpdateComments(self._GuidComments, self.Module.GuidComments)\r
+                ExtendCopyDictionaryLists(self._GuidComments, Library.GuidComments)\r
+            ExtendCopyDictionaryLists(self._GuidComments, self.Module.GuidComments)\r
         return self._GuidList\r
 \r
     def GetGuidsUsedByPcd(self):\r
@@ -3576,8 +3563,8 @@ class ModuleAutoGen(AutoGen):
             self._ProtocolList.update(self.Module.Protocols)\r
             for Library in self.DependentLibraryList:\r
                 self._ProtocolList.update(Library.Protocols)\r
-                self.UpdateComments(self._ProtocolComments, Library.ProtocolComments)\r
-            self.UpdateComments(self._ProtocolComments, self.Module.ProtocolComments)\r
+                ExtendCopyDictionaryLists(self._ProtocolComments, Library.ProtocolComments)\r
+            ExtendCopyDictionaryLists(self._ProtocolComments, self.Module.ProtocolComments)\r
         return self._ProtocolList\r
 \r
     ## Get the PPI value mapping\r
@@ -3590,8 +3577,8 @@ class ModuleAutoGen(AutoGen):
             self._PpiList.update(self.Module.Ppis)\r
             for Library in self.DependentLibraryList:\r
                 self._PpiList.update(Library.Ppis)\r
-                self.UpdateComments(self._PpiComments, Library.PpiComments)\r
-            self.UpdateComments(self._PpiComments, self.Module.PpiComments)\r
+                ExtendCopyDictionaryLists(self._PpiComments, Library.PpiComments)\r
+            ExtendCopyDictionaryLists(self._PpiComments, self.Module.PpiComments)\r
         return self._PpiList\r
 \r
     ## Get the list of include search path\r
@@ -3629,11 +3616,7 @@ class ModuleAutoGen(AutoGen):
         return self._IncludePathList\r
 \r
     def _GetIncludePathLength(self):\r
-        self._IncludePathLength = 0\r
-        if self._IncludePathList:\r
-            for inc in self._IncludePathList:\r
-                self._IncludePathLength += len(' ' + inc)\r
-        return self._IncludePathLength\r
+        return sum(len(inc)+1 for inc in self._IncludePathList)\r
 \r
     ## Get HII EX PCDs which maybe used by VFR\r
     #\r
@@ -3687,12 +3670,11 @@ class ModuleAutoGen(AutoGen):
         for Pcd in self.PlatformInfo.Platform.Pcds.values():\r
             if Pcd.Type != TAB_PCDS_DYNAMIC_EX_HII:\r
                 continue\r
-            for SkuName in Pcd.SkuInfoList:\r
-                SkuInfo = Pcd.SkuInfoList[SkuName]\r
-                Name = ConvertStringToByteArray(SkuInfo.VariableName)\r
+            for SkuInfo in Pcd.SkuInfoList.values():\r
                 Value = GuidValue(SkuInfo.VariableGuid, self.PlatformInfo.PackageList, self.MetaFile.Path)\r
                 if not Value:\r
                     continue\r
+                Name = ConvertStringToByteArray(SkuInfo.VariableName)\r
                 Guid = GuidStructureStringToGuidString(Value)\r
                 if (Name, Guid) in NameGuids and Pcd not in HiiExPcds:\r
                     HiiExPcds.append(Pcd)\r
@@ -3708,13 +3690,13 @@ class ModuleAutoGen(AutoGen):
                 # search the .map file to find the offset of vfr binary in the PE32+/TE file. \r
                 #\r
                 VfrUniBaseName[SourceFile.BaseName] = (SourceFile.BaseName + "Bin")\r
-            if SourceFile.Type.upper() == ".UNI" :\r
+            elif SourceFile.Type.upper() == ".UNI" :\r
                 #\r
                 # search the .map file to find the offset of Uni strings binary in the PE32+/TE file. \r
                 #\r
                 VfrUniBaseName["UniOffsetName"] = (self.Name + "Strings")\r
 \r
-        if len(VfrUniBaseName) == 0:\r
+        if not VfrUniBaseName:\r
             return None\r
         MapFileName = os.path.join(self.OutputDir, self.Name + ".map")\r
         EfiFileName = os.path.join(self.OutputDir, self.Name + ".efi")\r
@@ -3773,10 +3755,9 @@ class ModuleAutoGen(AutoGen):
     #\r
     def CreateAsBuiltInf(self, IsOnlyCopy = False):\r
         self.OutputFile = set()\r
-        if IsOnlyCopy:\r
-            if GlobalData.gBinCacheDest:\r
-                self.CopyModuleToCache()\r
-                return\r
+        if IsOnlyCopy and GlobalData.gBinCacheDest:\r
+            self.CopyModuleToCache()\r
+            return\r
 \r
         if self.IsAsBuiltInfCreated:\r
             return\r
@@ -3808,11 +3789,11 @@ class ModuleAutoGen(AutoGen):
         PcdTokenSpaceList = []\r
         for Pcd in self.ModulePcdList + self.LibraryPcdList:\r
             if Pcd.Type == TAB_PCDS_PATCHABLE_IN_MODULE:\r
-                PatchablePcds += [Pcd]\r
+                PatchablePcds.append(Pcd)\r
                 PcdCheckList.append((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, TAB_PCDS_PATCHABLE_IN_MODULE))\r
             elif Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
                 if Pcd not in Pcds:\r
-                    Pcds += [Pcd]\r
+                    Pcds.append(Pcd)\r
                     PcdCheckList.append((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, TAB_PCDS_DYNAMIC_EX))\r
                     PcdCheckList.append((Pcd.TokenCName, Pcd.TokenSpaceGuidCName, TAB_PCDS_DYNAMIC))\r
                     PcdTokenSpaceList.append(Pcd.TokenSpaceGuidCName)\r
@@ -3832,10 +3813,11 @@ class ModuleAutoGen(AutoGen):
             for Index in range(len(BeChecked)):\r
                 for Item in CheckList[Index]:\r
                     if Item in BeChecked[Index]:\r
-                        Packages += [Package]\r
+                        Packages.append(Package)\r
                         Found = True\r
                         break\r
-                if Found: break\r
+                if Found:\r
+                    break\r
 \r
         VfrPcds = self._GetPcdsMaybeUsedByVfr()\r
         for Pkg in self.PlatformInfo.PackageList:\r
@@ -3844,17 +3826,11 @@ class ModuleAutoGen(AutoGen):
             for VfrPcd in VfrPcds:\r
                 if ((VfrPcd.TokenCName, VfrPcd.TokenSpaceGuidCName, TAB_PCDS_DYNAMIC_EX) in Pkg.Pcds or\r
                     (VfrPcd.TokenCName, VfrPcd.TokenSpaceGuidCName, TAB_PCDS_DYNAMIC) in Pkg.Pcds):\r
-                    Packages += [Pkg]\r
+                    Packages.append(Pkg)\r
                     break\r
 \r
-        ModuleType = self.ModuleType\r
-        if ModuleType == SUP_MODULE_UEFI_DRIVER and self.DepexGenerated:\r
-            ModuleType = SUP_MODULE_DXE_DRIVER\r
-\r
-        DriverType = ''\r
-        if self.PcdIsDriver != '':\r
-            DriverType = self.PcdIsDriver\r
-\r
+        ModuleType = SUP_MODULE_DXE_DRIVER if self.ModuleType == SUP_MODULE_UEFI_DRIVER and self.DepexGenerated else self.ModuleType\r
+        DriverType = self.PcdIsDriver if self.PcdIsDriver else ''\r
         Guid = self.Guid\r
         MDefs = self.Module.Defines\r
 \r
@@ -3880,7 +3856,7 @@ class ModuleAutoGen(AutoGen):
           'module_uefi_hii_resource_section'  : [MDefs['UEFI_HII_RESOURCE_SECTION']] if 'UEFI_HII_RESOURCE_SECTION' in MDefs else [],\r
           'module_uni_file'                   : [MDefs['MODULE_UNI_FILE']] if 'MODULE_UNI_FILE' in MDefs else [],\r
           'module_arch'                       : self.Arch,\r
-          'package_item'                      : ['%s' % (Package.MetaFile.File.replace('\\', '/')) for Package in Packages],\r
+          'package_item'                      : [Package.MetaFile.File.replace('\\', '/') for Package in Packages],\r
           'binary_item'                       : [],\r
           'patchablepcd_item'                 : [],\r
           'pcd_item'                          : [],\r
@@ -3902,12 +3878,12 @@ class ModuleAutoGen(AutoGen):
             AsBuiltInfDict['module_inf_version'] = gInfSpecVersion\r
 \r
         if DriverType:\r
-            AsBuiltInfDict['pcd_is_driver_string'] += [DriverType]\r
+            AsBuiltInfDict['pcd_is_driver_string'].append(DriverType)\r
 \r
         if 'UEFI_SPECIFICATION_VERSION' in self.Specification:\r
-            AsBuiltInfDict['module_uefi_specification_version'] += [self.Specification['UEFI_SPECIFICATION_VERSION']]\r
+            AsBuiltInfDict['module_uefi_specification_version'].append(self.Specification['UEFI_SPECIFICATION_VERSION'])\r
         if 'PI_SPECIFICATION_VERSION' in self.Specification:\r
-            AsBuiltInfDict['module_pi_specification_version'] += [self.Specification['PI_SPECIFICATION_VERSION']]\r
+            AsBuiltInfDict['module_pi_specification_version'].append(self.Specification['PI_SPECIFICATION_VERSION'])\r
 \r
         OutputDir = self.OutputDir.replace('\\', '/').strip('/')\r
         DebugDir = self.DebugDir.replace('\\', '/').strip('/')\r
@@ -3917,31 +3893,31 @@ class ModuleAutoGen(AutoGen):
             if os.path.isabs(File):\r
                 File = File.replace('\\', '/').strip('/').replace(OutputDir, '').strip('/')\r
             if Item.Target.Ext.lower() == '.aml':\r
-                AsBuiltInfDict['binary_item'] += ['ASL|' + File]\r
+                AsBuiltInfDict['binary_item'].append('ASL|' + File)\r
             elif Item.Target.Ext.lower() == '.acpi':\r
-                AsBuiltInfDict['binary_item'] += ['ACPI|' + File]\r
+                AsBuiltInfDict['binary_item'].append('ACPI|' + File)\r
             elif Item.Target.Ext.lower() == '.efi':\r
-                AsBuiltInfDict['binary_item'] += ['PE32|' + self.Name + '.efi']\r
+                AsBuiltInfDict['binary_item'].append('PE32|' + self.Name + '.efi')\r
             else:\r
-                AsBuiltInfDict['binary_item'] += ['BIN|' + File]\r
+                AsBuiltInfDict['binary_item'].append('BIN|' + File)\r
         if self.DepexGenerated:\r
             self.OutputFile.add(self.Name + '.depex')\r
             if self.ModuleType in [SUP_MODULE_PEIM]:\r
-                AsBuiltInfDict['binary_item'] += ['PEI_DEPEX|' + self.Name + '.depex']\r
-            if self.ModuleType in [SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER]:\r
-                AsBuiltInfDict['binary_item'] += ['DXE_DEPEX|' + self.Name + '.depex']\r
-            if self.ModuleType in [SUP_MODULE_DXE_SMM_DRIVER]:\r
-                AsBuiltInfDict['binary_item'] += ['SMM_DEPEX|' + self.Name + '.depex']\r
+                AsBuiltInfDict['binary_item'].append('PEI_DEPEX|' + self.Name + '.depex')\r
+            elif self.ModuleType in [SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_UEFI_DRIVER]:\r
+                AsBuiltInfDict['binary_item'].append('DXE_DEPEX|' + self.Name + '.depex')\r
+            elif self.ModuleType in [SUP_MODULE_DXE_SMM_DRIVER]:\r
+                AsBuiltInfDict['binary_item'].append('SMM_DEPEX|' + self.Name + '.depex')\r
 \r
         Bin = self._GenOffsetBin()\r
         if Bin:\r
-            AsBuiltInfDict['binary_item'] += ['BIN|%s' % Bin]\r
+            AsBuiltInfDict['binary_item'].append('BIN|%s' % Bin)\r
             self.OutputFile.add(Bin)\r
 \r
         for Root, Dirs, Files in os.walk(OutputDir):\r
             for File in Files:\r
                 if File.lower().endswith('.pdb'):\r
-                    AsBuiltInfDict['binary_item'] += ['DISPOSABLE|' + File]\r
+                    AsBuiltInfDict['binary_item'].append('DISPOSABLE|' + File)\r
                     self.OutputFile.add(File)\r
         HeaderComments = self.Module.HeaderComments\r
         StartPos = 0\r
@@ -3960,12 +3936,8 @@ class ModuleAutoGen(AutoGen):
         ]\r
         for Item in GenList:\r
             for CName in Item[0]:\r
-                Comments = ''\r
-                if CName in Item[1]:\r
-                    Comments = '\n  '.join(Item[1][CName])\r
-                Entry = CName\r
-                if Comments:\r
-                    Entry = Comments + '\n  ' + CName\r
+                Comments = '\n  '.join(Item[1][CName]) if CName in Item[1] else ''\r
+                Entry = Comments + '\n  ' + CName if Comments else CName\r
                 AsBuiltInfDict[Item[2]].append(Entry)\r
         PatchList = parsePcdInfoFromMapFile(\r
                             os.path.join(self.OutputDir, self.Name + '.map'),\r
@@ -4056,7 +4028,6 @@ class ModuleAutoGen(AutoGen):
 \r
         HiiPcds = set()\r
         for Pcd in Pcds + VfrPcds:\r
-            PcdComments = ''\r
             PcdCommentList = []\r
             HiiInfo = ''\r
             SkuId = ''\r
@@ -4097,14 +4068,14 @@ class ModuleAutoGen(AutoGen):
             PcdEntry = Pcd.TokenSpaceGuidCName + '.' + TokenCName\r
             if PcdComments:\r
                 PcdEntry = PcdComments + '\n  ' + PcdEntry\r
-            AsBuiltInfDict['pcd_item'] += [PcdEntry]\r
+            AsBuiltInfDict['pcd_item'].append(PcdEntry)\r
         for Item in self.BuildOption:\r
             if 'FLAGS' in self.BuildOption[Item]:\r
-                AsBuiltInfDict['flags_item'] += ['%s:%s_%s_%s_%s_FLAGS = %s' % (self.ToolChainFamily, self.BuildTarget, self.ToolChain, self.Arch, Item, self.BuildOption[Item]['FLAGS'].strip())]\r
+                AsBuiltInfDict['flags_item'].append('%s:%s_%s_%s_%s_FLAGS = %s' % (self.ToolChainFamily, self.BuildTarget, self.ToolChain, self.Arch, Item, self.BuildOption[Item]['FLAGS'].strip()))\r
 \r
         # Generated LibraryClasses section in comments.\r
         for Library in self.LibraryAutoGenList:\r
-            AsBuiltInfDict['libraryclasses_item'] += [Library.MetaFile.File.replace('\\', '/')]\r
+            AsBuiltInfDict['libraryclasses_item'].append(Library.MetaFile.File.replace('\\', '/'))\r
         \r
         # Generated UserExtensions TianoCore section.\r
         # All tianocore user extensions are copied.\r
@@ -4117,10 +4088,8 @@ class ModuleAutoGen(AutoGen):
         AsBuiltInfDict['userextension_tianocore_item'] = UserExtStr\r
 \r
         # Generated depex expression section in comments.\r
-        AsBuiltInfDict['depexsection_item'] = ''\r
         DepexExpresion = self._GetDepexExpresionString()\r
-        if DepexExpresion:\r
-            AsBuiltInfDict['depexsection_item'] = DepexExpresion\r
+        AsBuiltInfDict['depexsection_item'] = DepexExpresion if DepexExpresion else ''\r
         \r
         AsBuiltInf = TemplateString()\r
         AsBuiltInf.Append(gAsBuiltInfHeaderString.Replace(AsBuiltInfDict))\r
@@ -4339,8 +4308,7 @@ class ModuleAutoGen(AutoGen):
         if self.Name not in GlobalData.gModuleHash[self.Arch]:\r
             GlobalData.gModuleHash[self.Arch][self.Name] = m.hexdigest()\r
         if GlobalData.gBinCacheSource:\r
-            CacheValid = self.AttemptModuleCacheCopy()\r
-            if CacheValid:\r
+            if self.AttemptModuleCacheCopy():\r
                 return False\r
         return SaveFileOnChange(ModuleHashFile, m.hexdigest(), True)\r
 \r
@@ -4379,9 +4347,7 @@ class ModuleAutoGen(AutoGen):
         return self._TimeStampPath\r
     def CreateTimeStamp(self, Makefile):\r
 \r
-        FileSet = set()\r
-\r
-        FileSet.add (self.MetaFile.Path)\r
+        FileSet = {self.MetaFile.Path}\r
 \r
         for SourceFile in self.Module.Sources:\r
             FileSet.add (SourceFile.Path)\r
@@ -4445,7 +4411,7 @@ class ModuleAutoGen(AutoGen):
     PpiList                 = property(_GetPpiList)\r
     DepexList               = property(_GetDepexTokenList)\r
     DxsFile                 = property(_GetDxsFile)\r
-    DepexExpressionList     = property(_GetDepexExpressionTokenList)\r
+    DepexExpressionDict     = property(_GetDepexExpressionTokenList)\r
     BuildOption             = property(_GetModuleBuildOption)\r
     BuildOptionIncPathList  = property(_GetBuildOptionIncPathList)\r
     BuildCommand            = property(_GetBuildCommand)\r
index 1be27d2b89e0f1b75cade3d7c2626eeb6b5ffa94..972e1aea1b8b52569887d55c3cf856c3be970724 100644 (file)
@@ -1655,7 +1655,7 @@ def CreatePcdCode(Info, AutoGenC, AutoGenH):
     TokenSpaceList = []\r
     for Pcd in Info.ModulePcdList:\r
         if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET and Pcd.TokenSpaceGuidCName not in TokenSpaceList:\r
-            TokenSpaceList += [Pcd.TokenSpaceGuidCName]\r
+            TokenSpaceList.append(Pcd.TokenSpaceGuidCName)\r
             \r
     SkuMgr = Info.Workspace.Platform.SkuIdMgr\r
     AutoGenH.Append("\n// Definition of SkuId Array\n")\r
index 6e83b3d73e61ce7a71c4ef619831cb411181794a..8541372159a27acce00ee78631f5847e64eb9520 100644 (file)
@@ -698,7 +698,7 @@ cleanlib:
                     Src = self.ReplaceMacro(Src)\r
                     Dst = self.ReplaceMacro(Dst)\r
                     if Dst not in self.ResultFileList:\r
-                        self.ResultFileList.append('%s' % Dst)\r
+                        self.ResultFileList.append(Dst)\r
                     if '%s :' %(Dst) not in self.BuildTargetList:\r
                         self.BuildTargetList.append("%s :" %(Dst))\r
                         self.BuildTargetList.append('\t' + self._CP_TEMPLATE_[self._FileType] %{'Src': Src, 'Dst': Dst})\r
@@ -716,7 +716,7 @@ cleanlib:
             if DepsFileString == '':\r
                 continue\r
             OutputFile = self.ReplaceMacro(OutputFile)\r
-            self.ResultFileList.append('%s' % OutputFile)\r
+            self.ResultFileList.append(OutputFile)\r
             DepsFileString = self.ReplaceMacro(DepsFileString)\r
             self.BuildTargetList.append('%s : %s' % (OutputFile, DepsFileString))\r
             CmdString = ' '.join(FfsCmdList).strip()\r
index 2e05b77e14c2aa60a3d3fa3cb5b3d80768f3ba17..25e4f7246e3ae0742d00ebbb07bc389e942e73b1 100644 (file)
@@ -1115,7 +1115,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
         TokenSpaceGuid = GuidStructureStringToGuidValueName(TokenSpaceGuidStructure)\r
         if Pcd.Type in PCD_DYNAMIC_EX_TYPE_SET:\r
             if TokenSpaceGuid not in GuidList:\r
-                GuidList += [TokenSpaceGuid]\r
+                GuidList.append(TokenSpaceGuid)\r
                 Dict['GUID_STRUCTURE'].append(TokenSpaceGuidStructure)\r
             NumberOfExTokens += 1\r
 \r
@@ -1140,7 +1140,6 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
             Pcd.TokenTypeList = ['PCD_DATUM_TYPE_' + Pcd.DatumType]\r
 \r
         if len(Pcd.SkuInfoList) > 1:\r
-#             Pcd.TokenTypeList += ['PCD_TYPE_SKU_ENABLED']\r
             NumberOfSkuEnabledPcd += 1\r
         \r
         SkuIdIndex = 1  \r
@@ -1178,7 +1177,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                         else:\r
                             EdkLogger.error("build", PCD_VALIDATION_INFO_ERROR,\r
                                                 "The PCD '%s.%s' Validation information defined in DEC file has incorrect format." % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
-                Pcd.TokenTypeList += ['PCD_TYPE_HII']\r
+                Pcd.TokenTypeList.append('PCD_TYPE_HII')\r
                 Pcd.InitString = 'INIT'\r
                 # Store all variable names of one HII PCD under different SKU to stringTable\r
                 # and calculate the VariableHeadStringIndex\r
@@ -1209,7 +1208,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                 # store VariableGuid to GuidTable and get the VariableHeadGuidIndex\r
 \r
                 if VariableGuid not in GuidList:\r
-                    GuidList += [VariableGuid]\r
+                    GuidList.append(VariableGuid)\r
                     Dict['GUID_STRUCTURE'].append(VariableGuidStructure)\r
                 VariableHeadGuidIndex = GuidList.index(VariableGuid)\r
 \r
@@ -1261,7 +1260,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                 VariableDbValueList.append([VariableHeadGuidIndex, VariableHeadStringIndex, Sku.VariableOffset, VariableOffset, VariableRefTable, Sku.VariableAttribute])\r
 \r
             elif Sku.VpdOffset != '':\r
-                Pcd.TokenTypeList += ['PCD_TYPE_VPD']\r
+                Pcd.TokenTypeList.append('PCD_TYPE_VPD')\r
                 Pcd.InitString = 'INIT'\r
                 VpdHeadOffsetList.append(str(Sku.VpdOffset) + 'U')\r
                 VpdDbOffsetList.append(Sku.VpdOffset)\r
@@ -1273,7 +1272,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                 continue\r
           \r
             if Pcd.DatumType == TAB_VOID:\r
-                Pcd.TokenTypeList += ['PCD_TYPE_STRING']\r
+                Pcd.TokenTypeList.append('PCD_TYPE_STRING')\r
                 Pcd.InitString = 'INIT'\r
                 if Sku.HiiDefaultValue != '' and Sku.DefaultValue == '':\r
                     Sku.DefaultValue = Sku.HiiDefaultValue\r
@@ -1322,7 +1321,7 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
                     StringTableSize += (StringTabLen)\r
             else:\r
                 if "PCD_TYPE_HII" not in Pcd.TokenTypeList:\r
-                    Pcd.TokenTypeList += ['PCD_TYPE_DATA']\r
+                    Pcd.TokenTypeList.append('PCD_TYPE_DATA')\r
                     if Sku.DefaultValue == 'TRUE':\r
                         Pcd.InitString = 'INIT'\r
                     else:\r
index 2eab278d68763f336f3ec24c067a54cb0569da6a..3675be8de994fac0c7bf26714d8fdb7207c8db1f 100644 (file)
@@ -75,7 +75,7 @@ class VariableMgr(object):
                     data = value_list[0]\r
                     value_list = []\r
                     for data_byte in pack(data_flag,int(data,16) if data.upper().startswith('0X') else int(data)):\r
-                        value_list += [hex(unpack("B",data_byte)[0])]\r
+                        value_list.append(hex(unpack("B",data_byte)[0]))\r
                 newvalue[int(item.var_offset,16) if item.var_offset.upper().startswith("0X") else int(item.var_offset)] = value_list\r
             try:\r
                 newvaluestr = "{" + ",".join(VariableMgr.assemble_variable(newvalue)) +"}"\r
index 73af1214eb0acf7e6a5938d226a3c07a3de94dd3..ce8866f480d501b5646bbcac73ba912323ebf859 100644 (file)
@@ -258,7 +258,7 @@ def GetFilteredLanguage(UniLanguageList, LanguageFilterList):
         # first check for exact match\r
         if Language in UniLanguageList:\r
             if Language not in UniLanguageListFiltered:\r
-                UniLanguageListFiltered += [Language]\r
+                UniLanguageListFiltered.append(Language)\r
         # find the first one with the same/equivalent primary tag\r
         else:\r
             if Language.find('-') != -1:\r
@@ -280,7 +280,7 @@ def GetFilteredLanguage(UniLanguageList, LanguageFilterList):
 \r
                 if PrimaryTag == UniLanguagePrimaryTag:\r
                     if UniLanguage not in UniLanguageListFiltered:\r
-                        UniLanguageListFiltered += [UniLanguage]\r
+                        UniLanguageListFiltered.append(UniLanguage)\r
                     break\r
             else:\r
                 # Here is rule 3 for "get best language"\r
@@ -292,10 +292,10 @@ def GetFilteredLanguage(UniLanguageList, LanguageFilterList):
                     for UniLanguage in UniLanguageList:\r
                         if UniLanguage.startswith('en-') or UniLanguage.startswith('eng-'):\r
                             if UniLanguage not in UniLanguageListFiltered:\r
-                                UniLanguageListFiltered += [UniLanguage]\r
+                                UniLanguageListFiltered.append(UniLanguage)\r
                             break\r
                     else:\r
-                        UniLanguageListFiltered += [DefaultTag]\r
+                        UniLanguageListFiltered.append(DefaultTag)\r
     return  UniLanguageListFiltered\r
 \r
 \r
index 90350f86382674bd8e59b654d3dae1a880847687..24706ebe500fc437ce3ed8e9b63feceacebda09f 100644 (file)
@@ -1328,7 +1328,7 @@ def ParseFieldValue (Value):
         try:\r
             Value = "'" + uuid.UUID(Value).get_bytes_le() + "'"\r
         except ValueError, Message:\r
-            raise BadExpression('%s' % Message)\r
+            raise BadExpression(Message)\r
         Value, Size = ParseFieldValue(Value)\r
         return Value, 16\r
     if Value.startswith('L"') and Value.endswith('"'):\r
index 34361ecdd58c0bfacabda0e9a09797f060df1368..2292a263b9855d9db1bfc94fb51791a427be3c07 100644 (file)
@@ -447,7 +447,7 @@ def GetMultipleValuesOfKeyFromLines(Lines, Key, KeyValues, CommentCharacter):
     for Line in LineList:\r
         Line = CleanString(Line, CommentCharacter)\r
         if Line != '' and Line[0] != CommentCharacter:\r
-            KeyValues += [Line]\r
+            KeyValues.append(Line)\r
 \r
     return True\r
 \r
index 32895deb5d0c769ecc81d832609845dfb3dc03ae..2b447772eafea79c41936c9a4977cfe516156c71 100644 (file)
@@ -246,7 +246,7 @@ def CallExtenalBPDGTool(ToolPath, VpdFileName):
                                         stderr= subprocess.PIPE,\r
                                         shell=True)\r
     except Exception, X:\r
-        EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData="%s" % (str(X)))\r
+        EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData=str(X))\r
     (out, error) = PopenObject.communicate()\r
     print out\r
     while PopenObject.returncode is None :\r
index ddc5c930d4eaa64ade3edad86d1ea74d01e8be36..78cb049c61871e4cdd5cb59e2329fa132e776112 100644 (file)
@@ -2328,7 +2328,7 @@ class FdfParser:
         if not self.__GetNextHexNumber() and not self.__GetNextDecimalNumber():\r
             raise Warning("expected Hex FV extension entry type value At Line ", self.FileName, self.CurrentLineNumber)\r
 \r
-        FvObj.FvExtEntryTypeValue += [self.__Token]\r
+        FvObj.FvExtEntryTypeValue.append(self.__Token)\r
 \r
         if not self.__IsToken( "{"):\r
             raise Warning("expected '{'", self.FileName, self.CurrentLineNumber)\r
@@ -2336,7 +2336,7 @@ class FdfParser:
         if not self.__IsKeyword ("FILE") and not self.__IsKeyword ("DATA"):\r
             raise Warning("expected 'FILE' or 'DATA'", self.FileName, self.CurrentLineNumber)\r
 \r
-        FvObj.FvExtEntryType += [self.__Token]\r
+        FvObj.FvExtEntryType.append(self.__Token)\r
 \r
         if self.__Token == 'DATA':\r
 \r
@@ -2370,7 +2370,7 @@ class FdfParser:
                 raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r
 \r
             DataString = DataString.rstrip(",")\r
-            FvObj.FvExtEntryData += [DataString]\r
+            FvObj.FvExtEntryData.append(DataString)\r
 \r
         if self.__Token == 'FILE':\r
         \r
@@ -2380,7 +2380,7 @@ class FdfParser:
             if not self.__GetNextToken():\r
                 raise Warning("expected FV Extension Entry file path At Line ", self.FileName, self.CurrentLineNumber)\r
                 \r
-            FvObj.FvExtEntryData += [self.__Token]\r
+            FvObj.FvExtEntryData.append(self.__Token)\r
 \r
             if not self.__IsToken( "}"):\r
                 raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r
index 6cf82526efd2b9bcb488ba723b3bd66936d76101..c2e82de891d3594cc08cfbcd769f476200455762 100644 (file)
@@ -439,36 +439,33 @@ class GenFdsGlobalVariable:
 \r
     @staticmethod\r
     def GenerateSection(Output, Input, Type=None, CompressionType=None, Guid=None,\r
-                        GuidHdrLen=None, GuidAttr=[], Ui=None, Ver=None, InputAlign=None, BuildNumber=None, DummyFile=None, IsMakefile=False):\r
+                        GuidHdrLen=None, GuidAttr=[], Ui=None, Ver=None, InputAlign=[], BuildNumber=None, DummyFile=None, IsMakefile=False):\r
         Cmd = ["GenSec"]\r
         if Type:\r
-            Cmd += ["-s", Type]\r
+            Cmd += ("-s", Type)\r
         if CompressionType:\r
-            Cmd += ["-c", CompressionType]\r
+            Cmd += ("-c", CompressionType)\r
         if Guid is not None:\r
-            Cmd += ["-g", Guid]\r
+            Cmd += ("-g", Guid)\r
         if DummyFile is not None:\r
-            Cmd += ["--dummy", DummyFile]\r
+            Cmd += ("--dummy", DummyFile)\r
         if GuidHdrLen:\r
-            Cmd += ["-l", GuidHdrLen]\r
-        if len(GuidAttr) != 0:\r
-            #Add each guided attribute\r
-            for Attr in GuidAttr:\r
-                Cmd += ["-r", Attr]\r
-        if InputAlign is not None:\r
-            #Section Align is only for dummy section without section type\r
-            for SecAlign in InputAlign:\r
-                Cmd += ["--sectionalign", SecAlign]\r
+            Cmd += ("-l", GuidHdrLen)\r
+        #Add each guided attribute\r
+        for Attr in GuidAttr:\r
+            Cmd += ("-r", Attr)\r
+        #Section Align is only for dummy section without section type\r
+        for SecAlign in InputAlign:\r
+            Cmd += ("--sectionalign", SecAlign)\r
 \r
         CommandFile = Output + '.txt'\r
         if Ui:\r
-            #Cmd += ["-n", '"' + Ui + '"']\r
             if IsMakefile:\r
                 if Ui == "$(MODULE_NAME)":\r
-                    Cmd += ['-n', Ui]\r
+                    Cmd += ('-n', Ui)\r
                 else:\r
-                    Cmd += ["-n", '"' + Ui + '"']\r
-                Cmd += ["-o", Output]\r
+                    Cmd += ("-n", '"' + Ui + '"')\r
+                Cmd += ("-o", Output)\r
                 if ' '.join(Cmd).strip() not in GenFdsGlobalVariable.SecCmdList:\r
                     GenFdsGlobalVariable.SecCmdList.append(' '.join(Cmd).strip())\r
             else:\r
@@ -481,10 +478,10 @@ class GenFdsGlobalVariable:
                 SaveFileOnChange(Output, SectionData.tostring())\r
 \r
         elif Ver:\r
-            Cmd += ["-n", Ver]\r
+            Cmd += ("-n", Ver)\r
             if BuildNumber:\r
-                Cmd += ["-j", BuildNumber]\r
-            Cmd += ["-o", Output]\r
+                Cmd += ("-j", BuildNumber)\r
+            Cmd += ("-o", Output)\r
 \r
             SaveFileOnChange(CommandFile, ' '.join(Cmd), False)\r
             if IsMakefile:\r
@@ -495,7 +492,7 @@ class GenFdsGlobalVariable:
                     return\r
                 GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate section")\r
         else:\r
-            Cmd += ["-o", Output]\r
+            Cmd += ("-o", Output)\r
             Cmd += Input\r
 \r
             SaveFileOnChange(CommandFile, ' '.join(Cmd), False)\r
@@ -526,9 +523,9 @@ class GenFdsGlobalVariable:
         Cmd = ["GenFfs", "-t", Type, "-g", Guid]\r
         mFfsValidAlign = ["0", "8", "16", "128", "512", "1K", "4K", "32K", "64K", "128K", "256K", "512K", "1M", "2M", "4M", "8M", "16M"]\r
         if Fixed == True:\r
-            Cmd += ["-x"]\r
+            Cmd.append("-x")\r
         if CheckSum:\r
-            Cmd += ["-s"]\r
+            Cmd.append("-s")\r
         if Align:\r
             if Align not in mFfsValidAlign:\r
                 Align = GenFdsGlobalVariable.GetAlignment (Align)\r
@@ -536,9 +533,9 @@ class GenFdsGlobalVariable:
                     if ((Align > GenFdsGlobalVariable.GetAlignment(mFfsValidAlign[index])) and (Align <= GenFdsGlobalVariable.GetAlignment(mFfsValidAlign[index + 1]))):\r
                         break\r
                 Align = mFfsValidAlign[index + 1]\r
-            Cmd += ["-a", Align]\r
+            Cmd += ("-a", Align)\r
 \r
-        Cmd += ["-o", Output]\r
+        Cmd += ("-o", Output)\r
         for I in range(0, len(Input)):\r
             Cmd += ("-i", Input[I])\r
             if SectionAlign and SectionAlign[I]:\r
@@ -567,26 +564,26 @@ class GenFdsGlobalVariable:
 \r
         Cmd = ["GenFv"]\r
         if BaseAddress:\r
-            Cmd += ["-r", BaseAddress]\r
+            Cmd += ("-r", BaseAddress)\r
 \r
         if ForceRebase == False:\r
-            Cmd += ["-F", "FALSE"]\r
+            Cmd += ("-F", "FALSE")\r
         elif ForceRebase == True:\r
-            Cmd += ["-F", "TRUE"]\r
+            Cmd += ("-F", "TRUE")\r
 \r
         if Capsule:\r
-            Cmd += ["-c"]\r
+            Cmd.append("-c")\r
         if Dump:\r
-            Cmd += ["-p"]\r
+            Cmd.append("-p")\r
         if AddressFile:\r
-            Cmd += ["-a", AddressFile]\r
+            Cmd += ("-a", AddressFile)\r
         if MapFile:\r
-            Cmd += ["-m", MapFile]\r
+            Cmd += ("-m", MapFile)\r
         if FileSystemGuid:\r
-            Cmd += ["-g", FileSystemGuid]\r
-        Cmd += ["-o", Output]\r
+            Cmd += ("-g", FileSystemGuid)\r
+        Cmd += ("-o", Output)\r
         for I in Input:\r
-            Cmd += ["-i", I]\r
+            Cmd += ("-i", I)\r
 \r
         GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate FV")\r
 \r
@@ -600,10 +597,10 @@ class GenFdsGlobalVariable:
         if BaseAddress and FvSize \\r
             and len(BaseAddress) == len(FvSize):\r
             for I in range(0, len(BaseAddress)):\r
-                Cmd += ["-r", BaseAddress[I], "-s", FvSize[I]]\r
-        Cmd += ["-o", Output]\r
+                Cmd += ("-r", BaseAddress[I], "-s", FvSize[I])\r
+        Cmd += ("-o", Output)\r
         for F in Input:\r
-            Cmd += ["-f", F]\r
+            Cmd += ("-f", F)\r
 \r
         GenFdsGlobalVariable.CallExternalTool(Cmd, "Failed to generate VTF")\r
 \r
@@ -617,26 +614,26 @@ class GenFdsGlobalVariable:
 \r
         Cmd = ["GenFw"]\r
         if Type.lower() == "te":\r
-            Cmd += ["-t"]\r
+            Cmd.append("-t")\r
         if SubType:\r
-            Cmd += ["-e", SubType]\r
+            Cmd += ("-e", SubType)\r
         if TimeStamp:\r
-            Cmd += ["-s", TimeStamp]\r
+            Cmd += ("-s", TimeStamp)\r
         if Align:\r
-            Cmd += ["-a", Align]\r
+            Cmd += ("-a", Align)\r
         if Padding:\r
-            Cmd += ["-p", Padding]\r
+            Cmd += ("-p", Padding)\r
         if Zero:\r
-            Cmd += ["-z"]\r
+            Cmd.append("-z")\r
         if Strip:\r
-            Cmd += ["-l"]\r
+            Cmd.append("-l")\r
         if Replace:\r
-            Cmd += ["-r"]\r
+            Cmd.append("-r")\r
         if Join:\r
-            Cmd += ["-j"]\r
+            Cmd.append("-j")\r
         if Convert:\r
-            Cmd += ["-m"]\r
-        Cmd += ["-o", Output]\r
+            Cmd.append("-m")\r
+        Cmd += ("-o", Output)\r
         Cmd += Input\r
         if IsMakefile:\r
             if " ".join(Cmd).strip() not in GenFdsGlobalVariable.SecCmdList:\r
@@ -652,18 +649,18 @@ class GenFdsGlobalVariable:
         if len(EfiInput) > 0:\r
             \r
             if Compress:\r
-                Cmd += ["-ec"]\r
+                Cmd.append("-ec")\r
             else:\r
-                Cmd += ["-e"]\r
+                Cmd.append("-e")\r
                 \r
             for EfiFile in EfiInput:\r
-                Cmd += [EfiFile]\r
+                Cmd.append(EfiFile)\r
                 InputList.append (EfiFile)\r
         \r
         if len(BinaryInput) > 0:\r
-            Cmd += ["-b"]\r
+            Cmd.append("-b")\r
             for BinFile in BinaryInput:\r
-                Cmd += [BinFile]\r
+                Cmd.append(BinFile)\r
                 InputList.append (BinFile)\r
 \r
         # Check List\r
@@ -672,15 +669,15 @@ class GenFdsGlobalVariable:
         GenFdsGlobalVariable.DebugLogger(EdkLogger.DEBUG_5, "%s needs update because of newer %s" % (Output, InputList))\r
                         \r
         if ClassCode is not None:\r
-            Cmd += ["-l", ClassCode]\r
+            Cmd += ("-l", ClassCode)\r
         if Revision is not None:\r
-            Cmd += ["-r", Revision]\r
+            Cmd += ("-r", Revision)\r
         if DeviceId is not None:\r
-            Cmd += ["-i", DeviceId]\r
+            Cmd += ("-i", DeviceId)\r
         if VendorId is not None:\r
-            Cmd += ["-f", VendorId]\r
+            Cmd += ("-f", VendorId)\r
 \r
-        Cmd += ["-o", Output]\r
+        Cmd += ("-o", Output)\r
         if IsMakefile:\r
             if " ".join(Cmd).strip() not in GenFdsGlobalVariable.SecCmdList:\r
                 GenFdsGlobalVariable.SecCmdList.append(" ".join(Cmd).strip())\r
@@ -695,7 +692,7 @@ class GenFdsGlobalVariable:
 \r
         Cmd = [ToolPath, ]\r
         Cmd += Options.split(' ')\r
-        Cmd += ["-o", Output]\r
+        Cmd += ("-o", Output)\r
         Cmd += Input\r
         if IsMakefile:\r
             if " ".join(Cmd).strip() not in GenFdsGlobalVariable.SecCmdList:\r
index 61ea645f5c43359a504d1294e95f738c60021f2b..324b6ff6aa764c7e8b0571792b393ccc089180bd 100644 (file)
@@ -420,7 +420,7 @@ class DepexReport(object):
                     self.Source = "DXS"\r
                     break\r
         else:\r
-            self.Depex = M.DepexExpressionList.get(M.ModuleType, "")\r
+            self.Depex = M.DepexExpressionDict.get(M.ModuleType, "")\r
             self.ModuleDepex = " ".join(M.Module.DepexExpression[M.Arch, M.ModuleType])\r
             if not self.ModuleDepex:\r
                 self.ModuleDepex = "(None)"\r
@@ -461,12 +461,12 @@ class DepexReport(object):
         FileWrite(File, "Dependency Expression (DEPEX) from %s" % self.Source)\r
 \r
         if self.Source == "INF":\r
-            FileWrite(File, "%s" % self.Depex, True)\r
+            FileWrite(File, self.Depex, True)\r
             FileWrite(File, gSubSectionSep)\r
             FileWrite(File, "From Module INF:  %s" % self.ModuleDepex, True)\r
             FileWrite(File, "From Library INF: %s" % self.LibraryDepex, True)\r
         else:\r
-            FileWrite(File, "%s" % self.Depex)\r
+            FileWrite(File, self.Depex)\r
         FileWrite(File, gSubSectionEnd)\r
 \r
 ##\r
@@ -1112,7 +1112,7 @@ class PcdReport(object):
                             if IsByteArray:\r
                                 FileWrite(File, ' *M     %-*s = %s' % (self.MaxLen + 15, ModulePath, '{'))\r
                                 for Array in ArrayList:\r
-                                    FileWrite(File, '%s' % (Array))\r
+                                    FileWrite(File, Array)\r
                             else:\r
                                 FileWrite(File, ' *M     %-*s = %s' % (self.MaxLen + 15, ModulePath, ModuleDefault.strip()))\r
 \r
@@ -1138,7 +1138,7 @@ class PcdReport(object):
             if IsByteArray:\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DSC DEFAULT', "{"))\r
                 for Array in ArrayList:\r
-                    FileWrite(File, '%s' % (Array))\r
+                    FileWrite(File, Array)\r
             else:\r
                 if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                     if Value.startswith(('0x', '0X')):\r
@@ -1152,7 +1152,7 @@ class PcdReport(object):
             if IsByteArray:\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'INF DEFAULT', "{"))\r
                 for Array in ArrayList:\r
-                    FileWrite(File, '%s' % (Array))\r
+                    FileWrite(File, Array)\r
             else:\r
                 if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                     if Value.startswith(('0x', '0X')):\r
@@ -1167,7 +1167,7 @@ class PcdReport(object):
             if IsByteArray:\r
                 FileWrite(File, '    %*s = %s' % (self.MaxLen + 19, 'DEC DEFAULT', "{"))\r
                 for Array in ArrayList:\r
-                    FileWrite(File, '%s' % (Array))\r
+                    FileWrite(File, Array)\r
             else:\r
                 if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                     if Value.startswith(('0x', '0X')):\r
@@ -1187,7 +1187,7 @@ class PcdReport(object):
             if IsByteArray:\r
                 FileWrite(File, ' %-*s   : %6s %10s = %s' % (self.MaxLen, Flag + ' ' + PcdTokenCName, TypeName, '(' + Pcd.DatumType + ')', '{'))\r
                 for Array in ArrayList:\r
-                    FileWrite(File, '%s' % (Array))\r
+                    FileWrite(File, Array)\r
             else:\r
                 if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                     if Value.startswith(('0x','0X')):\r
@@ -1228,7 +1228,7 @@ class PcdReport(object):
                                     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
+                                        FileWrite(File, Array)\r
                                 else:\r
                                     if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                                         if Value.startswith(('0x', '0X')):\r
@@ -1254,7 +1254,7 @@ class PcdReport(object):
                                     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
+                                        FileWrite(File, Array)\r
                                 else:\r
                                     if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                                         if Value.startswith(('0x', '0X')):\r
@@ -1286,7 +1286,7 @@ class PcdReport(object):
                             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
+                                FileWrite(File, Array)\r
                         else:\r
                             if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                                 if Value.startswith(('0x', '0X')):\r
@@ -1304,7 +1304,7 @@ class PcdReport(object):
                             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
+                                FileWrite(File, Array)\r
                         else:\r
                             if Pcd.DatumType in TAB_PCD_CLEAN_NUMERIC_TYPES:\r
                                 if Value.startswith(('0x', '0X')):\r
@@ -1976,7 +1976,7 @@ class FdReport(object):
                     ValueList[-1] = ' {'\r
                     FileWrite(File, '|'.join(ValueList))\r
                     for Array in ArrayList:\r
-                        FileWrite(File, '%s' % (Array))\r
+                        FileWrite(File, Array)\r
                 else:\r
                     FileWrite(File, item)\r
             FileWrite(File, gSubSectionEnd)\r
index 1ef2dc5bfe70dea7d13596ca467201699fdcda1d..c16e810fed714e11b5aad1abc80f8cdb0086d5d7 100644 (file)
@@ -105,7 +105,7 @@ def CheckEnvVariable():
 \r
     WorkspaceDir = os.path.normcase(os.path.normpath(os.environ["WORKSPACE"]))\r
     if not os.path.exists(WorkspaceDir):\r
-        EdkLogger.error("build", FILE_NOT_FOUND, "WORKSPACE doesn't exist", ExtraData="%s" % WorkspaceDir)\r
+        EdkLogger.error("build", FILE_NOT_FOUND, "WORKSPACE doesn't exist", ExtraData=WorkspaceDir)\r
     elif ' ' in WorkspaceDir:\r
         EdkLogger.error("build", FORMAT_NOT_SUPPORTED, "No space is allowed in WORKSPACE path",\r
                         ExtraData=WorkspaceDir)\r
@@ -117,7 +117,7 @@ def CheckEnvVariable():
     if mws.PACKAGES_PATH:\r
         for Path in mws.PACKAGES_PATH:\r
             if not os.path.exists(Path):\r
-                EdkLogger.error("build", FILE_NOT_FOUND, "One Path in PACKAGES_PATH doesn't exist", ExtraData="%s" % Path)\r
+                EdkLogger.error("build", FILE_NOT_FOUND, "One Path in PACKAGES_PATH doesn't exist", ExtraData=Path)\r
             elif ' ' in Path:\r
                 EdkLogger.error("build", FORMAT_NOT_SUPPORTED, "No space is allowed in PACKAGES_PATH", ExtraData=Path)\r
 \r
@@ -1543,7 +1543,7 @@ class Build():
                         GuidString = MatchGuid.group()\r
                         if GuidString.upper() in ModuleList:\r
                             Line = Line.replace(GuidString, ModuleList[GuidString.upper()].Name)\r
-                    MapBuffer.write('%s' % (Line))\r
+                    MapBuffer.write(Line)\r
                     #\r
                     # Add the debug image full path.\r
                     #\r