]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/GenBuild/org/tianocore/build/global/GlobalData.java
To fix bug EDKT432. Add judge to avoid include flags twice.
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / global / GlobalData.java
index c736952377c71f6c808815eabb1b696cb6c89943..437858a711b634293771834e6f20b6638e860e82 100644 (file)
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.HashMap;\r
 import java.util.HashSet;\r
 import java.util.Iterator;\r
+import java.util.LinkedHashSet;\r
 import java.util.List;\r
 import java.util.Map;\r
 import java.util.Set;\r
@@ -768,6 +769,9 @@ public class GlobalData {
             return setting;\r
         }\r
 \r
+        Set<String> flagSet = new LinkedHashSet<String>();\r
+        flagSet.add(setting);\r
+        \r
         //\r
         // Tool's option can be in .fpd and/or .msa file\r
         //\r
@@ -785,7 +789,7 @@ public class GlobalData {
         //\r
         option = msaFamilyBuildOption.get(fpdModuleId.getModule());\r
         if (option != null && (optionString = option.get(toolChainFamilyKey)) != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
         }\r
         \r
         //\r
@@ -793,7 +797,7 @@ public class GlobalData {
         //\r
         option = msaBuildOption.get(fpdModuleId.getModule());\r
         if (option != null && (optionString = option.get(toolChainKey)) != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
         }\r
         \r
         //\r
@@ -801,7 +805,7 @@ public class GlobalData {
         //\r
         optionString = platformToolChainFamilyOption.get(toolChainFamilyKey);\r
         if (optionString != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
         }\r
 \r
         //\r
@@ -809,7 +813,7 @@ public class GlobalData {
         //\r
         optionString = platformToolChainOption.get(toolChainKey);\r
         if (optionString != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
         }\r
 \r
         //\r
@@ -817,7 +821,7 @@ public class GlobalData {
         //\r
         option = moduleToolChainFamilyOption.get(fpdModuleId);\r
         if (option != null && (optionString = option.get(toolChainFamilyKey)) != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
         }\r
 \r
         //\r
@@ -825,9 +829,13 @@ public class GlobalData {
         //\r
         option = moduleToolChainOption.get(fpdModuleId);\r
         if (option != null && (optionString = option.get(toolChainKey)) != null) {\r
-            setting += (" " + optionString);\r
+            flagSet.add(optionString);\r
+        }\r
+        \r
+        setting = "";\r
+        for(Iterator<String> iter = flagSet.iterator(); iter.hasNext();) {\r
+            setting += iter.next() +" ";\r
         }\r
-\r
         return setting;\r
     }\r
 \r