]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/GenBuild/org/tianocore/build/autogen/AutoGen.java
- Fixed PVCS tracker 484 by merging the GenDll and GenEfi macro in BuildMacro.xml...
[mirror_edk2.git] / Tools / Java / Source / GenBuild / org / tianocore / build / autogen / AutoGen.java
index b7d6ec4e395511997acd6692d79cbeee8dbbcab5..7953f5ce1218516fd9903b33dacc61c5ddca191d 100644 (file)
@@ -120,6 +120,7 @@ public class AutoGen {
     private List<String> exitBootServiceList = new ArrayList<String>();\r
 \r
     private StringBuffer functionDeclarations = new StringBuffer(10240);\r
+    private StringBuffer globalDeclarations = new StringBuffer(10240);\r
 \r
     //\r
     // flag of PcdComponentNameDisable, PcdDriverDiagnosticDisable \r
@@ -384,6 +385,7 @@ public class AutoGen {
             fileBuffer.append(this.myPcdAutogen.getHAutoGenString());\r
         }\r
 \r
+        fileBuffer.append(globalDeclarations);\r
         fileBuffer.append(functionDeclarations);\r
         //\r
         // Append the #endif at AutoGen.h\r
@@ -784,13 +786,13 @@ public class AutoGen {
             if (entryPointList == null ||entryPointList.length != 1 ) {\r
                 throw new AutoGenException("Module type = 'PEI_CORE', can have only one module entry point!");\r
             } else {\r
-                fileBuffer.append("EFI_STATUS\r\n");\r
-                fileBuffer.append("EFIAPI\r\n");\r
-                fileBuffer.append(entryPointList[0]);\r
-                fileBuffer.append(" (\r\n");\r
-                fileBuffer.append("  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor,\r\n");\r
-                fileBuffer.append("  IN VOID                        *OldCoreData\r\n");\r
-                fileBuffer.append("  );\r\n\r\n");\r
+                functionDeclarations.append("EFI_STATUS\r\n");\r
+                functionDeclarations.append("EFIAPI\r\n");\r
+                functionDeclarations.append(entryPointList[0]);\r
+                functionDeclarations.append(" (\r\n");\r
+                functionDeclarations.append("  IN EFI_PEI_STARTUP_DESCRIPTOR  *PeiStartupDescriptor,\r\n");\r
+                functionDeclarations.append("  IN VOID                        *OldCoreData\r\n");\r
+                functionDeclarations.append("  );\r\n\r\n");\r
 \r
                 fileBuffer.append("EFI_STATUS\r\n");\r
                 fileBuffer.append("EFIAPI\r\n");\r
@@ -811,12 +813,12 @@ public class AutoGen {
             if (entryPointList == null || entryPointList.length != 1) {\r
                 throw new AutoGenException("Module type = 'DXE_CORE', can have only one module entry point!");\r
             } else {\r
-                fileBuffer.append("VOID\r\n");\r
-                fileBuffer.append("EFIAPI\r\n");\r
-                fileBuffer.append(entryPointList[0]);\r
-                fileBuffer.append(" (\r\n");\r
-                fileBuffer.append("  IN VOID  *HobStart\r\n");\r
-                fileBuffer.append("  );\r\n\r\n");\r
+                functionDeclarations.append("VOID\r\n");\r
+                functionDeclarations.append("EFIAPI\r\n");\r
+                functionDeclarations.append(entryPointList[0]);\r
+                functionDeclarations.append(" (\r\n");\r
+                functionDeclarations.append("  IN VOID  *HobStart\r\n");\r
+                functionDeclarations.append("  );\r\n\r\n");\r
 \r
                 fileBuffer.append("VOID\r\n");\r
                 fileBuffer.append("EFIAPI\r\n");\r
@@ -847,13 +849,13 @@ public class AutoGen {
                 break;\r
             }\r
             for (int i = 0; i < entryPointList.length; i++) {\r
-                fileBuffer.append("EFI_STATUS\r\n");\r
-                fileBuffer.append("EFIAPI\r\n");\r
-                fileBuffer.append(entryPointList[i]);\r
-                fileBuffer.append(" (\r\n");\r
-                fileBuffer.append("  IN EFI_FFS_FILE_HEADER  *FfsHeader,\r\n");\r
-                fileBuffer.append("  IN EFI_PEI_SERVICES     **PeiServices\r\n");\r
-                fileBuffer.append("  );\r\n");\r
+                functionDeclarations.append("EFI_STATUS\r\n");\r
+                functionDeclarations.append("EFIAPI\r\n");\r
+                functionDeclarations.append(entryPointList[i]);\r
+                functionDeclarations.append(" (\r\n");\r
+                functionDeclarations.append("  IN EFI_FFS_FILE_HEADER  *FfsHeader,\r\n");\r
+                functionDeclarations.append("  IN EFI_PEI_SERVICES     **PeiServices\r\n");\r
+                functionDeclarations.append("  );\r\n");\r
                 entryPointCount++;\r
             }\r
 \r
@@ -913,13 +915,13 @@ public class AutoGen {
 \r
             } else {\r
                 for (int i = 0; i < entryPointList.length; i++) {\r
-                    fileBuffer.append("EFI_STATUS\r\n");\r
-                    fileBuffer.append("EFIAPI\r\n");\r
-                    fileBuffer.append(entryPointList[i]);\r
-                    fileBuffer.append(" (\r\n");\r
-                    fileBuffer.append("  IN EFI_HANDLE        ImageHandle,\r\n");\r
-                    fileBuffer.append("  IN EFI_SYSTEM_TABLE  *SystemTable\r\n");\r
-                    fileBuffer.append("  );\r\n");\r
+                    functionDeclarations.append("EFI_STATUS\r\n");\r
+                    functionDeclarations.append("EFIAPI\r\n");\r
+                    functionDeclarations.append(entryPointList[i]);\r
+                    functionDeclarations.append(" (\r\n");\r
+                    functionDeclarations.append("  IN EFI_HANDLE        ImageHandle,\r\n");\r
+                    functionDeclarations.append("  IN EFI_SYSTEM_TABLE  *SystemTable\r\n");\r
+                    functionDeclarations.append("  );\r\n");\r
                     entryPointCount++;\r
                 }\r
                 fileBuffer.append("GLOBAL_REMOVE_IF_UNREFERENCED  const UINT8  _gDriverEntryPointCount = ");\r
@@ -970,11 +972,11 @@ public class AutoGen {
             unloadImageCount = 0;\r
             if (unloadImageList != null) {\r
                 for (int i = 0; i < unloadImageList.length; i++) {\r
-                    fileBuffer.append("EFI_STATUS\r\n");\r
-                    fileBuffer.append(unloadImageList[i]);\r
-                    fileBuffer.append(" (\r\n");\r
-                    fileBuffer.append("  IN EFI_HANDLE        ImageHandle\r\n");\r
-                    fileBuffer.append("  );\r\n");\r
+                    functionDeclarations.append("EFI_STATUS\r\n");\r
+                    functionDeclarations.append(unloadImageList[i]);\r
+                    functionDeclarations.append(" (\r\n");\r
+                    functionDeclarations.append("  IN EFI_HANDLE        ImageHandle\r\n");\r
+                    functionDeclarations.append("  );\r\n");\r
                     unloadImageCount++;\r
                 }\r
             }\r
@@ -1045,13 +1047,13 @@ public class AutoGen {
 \r
             } else {\r
                 for (int i = 0; i < entryPointList.length; i++) {\r
-                    fileBuffer.append("EFI_STATUS\r\n");\r
-                    fileBuffer.append("EFIAPI\r\n");\r
-                    fileBuffer.append(entryPointList[i]);\r
-                    fileBuffer.append(" (\r\n");\r
-                    fileBuffer.append("  IN EFI_HANDLE        ImageHandle,\r\n");\r
-                    fileBuffer.append("  IN EFI_SYSTEM_TABLE  *SystemTable\r\n");\r
-                    fileBuffer.append("  );\r\n");\r
+                    functionDeclarations.append("EFI_STATUS\r\n");\r
+                    functionDeclarations.append("EFIAPI\r\n");\r
+                    functionDeclarations.append(entryPointList[i]);\r
+                    functionDeclarations.append(" (\r\n");\r
+                    functionDeclarations.append("  IN EFI_HANDLE        ImageHandle,\r\n");\r
+                    functionDeclarations.append("  IN EFI_SYSTEM_TABLE  *SystemTable\r\n");\r
+                    functionDeclarations.append("  );\r\n");\r
                     entryPointCount++;\r
                 }\r
 \r
@@ -1105,8 +1107,7 @@ public class AutoGen {
                     fileBuffer.append("  if (EFI_ERROR (Status)) {\r\n");\r
                     fileBuffer.append("    ProcessLibraryDestructorList (gImageHandle, gST);\r\n");\r
                     fileBuffer.append("  }\r\n");\r
-                    fileBuffer\r
-                    .append("  gBS->Exit (gImageHandle, Status, 0, NULL);\r\n");\r
+                    fileBuffer.append("  gBS->Exit (gImageHandle, Status, 0, NULL);\r\n");\r
                 } else {\r
                     fileBuffer.append("  if (!EFI_ERROR (Status) || EFI_ERROR (mDriverEntryPointStatus)) {\r\n");\r
                     fileBuffer.append("    mDriverEntryPointStatus = Status;\r\n");\r
@@ -1129,12 +1130,12 @@ public class AutoGen {
             unloadImageCount = 0;\r
             if (unloadImageList != null) {\r
                 for (int i = 0; i < unloadImageList.length; i++) {\r
-                    fileBuffer.append("EFI_STATUS\r\n");\r
-                    fileBuffer.append("EFIAPI\r\n");\r
-                    fileBuffer.append(unloadImageList[i]);\r
-                    fileBuffer.append(" (\r\n");\r
-                    fileBuffer.append("  IN EFI_HANDLE        ImageHandle\r\n");\r
-                    fileBuffer.append("  );\r\n");\r
+                    functionDeclarations.append("EFI_STATUS\r\n");\r
+                    functionDeclarations.append("EFIAPI\r\n");\r
+                    functionDeclarations.append(unloadImageList[i]);\r
+                    functionDeclarations.append(" (\r\n");\r
+                    functionDeclarations.append("  IN EFI_HANDLE        ImageHandle\r\n");\r
+                    functionDeclarations.append("  );\r\n");\r
                     unloadImageCount++;\r
                 }\r
             }\r
@@ -1589,8 +1590,7 @@ public class AutoGen {
         case CommonDefinition.ModuleTypePeiCore:\r
         case CommonDefinition.ModuleTypePeim:\r
             fileBuffer.append("  IN EFI_FFS_FILE_HEADER       *FfsHeader,\r\n");\r
-            fileBuffer\r
-            .append("  IN EFI_PEI_SERVICES          **PeiServices\r\n");\r
+            fileBuffer.append("  IN EFI_PEI_SERVICES          **PeiServices\r\n");\r
             break;\r
 \r
         case CommonDefinition.ModuleTypeDxeCore:\r
@@ -1798,9 +1798,9 @@ public class AutoGen {
         //\r
         for (int i = 0; i < driverBindingGroup.length; i++) {\r
             if (driverBindingGroup[i][0] != null) {\r
-                fileBuffer.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
-                fileBuffer.append(driverBindingGroup[i][0]);\r
-                fileBuffer.append(";\r\n");\r
+                globalDeclarations.append("extern EFI_DRIVER_BINDING_PROTOCOL ");\r
+                globalDeclarations.append(driverBindingGroup[i][0]);\r
+                globalDeclarations.append(";\r\n");\r
             }\r
         }\r
 \r
@@ -1812,9 +1812,9 @@ public class AutoGen {
                 if (driverBindingGroup[i][1]!= null) {\r
                     if (driverBindingGroup[i][0] != null) {\r
                         BitMask |= 0x01;\r
-                        fileBuffer.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
-                        fileBuffer.append(driverBindingGroup[i][1]);\r
-                        fileBuffer.append(";\r\n");\r
+                        globalDeclarations.append("extern EFI_COMPONENT_NAME_PROTOCOL ");\r
+                        globalDeclarations.append(driverBindingGroup[i][1]);\r
+                        globalDeclarations.append(";\r\n");\r
                     } else {\r
                         throw new AutoGenException("DriverBinding can't be empty!!");\r
                     }\r
@@ -1829,9 +1829,9 @@ public class AutoGen {
             if (driverBindingGroup[i][2] != null) {\r
                 if (driverBindingGroup[i][0] != null) {\r
                     BitMask |= 0x02;\r
-                    fileBuffer.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
-                    fileBuffer.append(driverBindingGroup[i][2]);\r
-                    fileBuffer.append(";\r\n");\r
+                    globalDeclarations.append("extern EFI_DRIVER_CONFIGURATION_PROTOCOL ");\r
+                    globalDeclarations.append(driverBindingGroup[i][2]);\r
+                    globalDeclarations.append(";\r\n");\r
                 } else {\r
                     throw new AutoGenException("DriverBinding can't be empty!!");\r
                 }\r
@@ -1846,9 +1846,9 @@ public class AutoGen {
                 if (driverBindingGroup[i][3] != null) {\r
                     if (driverBindingGroup[i][0] != null) {\r
                         BitMask |= 0x04;\r
-                        fileBuffer.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
-                        fileBuffer.append(driverBindingGroup[i][3]);\r
-                        fileBuffer.append(";\r\n");\r
+                        globalDeclarations.append("extern EFI_DRIVER_DIAGNOSTICS_PROTOCOL ");\r
+                        globalDeclarations.append(driverBindingGroup[i][3]);\r
+                        globalDeclarations.append(";\r\n");\r
                     } else {\r
                         throw new AutoGenException("DriverBinding can't be empty!!");\r
                     }\r