import org.apache.xmlbeans.XmlObject;\r
\r
import org.tianocore.common.definitions.EdkDefinitions;\r
+import org.tianocore.common.definitions.ToolDefinitions;\r
import org.tianocore.common.exception.EdkException;\r
import org.tianocore.common.logger.EdkLog;\r
import org.tianocore.build.FrameworkBuildTask;\r
import org.tianocore.build.id.PackageIdentification;\r
import org.tianocore.build.id.PlatformIdentification;\r
import org.tianocore.build.pcd.action.PlatformPcdPreprocessActionForBuilding;\r
-import org.tianocore.build.toolchain.ToolChainAttribute;\r
import org.tianocore.build.toolchain.ToolChainElement;\r
import org.tianocore.build.toolchain.ToolChainMap;\r
import org.w3c.dom.NamedNodeMap;\r
}\r
}\r
}\r
+ \r
/**\r
This method is used for Single Module Build.\r
\r
-\r
@throws BuildException\r
FPD file is not valid.\r
**/\r
//\r
GlobalData.addModuleToolChainOption(fpdModuleId, parseModuleBuildOptions(false));\r
GlobalData.addModuleToolChainFamilyOption(fpdModuleId, parseModuleBuildOptions(true));\r
+ \r
+ //\r
+ // parse MSA build options\r
+ //\r
+ GlobalData.addMsaBuildOption(moduleId, parseMsaBuildOptions(false));\r
+ GlobalData.addMsaFamilyBuildOption(moduleId, parseMsaBuildOptions(true));\r
+ \r
saq.pop();\r
}\r
}\r
return parseOptions(options);\r
}\r
\r
+ ToolChainMap parseMsaBuildOptions(boolean toolChainFamilyFlag) throws EdkException {\r
+ String[][] options = saq.getMsaBuildOptions(toolChainFamilyFlag);\r
+ if (options == null || options.length == 0) {\r
+ return new ToolChainMap();\r
+ }\r
+ return parseOptions(options);\r
+ }\r
+ \r
private ToolChainMap parseOptions(String[][] options) throws EdkException {\r
ToolChainMap map = new ToolChainMap();\r
int flagIndex = ToolChainElement.ATTRIBUTE.value;\r
if (flagString == null) {\r
flagString = "";\r
}\r
- options[i][flagIndex] = ToolChainAttribute.FLAGS + "";\r
+ options[i][flagIndex] = ToolDefinitions.TOOLS_DEF_ATTRIBUTE_FLAGS;\r
map.put(options[i], flagString.trim());\r
}\r
\r