- /**\r
- * Retrieve BuildOptions/Option or Arch/Option\r
- * \r
- * @param toolChainFamilyFlag\r
- * if true, retrieve options for toolchain family; otherwise for\r
- * toolchain\r
- * \r
- * @returns String[][5] name, target, toolchain, arch, coommand of options\r
- * if elements are found at the known xpath. String[0][] if dont\r
- * find element.\r
- * \r
- * @returns Empty array if nothing is there\r
- */\r
- public static String[][] getOptions(boolean toolChainFamilyFlag) {\r
- String[] xPath;\r
- String target = null;\r
- String toolchain = null;\r
- String toolchainFamily = null;\r
- List<String> archList = null;\r
- String cmd = null;\r
- String targetName = null;\r
- String optionName = null;\r
-\r
- if (toolChainFamilyFlag == true) {\r
- xPath = new String[] {\r
- "/BuildOptions/Options/Option[not(@ToolChainFamily) and not(@ToolChainTag)]",\r
- "/BuildOptions/Options/Option[@ToolChainFamily]", };\r
- } else {\r
- xPath = new String[] {\r
- "/BuildOptions/Options/Option[not(@ToolChainFamily) and not(@ToolChainTag)]",\r
- "/BuildOptions/Options/Option[@TagName]", };\r
- }\r
-\r
- XmlObject[] returns = get("FrameworkPlatformDescription", xPath);\r
- if (returns == null) {\r
- return new String[0][5];\r
- }\r
-\r
- List<String[]> optionList = new ArrayList<String[]>();\r
- OptionDocument.Option option;\r
-\r
- for (int i = 0; i < returns.length; i++) {\r
- option = (OptionDocument.Option) returns[i];\r
-\r
- //\r
- // Get Target, ToolChain(Family), Arch, Cmd, and Option from Option,\r
- // then\r
- // put to result[][5] array in above order.\r
- //\r
- String[] targetList;\r
- target = null;//Auber option.getBuildTargets();\r
- if (target != null) {\r
- targetList = target.split(" ");\r
- } else {\r
- targetList = new String[1];\r
- targetList[0] = null;\r
- }\r
-\r
- if (toolChainFamilyFlag) {\r
- toolchainFamily = option.getToolChainFamily();\r
- if (toolchainFamily != null) {\r
- toolchain = toolchainFamily.toString();\r
- } else {\r
- toolchain = null;\r
- }\r
- } else {\r
- toolchain = option.getTagName();\r
- }\r
-\r
- archList = option.getSupArchList();\r
- if (archList == null) {\r
- archList.add(null);\r
- }\r
-\r
- cmd = option.getToolCode();\r
-\r
- optionName = option.getStringValue();\r
- for (int t = 0; t < targetList.length; t++) {\r
- for (int j = 0; j < archList.size(); j++) {\r
- optionList.add(new String[] { optionName, targetList[i],\r
- toolchain, archList.get(j), cmd });\r
- }\r
- }\r
- }\r
-\r
- String[][] result = new String[optionList.size()][5];\r
- for (int i = 0; i < optionList.size(); i++) {\r
- result[i][0] = optionList.get(i)[0];\r
- result[i][1] = optionList.get(i)[1];\r
- result[i][2] = optionList.get(i)[2];\r
- result[i][3] = optionList.get(i)[3];\r
- result[i][4] = optionList.get(i)[4];\r
- }\r
- return result;\r
- }\r
-\r