diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/EfiRomTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/EfiRomTask.java index 763b73f339..ff2be738f7 100644 --- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/EfiRomTask.java +++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/EfiRomTask.java @@ -93,7 +93,7 @@ public class EfiRomTask extends Task implements EfiDefine { /// /// output directory /// - private String outputDir = ""; + private String outputDir = "."; /// diff --git a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FlashMapTask.java b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FlashMapTask.java index 436fd64826..e494e564c8 100644 --- a/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FlashMapTask.java +++ b/Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FlashMapTask.java @@ -117,7 +117,7 @@ public class FlashMapTask extends Task implements EfiDefine { // / // / output directory // / - private String outputDir = ""; + private String outputDir = "."; // / // / MCI file array diff --git a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java index ec2fd1ad2f..1f020b3cc1 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java @@ -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); diff --git a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java index c85cda83e2..39d4d6f2d4 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java +++ b/Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java @@ -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 filesSet = fvs.get(validFv[i].toUpperCase()); + Set 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 diff --git a/Tools/Source/GenBuild/org/tianocore/build/global/GlobalData.java b/Tools/Source/GenBuild/org/tianocore/build/global/GlobalData.java index 101e14f008..18b766dc42 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/global/GlobalData.java +++ b/Tools/Source/GenBuild/org/tianocore/build/global/GlobalData.java @@ -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. diff --git a/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java b/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java index f795e1e521..d5683a0daa 100644 --- a/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java +++ b/Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java @@ -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][];