]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/MigrationTools/org/tianocore/migration/MsaWriter.java
re
[mirror_edk2.git] / Tools / Source / MigrationTools / org / tianocore / migration / MsaWriter.java
index 62de225b5c48f5b77cfae9fb9982d57087dd9afa..2da3c98a23d79a659aba97d1ea90cea90e8854ab 100644 (file)
@@ -19,13 +19,13 @@ import org.tianocore.*;
 import org.tianocore.SupportedArchitectures.Enum;\r
 import org.apache.xmlbeans.*;\r
 \r
-public class MsaWriter {\r
-    MsaWriter(ModuleInfo moduleinfo) {\r
-        mi = moduleinfo;\r
-    }\r
-\r
+public class MsaWriter implements MsaOwner {\r
+       MsaWriter(ModuleInfo moduleinfo) {\r
+               mi = moduleinfo;\r
+               //msadoc = mi.msadoc;\r
+       }\r
+       \r
     private ModuleInfo mi;\r
-    \r
     private ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.newInstance();\r
     \r
     private ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = msadoc.addNewModuleSurfaceArea();\r
@@ -88,13 +88,6 @@ public class MsaWriter {
         msaheader.setGuidValue(mi.guidvalue);\r
         if (mi.moduletype != null) {\r
             msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.getModuleType()));\r
-            /*\r
-            if (mi.moduletype.contains("PEI")) {\r
-                msaheader.setModuleType(ModuleTypeDef.Enum.forString("PEIM"));\r
-            } else {\r
-                msaheader.setModuleType(ModuleTypeDef.Enum.forString("DXE_DRIVER"));\r
-            }\r
-            */\r
         } else {\r
             msaheader.setModuleType(ModuleTypeDef.Enum.forString(mi.moduletype = Query("Guid Value Not Found!  Please Input Guid Value")));\r
         }\r
@@ -126,8 +119,16 @@ public class MsaWriter {
         pd.addNewPackage().setPackageGuid("68169ab0-d41b-4009-9060-292c253ac43d");\r
         externs.addNewSpecification().setStringValue("EFI_SPECIFICATION_VERSION 0x00020000");\r
         externs.addNewSpecification().setStringValue("EDK_RELEASE_VERSION 0x00020000");\r
-        externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
-        \r
+        if (mi.entrypoint != null) {\r
+          externs.addNewExtern().setModuleEntryPoint(mi.entrypoint);\r
+          org.tianocore.ModuleTypeDef.Enum moduleType = msaheader.getModuleType();\r
+          if (moduleType == ModuleTypeDef.PEIM) {\r
+              mi.hashrequiredr9libs.add("PeimEntryPoint");\r
+          } else {\r
+              mi.hashrequiredr9libs.add("UefiDriverEntryPoint");\r
+          }\r
+        }\r
+       \r
         it = mi.localmodulesources.iterator();\r
         while (it.hasNext()) {\r
             addSourceFiles(it.next());\r
@@ -167,7 +168,7 @@ public class MsaWriter {
         }\r
         it = mi.hashrequiredr9libs.iterator();\r
         while (it.hasNext()) {\r
-            if ((temp = it.next()) != null && !temp.matches("%")) {\r
+            if ((temp = it.next()) != null && !temp.matches("%") && !temp.matches("n/a")) {\r
                 LibraryClassDocument.LibraryClass lc = libclassdefs.addNewLibraryClass();\r
                 lc.setKeyword(temp);\r
                 lc.setUsage(UsageTypes.ALWAYS_CONSUMED);\r
@@ -206,6 +207,14 @@ public class MsaWriter {
         bw.close();\r
     }\r
     \r
+    //---------------------------MsaOwner---------------------------------//\r
+       \r
+       public void addSourceFiles(String filename, int arch) {\r
+               \r
+       }\r
+\r
+    //---------------------------MsaOwner---------------------------------//\r
+    \r
     public static final void parse(String msafile) throws Exception {\r
         ModuleSurfaceAreaDocument msadoc = ModuleSurfaceAreaDocument.Factory.parse(msafile);\r
         flush("c:\\temp.msa", msadoc);\r