]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/GenBuild/org/tianocore/build/GenBuildTask.java
Fixed an issue which a library module could be built even it's not in the active...
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / GenBuildTask.java
index a84953010924a27622945ce7ddc4c10f2ea2793d..468b5f9ecc494a7a365cff4e93184cd32e8917e5 100644 (file)
@@ -232,7 +232,7 @@ public class GenBuildTask extends Ant {
 \r
         Set<String> archSet = new LinkedHashSet<String>();\r
         String archString = getProject().getProperty("ARCH");\r
-        if (archString != null) {\r
+        if (archString != null && archString.length() > 0) {\r
             String[] fpdArchList = archString.split(" ");\r
 \r
             for (int i = 0; i < fpdArchList.length; i++) {\r
@@ -252,8 +252,9 @@ public class GenBuildTask extends Ant {
         List moduleSupportedArchs = saq.getModuleSupportedArchs();\r
         if (moduleSupportedArchs != null) {\r
             for (int k = 0; k < archList.length; k++) {\r
-                if ( ! moduleSupportedArchs.contains(archList[k])) {\r
-                    throw new BuildException("Specified architecture [" + archList[k] + "] is not supported by " + moduleId + ". The module " + moduleId + " only supports [" + moduleSupportedArchs + "] architectures.");\r
+                if (!moduleSupportedArchs.contains(archList[k])) {\r
+                    EdkLog.log(this, EdkLog.EDK_WARNING, "Specified architecture [" + archList[k] + "] is not supported by " + moduleId + ". The module " + moduleId + " only supports [" + moduleSupportedArchs + "] architectures.");\r
+                    archList[k] = "";\r
                 }\r
             }\r
         }\r
@@ -263,6 +264,9 @@ public class GenBuildTask extends Ant {
         }\r
 \r
         for (int k = 0; k < archList.length; k++) {\r
+            if (archList[k] == "") {\r
+                continue;\r
+            }\r
 \r
             getProject().setProperty("ARCH", archList[k]);\r
 \r
@@ -271,8 +275,13 @@ public class GenBuildTask extends Ant {
             //\r
             // Whether the module is built before\r
             //\r
-            if (moduleId.isLibrary() == false && GlobalData.hasFpdModuleSA(fpdModuleId) == false) {\r
-                EdkLog.log(this, EdkLog.EDK_WARNING, "Warning: " + moduleId + " for " + archList[k] + " was not found in current platform FPD file!\n");\r
+            if ((moduleId.isLibrary() == false || isSingleModuleBuild) && GlobalData.hasFpdModuleSA(fpdModuleId) == false) {\r
+                if (isSingleModuleBuild) {\r
+                    EdkLog.log(this, EdkLog.EDK_ERROR, "Error: " + moduleId + " for " + archList[k] + " was not found in current platform FPD file!\n");\r
+                    throw new BuildException("No platform containing this module!");\r
+                } else {\r
+                    EdkLog.log(this, EdkLog.EDK_WARNING, "Warning: " + moduleId + " for " + archList[k] + " was not found in current platform FPD file!\n");\r
+                }\r
                 continue;\r
             } else if (GlobalData.isModuleBuilt(fpdModuleId)) {\r
                 break;\r