]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools: Fixed BuildOptions bug.
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / AutoGen.py
index 7fb1a8889aa659e88effb5f80dbe6470157dfc5b..259abc519b00258600b28db1a38f8eb4a2478ab6 100644 (file)
@@ -2000,7 +2000,6 @@ class PlatformAutoGen(AutoGen):
                                             if Options.get((self.BuildRuleFamily, NowKey)) != None: \r
                                                 Options.pop((self.BuildRuleFamily, NowKey))\r
                                                            \r
-        OverrideOpt = set()\r
         for Key in Options:\r
             if ModuleStyle != None and len (Key) > 2:\r
                 # Check Module style is EDK or EDKII.\r
@@ -2026,9 +2025,7 @@ class PlatformAutoGen(AutoGen):
                     if Arch == "*" or Arch == self.Arch:\r
                         if Tool not in BuildOptions:\r
                             BuildOptions[Tool] = {}\r
-                        if Options[Key].startswith('='):\r
-                            OverrideOpt.add((Tool, Attr))\r
-                        if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or (Tool, Attr) in OverrideOpt:\r
+                        if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or Options[Key].startswith('='):\r
                             BuildOptions[Tool][Attr] = Options[Key]\r
                         else:\r
                             # append options for the same tool\r
@@ -2037,7 +2034,6 @@ class PlatformAutoGen(AutoGen):
         if FamilyMatch or FamilyIsNull:\r
             return BuildOptions\r
 \r
-        OverrideOpt = set()\r
         for Key in Options:\r
             if ModuleStyle != None and len (Key) > 2:\r
                 # Check Module style is EDK or EDKII.\r
@@ -2061,9 +2057,7 @@ class PlatformAutoGen(AutoGen):
                     if Arch == "*" or Arch == self.Arch:\r
                         if Tool not in BuildOptions:\r
                             BuildOptions[Tool] = {}\r
-                        if Options[Key].startswith('='):\r
-                            OverrideOpt.add((Tool, Attr))\r
-                        if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or (Tool, Attr) in OverrideOpt:\r
+                        if Attr != "FLAGS" or Attr not in BuildOptions[Tool] or Options[Key].startswith('='):\r
                             BuildOptions[Tool][Attr] = Options[Key]\r
                         else:\r
                             # append options for the same tool\r
@@ -2103,7 +2097,6 @@ class PlatformAutoGen(AutoGen):
                        PlatformModuleOptions.keys() + ModuleTypeOptions.keys() +\r
                        self.ToolDefinition.keys())\r
         BuildOptions = {}\r
-        OverrideTool = set()\r
         for Tool in AllTools:\r
             if Tool not in BuildOptions:\r
                 BuildOptions[Tool] = {}\r
@@ -2122,9 +2115,8 @@ class PlatformAutoGen(AutoGen):
                         BuildOptions[Tool][Attr] = ""\r
                     # check if override is indicated\r
                     if Value.startswith('='):\r
-                        OverrideTool.add((Tool, Attr))\r
                         BuildOptions[Tool][Attr] = Value[1:]\r
-                    elif (Tool, Attr) not in OverrideTool:\r
+                    else:\r
                         BuildOptions[Tool][Attr] += " " + Value\r
         if Module.AutoGenVersion < 0x00010005 and self.Workspace.UniFlag != None:\r
             #\r