]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools: change more list to set
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / AutoGen.py
index 562f3f63fc6054cb6e1a533841e3c5ffbdc0bd0c..5baabf2a0c74f293648ef46e216fbef5ea8e496b 100644 (file)
@@ -2686,40 +2686,31 @@ class PlatformAutoGen(AutoGen):
         AllTools = set(ModuleOptions.keys() + PlatformOptions.keys() +\r
                        PlatformModuleOptions.keys() + ModuleTypeOptions.keys() +\r
                        self.ToolDefinition.keys())\r
-        BuildOptions = {}\r
+        BuildOptions = defaultdict(lambda: defaultdict(str))\r
         for Tool in AllTools:\r
-            if Tool not in BuildOptions:\r
-                BuildOptions[Tool] = {}\r
-\r
             for Options in [self.ToolDefinition, ModuleOptions, PlatformOptions, ModuleTypeOptions, PlatformModuleOptions]:\r
                 if Tool not in Options:\r
                     continue\r
                 for Attr in Options[Tool]:\r
-                    Value = Options[Tool][Attr]\r
                     #\r
                     # Do not generate it in Makefile\r
                     #\r
                     if Attr == TAB_TOD_DEFINES_BUILDRULEORDER:\r
                         continue\r
-                    if Attr not in BuildOptions[Tool]:\r
-                        BuildOptions[Tool][Attr] = ""\r
+                    Value = Options[Tool][Attr]\r
                     # check if override is indicated\r
                     if Value.startswith('='):\r
-                        ToolPath = Value[1:]\r
-                        ToolPath = mws.handleWsMacro(ToolPath)\r
-                        BuildOptions[Tool][Attr] = ToolPath\r
+                        BuildOptions[Tool][Attr] = mws.handleWsMacro(Value[1:])\r
                     else:\r
-                        Value = mws.handleWsMacro(Value)\r
                         if Attr != 'PATH':\r
-                            BuildOptions[Tool][Attr] += " " + Value\r
+                            BuildOptions[Tool][Attr] += " " + mws.handleWsMacro(Value)\r
                         else:\r
-                            BuildOptions[Tool][Attr] = Value\r
+                            BuildOptions[Tool][Attr] = mws.handleWsMacro(Value)\r
+\r
         if Module.AutoGenVersion < 0x00010005 and self.Workspace.UniFlag is not None:\r
             #\r
             # Override UNI flag only for EDK module.\r
             #\r
-            if 'BUILD' not in BuildOptions:\r
-                BuildOptions['BUILD'] = {}\r
             BuildOptions['BUILD']['FLAGS'] = self.Workspace.UniFlag\r
         return BuildOptions, BuildRuleOrder\r
 \r
@@ -3787,7 +3778,7 @@ class ModuleAutoGen(AutoGen):
         if not self.SourceFileList:\r
             return []\r
 \r
-        NameGuids = []\r
+        NameGuids = set()\r
         for SrcFile in self.SourceFileList:\r
             if SrcFile.Ext.lower() != '.vfr':\r
                 continue\r
@@ -3819,7 +3810,7 @@ class ModuleAutoGen(AutoGen):
                 if not Guid:\r
                     break\r
                 NameArray = ConvertStringToByteArray('L"' + Name.group(1) + '"')\r
-                NameGuids.append((NameArray, GuidStructureStringToGuidString(Guid.group(1))))\r
+                NameGuids.add((NameArray, GuidStructureStringToGuidString(Guid.group(1))))\r
                 Pos = Content.find('efivarstore', Name.end())\r
         if not NameGuids:\r
             return []\r
@@ -3894,7 +3885,6 @@ class ModuleAutoGen(AutoGen):
                 VfrGuid = [0xb4, 0x7c, 0xbc, 0xd0, 0x47, 0x6a, 0x5f, 0x49, 0xaa, 0x11, 0x71, 0x7, 0x46, 0xda, 0x6, 0xa2]\r
                 VfrGuid = [chr(ItemGuid) for ItemGuid in VfrGuid]\r
                 fStringIO.write(''.join(VfrGuid))                   \r
-                type (Item[1]) \r
                 VfrValue = pack ('Q', int (Item[1], 16))\r
                 fStringIO.write (VfrValue)\r
         #\r
@@ -4189,7 +4179,7 @@ class ModuleAutoGen(AutoGen):
                     PcdItem = PcdComments + '\n  ' + PcdItem\r
                 AsBuiltInfDict['patchablepcd_item'].append(PcdItem)\r
 \r
-        HiiPcds = []\r
+        HiiPcds = set()\r
         for Pcd in Pcds + VfrPcds:\r
             PcdComments = ''\r
             PcdCommentList = []\r
@@ -4212,8 +4202,7 @@ class ModuleAutoGen(AutoGen):
                 #\r
                 if (SkuId, Pcd.TokenSpaceGuidCName, Pcd.TokenCName) in HiiPcds:\r
                     continue\r
-                else:\r
-                    HiiPcds.append((SkuId, Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
+                HiiPcds.add((SkuId, Pcd.TokenSpaceGuidCName, Pcd.TokenCName))\r
             if (Pcd.TokenSpaceGuidCName, Pcd.TokenCName) in self._PcdComments:\r
                 PcdCommentList = self._PcdComments[Pcd.TokenSpaceGuidCName, Pcd.TokenCName][:]\r
             if HiiInfo:\r