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
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
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
\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
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
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