String toolchainFamily = null;\r
List<String> archList = null;\r
String cmd = null;\r
- String targetName = null;\r
String optionName = null;\r
\r
Object[] returns = get(from, xPath);\r
* xpath\r
* @returns null if nothing is there\r
*/\r
- public static String[] getLibraryClasses(String usage) {\r
+ public static String[] getLibraryClasses(String usage, String arch) {\r
String[] xPath;\r
-\r
if (usage == null || usage.equals("")) {\r
xPath = new String[] { "/LibraryClass" };\r
} else {\r
}\r
\r
LibraryClassDocument.LibraryClass[] libraryClassList = (LibraryClassDocument.LibraryClass[]) returns;\r
- String[] libraryClassName = new String[libraryClassList.length];\r
+ List<String> libraryClassName = new ArrayList<String>();\r
for (int i = 0; i < libraryClassList.length; i++) {\r
- libraryClassName[i] = libraryClassList[i].getKeyword();\r
+ List archList = libraryClassList[i].getSupArchList();\r
+ \r
+ if (arch == null || contains(archList, arch)) {\r
+ libraryClassName.add(libraryClassList[i].getKeyword());\r
+ }\r
}\r
- return libraryClassName;\r
+ String[] libraryArray = new String[libraryClassName.size()];\r
+ for (int i = 0; i < libraryClassName.size(); i++) {\r
+ libraryArray[i] = libraryClassName.get(i);\r
+ }\r
+ return libraryArray;\r
}\r
\r
/**\r
return result;\r
}\r
\r
- public static Node getFpdUserExtension() {\r
- String[] xPath = new String[] { "/UserExtensions[@UserID='TianoCore']" }; \r
+ public static Node getFpdUserExtensionPreBuild() {\r
+ String[] xPath = new String[] { "/UserExtensions[@UserID='TianoCore' and @Identifier='0']" }; \r
+\r
+ Object[] queryResult = get("PlatformSurfaceArea", xPath);\r
+ if (queryResult == null || queryResult.length == 0) {\r
+ return null;\r
+ }\r
+ UserExtensionsDocument.UserExtensions a = (UserExtensionsDocument.UserExtensions)queryResult[0];\r
+ \r
+ return a.getDomNode();\r
+ }\r
+ \r
+ public static Node getFpdUserExtensionPostBuild() {\r
+ String[] xPath = new String[] { "/UserExtensions[@UserID='TianoCore' and @Identifier='1']" }; \r
\r
Object[] queryResult = get("PlatformSurfaceArea", xPath);\r
if (queryResult == null || queryResult.length == 0) {\r
@return boolean\r
**/\r
public static boolean contains(List list, String str) {\r
+ if (list == null || list.size()== 0) {\r
+ return true;\r
+ }\r
Iterator it = list.iterator();\r
while (it.hasNext()) {\r
String s = (String)it.next();\r