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 763b73f339943efb2bd83a096b733f6d4b8acaf1..ff2be738f7ddf70014606bf46cfce3017ed807e4 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 436fd6482659897d23d28467723e46210c60f76d..e494e564c835f94094a8e58948cf629dd241c48f 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 ec2fd1ad2f167f17156bc8920d6fbba7876077a4..1f020b3cc15df0b17b2d66dd247f1901a25b8f4c 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 c85cda83e2ba662d705faa5798775dc0622a33d8..39d4d6f2d4bb45bcc4bf7962030175cbd2fa7f73 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 101e14f0080b7dfdd55fb321df51c1c5aa9ab925..18b766dc422967284e08ade8e70d6bce04334464 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 f795e1e5212d583d6611bcb9f0eb28684324ae11..d5683a0daa06c1d16aef2f4cd027b01ef93ed26b 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