]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java
added the support for new schema and old schema at the same time
[mirror_edk2.git] / Tools / Source / GenBuild / org / tianocore / build / fpd / FpdParserTask.java
index 011e13de527af8a867d0d7b7f3dfc8a5809e32f9..21197b5c626ffac05961204a01cba979a2361864 100644 (file)
@@ -352,6 +352,7 @@ public class FpdParserTask extends Task {
             }\r
             Map<String, XmlObject> msaMap = GlobalData.getNativeMsa(baseName);\r
             Map<String, XmlObject> mbdMap = GlobalData.getNativeMbd(baseName);\r
+            Map<String, XmlObject> fpdMap = new HashMap<String, XmlObject>();\r
             Map<String, XmlObject> map = new HashMap<String, XmlObject>();\r
             //\r
             // Whether the Module SA has parsed before or not\r
@@ -363,9 +364,13 @@ public class FpdParserTask extends Task {
                 // Here we can also put platform Build override\r
                 //\r
                 map = op.override(mbdMap, msaMap);\r
-                Map<String, XmlObject> overrideMap = op.override(\r
-                                getPlatformOverrideInfo(moduleSAs[i]),\r
-                                OverrideProcess.deal(map));\r
+                fpdMap = getPlatformOverrideInfo(moduleSAs[i]);\r
+                XmlObject buildOption = (XmlObject)fpdMap.get("BuildOptions");\r
+                buildOption = (XmlObject)fpdMap.get("PackageDependencies");\r
+                buildOption = (XmlObject)fpdMap.get("BuildOptions");\r
+                buildOption = op.override(buildOption, platformBuildOptions);\r
+                fpdMap.put("BuildOptions", ((BuildOptionsDocument)buildOption).getBuildOptions());\r
+                Map<String, XmlObject> overrideMap = op.override(fpdMap, OverrideProcess.deal(map));\r
                 GlobalData.registerModule(baseName, overrideMap);\r
             } else {\r
                 map = GlobalData.getDoc(baseName);\r
@@ -460,6 +465,7 @@ public class FpdParserTask extends Task {
         Map<String, XmlObject> map = new HashMap<String, XmlObject>();\r
         map.put("SourceFiles", sa.getSourceFiles());\r
         map.put("Includes", sa.getIncludes());\r
+        map.put("PackageDependencies", null);\r
         map.put("Libraries", sa.getLibraries());\r
         map.put("Protocols", sa.getProtocols());\r
         map.put("Events", sa.getEvents());\r
@@ -472,7 +478,7 @@ public class FpdParserTask extends Task {
         map.put("Formsets", sa.getFormsets());\r
         map.put("Guids", sa.getGuids());\r
         map.put("Externs", sa.getExterns());\r
-        map.put("BuildOptions", platformBuildOptions);\r
+        map.put("BuildOptions", sa.getBuildOptions());//platformBuildOptions);\r
         return map;\r
     }\r
 \r