]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Use the address of guid array as parameter directly for _PCD_MODE_xx macro for Dynami...
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 21 Jun 2006 03:36:00 +0000 (03:36 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 21 Jun 2006 03:36:00 +0000 (03:36 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@582 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/GenBuild/org/tianocore/build/pcd/action/PCDAutoGenAction.java
Tools/Source/GenBuild/org/tianocore/build/pcd/entity/UsageInstance.java

index dd33b540c1ffd3b70144ab50c9b4be5bff656450..fdf90b620c876b41bf7fdac8b8c7c60b4d1bb968 100644 (file)
@@ -339,19 +339,22 @@ public class PCDAutoGenAction extends BuildAction {
                                                     (guidStringArray[4].substring(6, 8)),\r
                                                     (guidStringArray[4].substring(8, 10)),\r
                                                     (guidStringArray[4].substring(10, 12)));\r
-                    if (!isBuildUsedLibrary) {\r
-                        Pattern pattern = Pattern.compile("(" + guidStringCName + ")+?");\r
-                        Matcher matcher = pattern.matcher(cAutoGenString + " ");\r
-                        //\r
-                        // Find whether this guid array variable has been generated into autogen.c\r
-                        // For different DyanmicEx pcd token who use same token space guid, the token space\r
-                        // guid array should be only generated once.\r
-                        // \r
-                        if (!matcher.find()) {\r
+                    \r
+                    Pattern pattern = Pattern.compile("(" + guidStringCName + ")+?");\r
+                    Matcher matcher = pattern.matcher(cAutoGenString + " ");\r
+                    //\r
+                    // Find whether this guid array variable has been generated into autogen.c\r
+                    // For different DyanmicEx pcd token who use same token space guid, the token space\r
+                    // guid array should be only generated once.\r
+                    // \r
+                    if (!matcher.find()) {\r
+                        hAutoGenString += String.format("extern EFI_GUID %s;\r\n",\r
+                                                        guidStringCName);\r
+                        if (!isBuildUsedLibrary) {\r
                             cAutoGenString += String.format("GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID %s = %s;\r\n",\r
                                                             guidStringCName,\r
                                                             guidString);\r
-                        }\r
+                        } \r
                     }\r
                 }\r
 \r
index cfbdb1e14960a27df4ca1ff17db7ac5d4fca79dc..2769d497f70d75e0e9831b64857fa38e3d571210 100644 (file)
@@ -200,7 +200,7 @@ public class UsageInstance {
        @param isBuildUsedLibrary  whether the autogen is for library.\r
      */\r
     public void generateAutoGen(boolean isBuildUsedLibrary) \r
-    throws EntityException {\r
+        throws EntityException {\r
         String  guidStringCName  = null;\r
         boolean isByteArray      = false;\r
         String  printDatum       = null;\r
@@ -340,20 +340,13 @@ public class UsageInstance {
             guidStringCName = "_gPcd_TokenSpaceGuid_" +\r
                               parentToken.tokenSpaceName.toString().replaceAll("-", "_");\r
                                             \r
-            hAutogenStr += String.format("extern const EFI_GUID *_gPcd_DynamicEx_TokenSpaceGuid_%s;\r\n",\r
-                                         parentToken.cName);\r
-            hAutogenStr += String.format("#define _PCD_MODE_%s_%s LibPcdGetEx%s(_gPcd_DynamicEx_TokenSpaceGuid_%s, _PCD_TOKEN_%s)\r\n",\r
+            hAutogenStr += String.format("#define _PCD_MODE_%s_%s LibPcdGetEx%s(&%s, _PCD_TOKEN_%s)\r\n",\r
                                          Token.GetAutogenDefinedatumTypeString(parentToken.datumType),\r
                                          parentToken.cName,\r
                                          Token.getAutogenLibrarydatumTypeString(parentToken.datumType),\r
-                                         parentToken.cName,\r
+                                         guidStringCName,\r
                                          parentToken.cName);\r
 \r
-            if (!isBuildUsedLibrary) {\r
-                cAutogenStr += String.format("GLOBAL_REMOVE_IF_UNREFERENCED const EFI_GUID *_gPcd_DynamicEx_TokenSpaceGuid_%s = &%s;\r\n",\r
-                                             parentToken.cName,\r
-                                             guidStringCName);\r
-            }\r
             break;\r
         }\r
     }\r