a) Fixed the issue that the unnecessary build for not specified ARCH in single module...
authorjwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 20 Jul 2006 10:40:46 +0000 (10:40 +0000)
committerjwang36 <jwang36@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 20 Jul 2006 10:40:46 +0000 (10:40 +0000)
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

Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/EfiRomTask.java
Tools/Source/FrameworkTasks/org/tianocore/framework/tasks/FlashMapTask.java
Tools/Source/GenBuild/org/tianocore/build/GenBuildTask.java
Tools/Source/GenBuild/org/tianocore/build/fpd/FpdParserTask.java
Tools/Source/GenBuild/org/tianocore/build/global/GlobalData.java
Tools/Source/GenBuild/org/tianocore/build/global/SurfaceAreaQuery.java

index 763b73f..ff2be73 100644 (file)
@@ -93,7 +93,7 @@ public class EfiRomTask extends Task implements EfiDefine {
     ///\r
     /// output directory\r
     ///\r
-    private String outputDir = "";\r
+    private String outputDir = ".";\r
  \r
     \r
     ///\r
index 436fd64..e494e56 100644 (file)
@@ -117,7 +117,7 @@ public class FlashMapTask extends Task implements EfiDefine {
     // /\r
     // / output directory\r
     // /\r
-    private String outputDir = "";\r
+    private String outputDir = ".";\r
 \r
     // /\r
     // / MCI file array\r
index ec2fd1a..1f020b3 100644 (file)
@@ -240,8 +240,9 @@ public class GenBuildTask extends Ant {
             //\r
             // Whether the module is built before\r
             //\r
-            if (GlobalData.isModuleBuilt(fpdModuleId)) {\r
-                return ;\r
+            if ((moduleId.isLibrary() == false && GlobalData.hasFpdModuleSA(fpdModuleId) == false) \r
+                || GlobalData.isModuleBuilt(fpdModuleId)) {\r
+                continue;\r
             }\r
             else {\r
                 GlobalData.registerBuiltModule(fpdModuleId);\r
index c85cda8..39d4d6f 100644 (file)
@@ -220,9 +220,9 @@ public class FpdParserTask extends Task {
                 getProject().setProperty(globalVariables[j][0], globalVariables[j][1]);\r
             }\r
 \r
-            getProject().setProperty("FV_FILENAME", validFv[i].toUpperCase());\r
+            getProject().setProperty("FV_FILENAME", validFv[i]);\r
             \r
-            File fvFile = new File(getProject().replaceProperties( getProject().getProperty("FV_DIR") + File.separatorChar + validFv[i].toUpperCase() + ".inf"));\r
+            File fvFile = new File(getProject().replaceProperties( getProject().getProperty("FV_DIR") + File.separatorChar + validFv[i] + ".inf"));\r
             fvFile.getParentFile().mkdirs();\r
 \r
             try {\r
@@ -295,7 +295,7 @@ public class FpdParserTask extends Task {
                 //\r
                 // Files\r
                 //\r
-                Set<FpdModuleIdentification> filesSet = fvs.get(validFv[i].toUpperCase());\r
+                Set<FpdModuleIdentification> filesSet = fvs.get(validFv[i]);\r
                 if (filesSet != null) {\r
                     FpdModuleIdentification[] files = filesSet.toArray(new FpdModuleIdentification[filesSet.size()]);\r
                     bw.write("[files]");\r
@@ -503,8 +503,7 @@ public class FpdParserTask extends Task {
         if (fvName == null || fvName.trim().length() == 0) {\r
             fvName = "NULL";\r
         }\r
-        String upcaseFvName = fvName.toUpperCase();\r
-        String[] fvNameArray = upcaseFvName.split("[, \t]+");\r
+        String[] fvNameArray = fvName.split("[, \t]+");\r
         for (int i = 0; i < fvNameArray.length; i++) {\r
             //\r
             // Put module to corresponding fvName\r
index 101e14f..18b766d 100644 (file)
@@ -315,7 +315,11 @@ public class GlobalData {
         }\r
         fpdModuleSA.put(fpdModuleId, result);\r
     }\r
-    \r
+\r
+    public synchronized static boolean hasFpdModuleSA(FpdModuleIdentification fpdModuleId) {\r
+        return fpdModuleSA.containsKey(fpdModuleId);\r
+    }\r
+\r
     /**\r
       Query overrided module surface area information. If current is Package\r
       or Platform build, also include the information from FPD file. \r
index f795e1e..d5683a0 100644 (file)
@@ -1425,7 +1425,7 @@ public class SurfaceAreaQuery {
      */\r
     public static String[][] getFpdOptions(String fvName) {\r
            String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Options' and ./FvImageNames='"\r
-                      + fvName.toUpperCase() + "']/FvImageOptions" };\r
+                      + fvName + "']/FvImageOptions" };\r
            Object[] queryResult = get("PlatformSurfaceArea", xPath);\r
            if (queryResult == null) {\r
                  return new String[0][];\r
@@ -1493,7 +1493,7 @@ public class SurfaceAreaQuery {
      */\r
     public static String[][] getFpdAttributes(String fvName) {\r
         String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Attributes' and ./FvImageNames='"\r
-                         + fvName.toUpperCase() + "']/FvImageOptions" };\r
+                         + fvName + "']/FvImageOptions" };\r
         Object[] queryResult = get("PlatformSurfaceArea", xPath);\r
         if (queryResult == null) {\r
              return new String[0][];\r
@@ -1563,7 +1563,7 @@ public class SurfaceAreaQuery {
      * @returns empty list if nothing is there\r
      */\r
     public static String[][] getFpdComponents(String fvName) {\r
-        String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Components' and ./FvImageNames='"+ fvName.toUpperCase() + "']/FvImageOptions" };\r
+        String[] xPath = new String[] { "/Flash/FvImages/FvImage[@Type='Components' and ./FvImageNames='"+ fvName + "']/FvImageOptions" };\r
         Object[] queryResult = get("PlatformSurfaceArea", xPath);\r
         if (queryResult == null) {\r
             return new String[0][];\r