]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Remove the special case handling of EfiInitializeDriverLib & DxeIntializeDriverLib
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 11 Sep 2006 09:53:28 +0000 (09:53 +0000)
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 11 Sep 2006 09:53:28 +0000 (09:53 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1511 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Conf/Migration/Library.csv
Tools/Source/MigrationTools/org/tianocore/migration/Common.java
Tools/Source/MigrationTools/org/tianocore/migration/SourceFileReplacer.java

index 2e3195af962fdc45238cf9f9450da4493b56825f..045a3cfad000033fbad76b5fbd5b70c940f9b5c4 100644 (file)
@@ -2,8 +2,6 @@ R8.5LibClass,R8.5Lib,R9Lib,R9LibClass,Package
 EfiDriverLib,EfiCopyMem,CopyMem,BaseMemoryLib,MdePkg\r
 EfiDriverLib,EfiSetMem,SetMem,BaseMemoryLib,MdePkg\r
 EfiDriverLib,EfiZeroMem,ZeroMem,BaseMemoryLib,MdePkg\r
-EfiDriverLib,EfiInitializeDriverLib,//EfiInitializeDriverLib,UefiBootServicesTableLib; UefiRuntimeServicesTableLib,MdePkg\r
-EfiDriverLib,DxeInitializeDriverLib,//DxeInitializeDriverLib,UefiBootServicesTableLib; UefiRuntimeServicesTableLib; DxeServicesTableLib,MdePkg\r
 EfiDriverLib,EfiLibInstallDriverBinding,R8_EfiLibInstallDriverBinding,%,MdePkg\r
 EfiDriverLib,EfiLibInstallAllDriverProtocols,R8_EfiLibInstallAllDriverProtocols,%,MdePkg\r
 EfiDriverLib,EfiLibCompareLanguage,R8_EfiLibCompareLanguage,%,MdePkg\r
index 23e2319dcf41f2e6da6992dfafb0abb058ba1d03..2f10521238c739f6df55cc155c9745a2a2560062 100644 (file)
@@ -37,6 +37,11 @@ public final class Common {
         return line;\r
     }\r
 \r
+    public static final boolean find (String line, String regex) {\r
+        Pattern ptn = Pattern.compile(regex);\r
+\r
+        return ptn.matcher (line).find (); \r
+    }\r
     //-------------------------------------regex------------------------------------------//\r
     \r
     //-----------------------------------file&string---------------------------------------//\r
index 3238e29df9397241f96a0f8dcaa762b0470e2e6d..446c5e44268c15b58967c8540157733128935f25 100644 (file)
@@ -89,27 +89,20 @@ public final class SourceFileReplacer implements Common.ForDoAll {
         public  String operation(String wholeline) {\r
             boolean addr8 = false;\r
 \r
-            Pattern pat = Pattern.compile("g?(BS|RT)(\\s*->\\s*)([a-zA-Z_]\\w*)", Pattern.MULTILINE);                    // ! only two level () bracket allowed !\r
-            //Pattern ptnpei = Pattern.compile("\\(\\*\\*?PeiServices\\)[.-][>]?\\s*(\\w*[#$]*)(\\s*\\(([^\\(\\)]*(\\([^\\(\\)]*\\))?[^\\(\\)]*)*\\))", Pattern.MULTILINE);\r
-\r
-            // replace BS -> gBS , RT -> gRT\r
-            Matcher mat = pat.matcher(wholeline);\r
-            if (mat.find()) {                                                // add a library here\r
-                MigrationTool.ui.println("Converting all BS->gBS, RT->gRT");\r
-                wholeline = mat.replaceAll("g$1$2$3");                            //unknown correctiveness\r
-            }\r
-            mat.reset();\r
-            while (mat.find()) {\r
-                if (mat.group(1).matches("BS")) {\r
-                    mi.hashrequiredr9libs.add("UefiBootServicesTableLib");\r
-                }\r
-                if (mat.group(1).matches("RT")) {\r
-                    mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib");\r
-                }\r
-            }\r
             // remove EFI_DRIVER_ENTRY_POINT\r
             wholeline = wholeline.replaceAll("(EFI_\\w+_ENTRY_POINT)", MigrationTool.MIGRATIONCOMMENT + " $1");\r
-            \r
+            // remove R8 library contractor\r
+            wholeline = wholeline.replaceAll ("(\\b(?:Efi|Dxe)InitializeDriverLib\\b)", MigrationTool.MIGRATIONCOMMENT + " $1");\r
+            // Add Library Class for potential reference of gBS, gRT & gDS.\r
+            if (Common.find (wholeline, "\\bg?BS\\b")) {\r
+                mi.hashrequiredr9libs.add("UefiBootServicesTableLib");\r
+            }\r
+            if (Common.find (wholeline, "\\bg?RT\\b")) {\r
+                mi.hashrequiredr9libs.add ("UefiRuntimeServicesTableLib");\r
+            }\r
+            if (Common.find (wholeline, "\\bgDS\\b")) {\r
+                mi.hashrequiredr9libs.add ("DxeServicesTableLib");\r
+            }\r
             // start replacing names\r
             String r8thing;\r
             String r9thing;\r
@@ -118,17 +111,8 @@ public final class SourceFileReplacer implements Common.ForDoAll {
             it = mi.hashnonlocalfunc.iterator();\r
             while (it.hasNext()) {\r
                 r8thing = it.next();\r
-                if (r8thing.matches("EfiInitializeDriverLib")) {                    //s\r
-                    mi.hashrequiredr9libs.add("UefiBootServicesTableLib");            //p\r
-                    mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib");        //e\r
-                } else if (r8thing.matches("DxeInitializeDriverLib")) {                //c\r
-                    mi.hashrequiredr9libs.add("UefiBootServicesTableLib");            //i\r
-                    mi.hashrequiredr9libs.add("UefiRuntimeServicesTableLib");        //a\r
-                    mi.hashrequiredr9libs.add("DxeServicesTableLib");                //l\r
-                } else {                                                            //\r
-                    mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing));                // add a library here\r
-                }\r
-\r
+                mi.hashrequiredr9libs.add(MigrationTool.db.getR9Lib(r8thing));                // add a library here\r
\r
                 r8tor9 temp;\r
                 if ((r9thing = MigrationTool.db.getR9Func(r8thing)) != null) {\r
                     if (!r8thing.equals(r9thing)) {\r