\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
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
}\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
//\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