]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/build/BuildReport.py
Sync EDKII BaseTools to BaseTools project r1928
[mirror_edk2.git] / BaseTools / Source / Python / build / BuildReport.py
index eac21d14950de27b0ecff7482a6a255d4f1124e5..f805aae5ca1b637cb7af007e70c298cb82bbe504 100644 (file)
@@ -221,7 +221,7 @@ class LibraryReport(object):
                         EdkIILibInfo += " C = " + LibConstructor\r
                     LibDestructor = " ".join(LibraryItem[3])\r
                     if LibDestructor:\r
-                        EdkIILibInfo += " D = " + LibConstructor\r
+                        EdkIILibInfo += " D = " + LibDestructor\r
                     LibDepex = " ".join(LibraryItem[4])\r
                     if LibDepex:\r
                         EdkIILibInfo += " Depex = " + LibDepex\r
@@ -255,7 +255,8 @@ class DepexReport(object):
         ModuleType = M.ModuleType\r
         if not ModuleType:\r
             ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")\r
-        if ModuleType in ["SEC", "PEI_CORE", "DXE_CORE"]:\r
+\r
+        if ModuleType in ["SEC", "PEI_CORE", "DXE_CORE", "SMM_CORE", "UEFI_APPLICATION"]:\r
             return\r
       \r
         for Source in M.SourceFileList:\r
@@ -404,17 +405,18 @@ class ModuleReport(object):
         self.Size = 0\r
         self.BuildTimeStamp = None\r
         self.DriverType = ""\r
-        ModuleType = M.ModuleType\r
-        if not ModuleType:\r
-            ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")\r
-        #\r
-        # If a module complies to PI 1.1, promote Module type to "SMM_DRIVER"\r
-        #\r
-        if ModuleType == "DXE_SMM_DRIVER":\r
-            PiSpec =  M.Module.Specification.get("PI_SPECIFICATION_VERSION", "0x00010000")\r
-            if int(PiSpec, 0) >= 0x0001000A:\r
-                ModuleType = "SMM_DRIVER"\r
-        self.DriverType = gDriverTypeMap.get(ModuleType, "")\r
+        if not M.IsLibrary:\r
+            ModuleType = M.ModuleType\r
+            if not ModuleType:\r
+                ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")\r
+            #\r
+            # If a module complies to PI 1.1, promote Module type to "SMM_DRIVER"\r
+            #\r
+            if ModuleType == "DXE_SMM_DRIVER":\r
+                PiSpec =  M.Module.Specification.get("PI_SPECIFICATION_VERSION", "0x00010000")\r
+                if int(PiSpec, 0) >= 0x0001000A:\r
+                    ModuleType = "SMM_DRIVER"\r
+            self.DriverType = gDriverTypeMap.get(ModuleType, "0x2 (FREE_FORM)")\r
         self.UefiSpecVersion = M.Module.Specification.get("UEFI_SPECIFICATION_VERSION", "")\r
         self.PiSpecVersion = M.Module.Specification.get("PI_SPECIFICATION_VERSION", "")\r
         self.PciDeviceId = M.Module.Defines.get("PCI_DEVICE_ID", "")\r
@@ -1310,9 +1312,11 @@ class PlatformReport(object):
 \r
         self.ModuleReportList = []\r
         if MaList != None:\r
+            self._IsModuleBuild = True\r
             for Ma in MaList:\r
                 self.ModuleReportList.append(ModuleReport(Ma, ReportType))\r
         else:\r
+            self._IsModuleBuild = False\r
             for Pa in Wa.AutoGenObjectList:\r
                 for ModuleKey in Pa.Platform.Modules:\r
                     self.ModuleReportList.append(ModuleReport(Pa.Platform.Modules[ModuleKey].M, ReportType))\r
@@ -1343,18 +1347,20 @@ class PlatformReport(object):
         FileWrite(File, "Build Duration:       %s" % BuildDuration)\r
         FileWrite(File, "Report Content:       %s" % ", ".join(ReportType))\r
 \r
-        if "PCD" in ReportType:\r
-            self.PcdReport.GenerateReport(File, None)\r
-\r
-        if "FLASH" in ReportType:\r
-            for FdReportListItem in self.FdReportList:\r
-                FdReportListItem.GenerateReport(File)\r
+        if not self._IsModuleBuild:\r
+            if "PCD" in ReportType:\r
+                self.PcdReport.GenerateReport(File, None)\r
+    \r
+            if "FLASH" in ReportType:\r
+                for FdReportListItem in self.FdReportList:\r
+                    FdReportListItem.GenerateReport(File)\r
 \r
         for ModuleReportItem in self.ModuleReportList:\r
             ModuleReportItem.GenerateReport(File, self.PcdReport, self.PredictionReport, ReportType)\r
 \r
-        if "EXECUTION_ORDER" in ReportType:\r
-            self.PredictionReport.GenerateReport(File, None)\r
+        if not self._IsModuleBuild:\r
+            if "EXECUTION_ORDER" in ReportType:\r
+                self.PredictionReport.GenerateReport(File, None)\r
 \r
 ## BuildReport class\r
 #\r
@@ -1422,7 +1428,7 @@ class BuildReport(object):
                 EdkLogger.error("BuildReport", CODE_ERROR, "Unknown fatal error when generating build report", ExtraData=self.ReportFile, RaiseError=False)\r
                 EdkLogger.quiet("(Python %s on %s\n%s)" % (platform.python_version(), sys.platform, traceback.format_exc()))\r
             File.close()\r
-\r
+            \r
 # This acts like the main() function for the script, unless it is 'import'ed into another script.\r
 if __name__ == '__main__':\r
     pass\r