a) Fixed the issue that the unnecessary build for not specified ARCH in single module build

b) Fixed the issue that mixed case of FV name will cause invalid inf file generation
c) Fixed the issue that not specified outputDir will cause tool (flashmap, efirom) cannot be launched 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1056 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jwang36 2006-07-20 10:40:46 +00:00
parent 0647c9adf9
commit 57cc2ee710
6 changed files with 17 additions and 13 deletions

View File

@ -93,7 +93,7 @@ public class EfiRomTask extends Task implements EfiDefine {
///
/// output directory
///
private String outputDir = "";
private String outputDir = ".";
///

View File

@ -117,7 +117,7 @@ public class FlashMapTask extends Task implements EfiDefine {
// /
// / output directory
// /
private String outputDir = "";
private String outputDir = ".";
// /
// / MCI file array

View File

@ -240,8 +240,9 @@ public class GenBuildTask extends Ant {
//
// Whether the module is built before
//
if (GlobalData.isModuleBuilt(fpdModuleId)) {
return ;
if ((moduleId.isLibrary() == false && GlobalData.hasFpdModuleSA(fpdModuleId) == false)
|| GlobalData.isModuleBuilt(fpdModuleId)) {
continue;
}
else {
GlobalData.registerBuiltModule(fpdModuleId);

View File

@ -220,9 +220,9 @@ public class FpdParserTask extends Task {
getProject().setProperty(globalVariables[j][0], globalVariables[j][1]);
}
getProject().setProperty("FV_FILENAME", validFv[i].toUpperCase());
getProject().setProperty("FV_FILENAME", validFv[i]);
File fvFile = new File(getProject().replaceProperties( getProject().getProperty("FV_DIR") + File.separatorChar + validFv[i].toUpperCase() + ".inf"));
File fvFile = new File(getProject().replaceProperties( getProject().getProperty("FV_DIR") + File.separatorChar + validFv[i] + ".inf"));
fvFile.getParentFile().mkdirs();
try {
@ -295,7 +295,7 @@ public class FpdParserTask extends Task {
//
// Files
//
Set<FpdModuleIdentification> filesSet = fvs.get(validFv[i].toUpperCase());
Set<FpdModuleIdentification> filesSet = fvs.get(validFv[i]);
if (filesSet != null) {
FpdModuleIdentification[] files = filesSet.toArray(new FpdModuleIdentification[filesSet.size()]);
bw.write("[files]");
@ -503,8 +503,7 @@ public class FpdParserTask extends Task {
if (fvName == null || fvName.trim().length() == 0) {
fvName = "NULL";
}
String upcaseFvName = fvName.toUpperCase();
String[] fvNameArray = upcaseFvName.split("[, \t]+");
String[] fvNameArray = fvName.split("[, \t]+");
for (int i = 0; i < fvNameArray.length; i++) {
//
// Put module to corresponding fvName

View File

@ -315,7 +315,11 @@ public class GlobalData {
}
fpdModuleSA.put(fpdModuleId, result);
}
public synchronized static boolean hasFpdModuleSA(FpdModuleIdentification fpdModuleId) {
return fpdModuleSA.containsKey(fpdModuleId);
}
/**
Query overrided module surface area information. If current is Package
or Platform build, also include the information from FPD file.

View File

@ -1425,7 +1425,7 @@ public class SurfaceAreaQuery {
*/
public static String[][] getFpdOptions(String fvName) {
String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Options' and ./FvImageNames='"
+ fvName.toUpperCase() + "']/FvImageOptions" };
+ fvName + "']/FvImageOptions" };
Object[] queryResult = get("PlatformSurfaceArea", xPath);
if (queryResult == null) {
return new String[0][];
@ -1493,7 +1493,7 @@ public class SurfaceAreaQuery {
*/
public static String[][] getFpdAttributes(String fvName) {
String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Attributes' and ./FvImageNames='"
+ fvName.toUpperCase() + "']/FvImageOptions" };
+ fvName + "']/FvImageOptions" };
Object[] queryResult = get("PlatformSurfaceArea", xPath);
if (queryResult == null) {
return new String[0][];
@ -1563,7 +1563,7 @@ public class SurfaceAreaQuery {
* @returns empty list if nothing is there
*/
public static String[][] getFpdComponents(String fvName) {
String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Components' and ./FvImageNames='"+ fvName.toUpperCase() + "']/FvImageOptions" };
String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Components' and ./FvImageNames='"+ fvName + "']/FvImageOptions" };
Object[] queryResult = get("PlatformSurfaceArea", xPath);
if (queryResult == null) {
return new String[0][];