from Common.LongFilePathSupport import OpenLongFilePath as open\r
from Common.MultipleWorkspace import MultipleWorkspace as mws\r
import Common.GlobalData as GlobalData\r
+from AutoGen.AutoGen import ModuleAutoGen\r
+from Common.Misc import PathClass\r
+from Common.String import NormPath\r
\r
## Pattern to extract contents in EDK DXS files\r
gDxsDependencyPattern = re.compile(r"DEPENDENCY_START(.+)DEPENDENCY_END", re.DOTALL)\r
else:\r
self._IsModuleBuild = False\r
for Pa in Wa.AutoGenObjectList:\r
+ ModuleAutoGenList = []\r
for ModuleKey in Pa.Platform.Modules:\r
- self.ModuleReportList.append(ModuleReport(Pa.Platform.Modules[ModuleKey].M, ReportType))\r
+ ModuleAutoGenList.append(Pa.Platform.Modules[ModuleKey].M)\r
+ if GlobalData.gFdfParser != None:\r
+ if Pa.Arch in GlobalData.gFdfParser.Profile.InfDict:\r
+ INFList = GlobalData.gFdfParser.Profile.InfDict[Pa.Arch]\r
+ for InfName in INFList:\r
+ InfClass = PathClass(NormPath(InfName), Wa.WorkspaceDir, Pa.Arch)\r
+ Ma = ModuleAutoGen(Wa, InfClass, Pa.BuildTarget, Pa.ToolChain, Pa.Arch, Wa.MetaFile)\r
+ if Ma == None:\r
+ continue\r
+ if Ma not in ModuleAutoGenList:\r
+ ModuleAutoGenList.append(Ma)\r
+ for MGen in ModuleAutoGenList:\r
+ self.ModuleReportList.append(ModuleReport(MGen, ReportType))\r
\r
\r
\r
FileWrite(File, "Build Duration: %s" % BuildDuration)\r
FileWrite(File, "Report Content: %s" % ", ".join(ReportType))\r
\r
+ if GlobalData.MixedPcd:\r
+ FileWrite(File, gSectionStart)\r
+ FileWrite(File, "The following PCDs use different access methods:")\r
+ FileWrite(File, gSectionSep)\r
+ for PcdItem in GlobalData.MixedPcd:\r
+ FileWrite(File, "%s.%s" % (str(PcdItem[1]), str(PcdItem[0])))\r
+ FileWrite(File, gSectionEnd)\r
+\r
if not self._IsModuleBuild:\r
if "PCD" in ReportType:\r
self.PcdReport.GenerateReport(File, None)\r