mirror of https://github.com/acidanthera/audk.git
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:
parent
0647c9adf9
commit
57cc2ee710
|
@ -93,7 +93,7 @@ public class EfiRomTask extends Task implements EfiDefine {
|
|||
///
|
||||
/// output directory
|
||||
///
|
||||
private String outputDir = "";
|
||||
private String outputDir = ".";
|
||||
|
||||
|
||||
///
|
||||
|
|
|
@ -117,7 +117,7 @@ public class FlashMapTask extends Task implements EfiDefine {
|
|||
// /
|
||||
// / output directory
|
||||
// /
|
||||
private String outputDir = "";
|
||||
private String outputDir = ".";
|
||||
|
||||
// /
|
||||
// / MCI file array
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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][];
|
||||
|
|
Loading…
Reference in New Issue