import org.tianocore.build.pcd.action.PlatformPcdPreprocessActionForBuilding;\r
import org.tianocore.build.toolchain.ToolChainElement;\r
import org.tianocore.build.toolchain.ToolChainMap;\r
+import org.tianocore.build.toolchain.ToolChainInfo;\r
import org.w3c.dom.NamedNodeMap;\r
import org.w3c.dom.Node;\r
import org.w3c.dom.NodeList;\r
parseToolChainFamilyOptions();\r
parseToolChainOptions();\r
\r
+ //\r
+ // check if the tool chain is valid or not\r
+ // \r
+ checkToolChain();\r
+\r
saq.push(map);\r
\r
//\r
}\r
}\r
}\r
+\r
+\r
+ private void checkToolChain() throws EdkException {\r
+ ToolChainInfo toolChainInfo = GlobalData.getToolChainInfo();\r
+\r
+ if (toolChainInfo.getTargets().length == 0) {\r
+ throw new EdkException("No valid target specified! Please check your TARGET definition in Tools/Conf/target.txt.");\r
+ }\r
+\r
+ if (toolChainInfo.getTagnames().length == 0) {\r
+ throw new EdkException("No valid tool chain specified! Please check your TOOL_CHAIN_TAG definition in Tools/Conf/target.txt.");\r
+ }\r
+\r
+ if (toolChainInfo.getArchs().length == 0) {\r
+ throw new EdkException("No valid ARCH specified! Please check your TARGET_ARCH definition in Tools/Conf/target.txt.");\r
+ }\r
+\r
+ if (toolChainInfo.getCommands().length == 0) {\r
+ throw new EdkException("No valid COMMAND specified! Please check your TARGET definition in Tools/Conf/tools_def.txt.");\r
+ }\r
+ }\r
}\r
///\r
/// Tool Chain Related, try to refine and put some logic process to ToolChainFactory\r
///\r
- public synchronized static ToolChainInfo getToolChainInfo() throws EdkException {\r
+ public synchronized static ToolChainInfo getToolChainInfo() {\r
if (toolChainInfo == null) {\r
toolChainInfo = toolsDef.getConfigInfo().intersection(toolChainEnvInfo);\r
if (toolChainPlatformInfo != null) {\r
toolChainInfo.addCommands(toolsDef.getConfigInfo().getCommands());\r
toolChainInfo.normalize();\r
\r
- if (toolChainInfo.getTargets().length == 0) {\r
- throw new EdkException("No valid target specified! Please check your TARGET definition in Tools/Conf/target.txt.");\r
- }\r
-\r
- if (toolChainInfo.getTagnames().length == 0) {\r
- throw new EdkException("No valid tool chain specified! Please check your TOOL_CHAIN_TAG definition in Tools/Conf/target.txt.");\r
- }\r
-\r
- if (toolChainInfo.getArchs().length == 0) {\r
- throw new EdkException("No valid ARCH specified! Please check your TARGET_ARCH definition in Tools/Conf/target.txt.");\r
- }\r
-\r
- if (toolChainInfo.getCommands().length == 0) {\r
- throw new EdkException("No valid COMMAND specified! Please check your TARGET definition in Tools/Conf/tools_def.txt.");\r
- }\r
-\r
EdkLog.log("Init", EdkLog.EDK_ALWAYS, "Current build tool chain information summary: ");\r
EdkLog.log("Init", EdkLog.EDK_ALWAYS, toolChainInfo + "");\r
}\r