From 373298ca0d605b29d6f46f5ba57af53e112f59b3 Mon Sep 17 00:00:00 2001 From: "Feng, Bob C" Date: Thu, 5 Sep 2019 17:04:58 +0800 Subject: BaseTools: Fixed issue for IgnoreAutoGen https://bugzilla.tianocore.org/show_bug.cgi?id=2080 This patch is to improve build -u option to re-use GlobalVar__.bin file which is introduced by multiple-process-autogen feature. Cc: Liming Gao Cc: Steven Shi Signed-off-by: Bob Feng Acked-by: Liming Gao --- .../Source/Python/AutoGen/ModuleAutoGenHelper.py | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py') diff --git a/BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py b/BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py index c7591253de..9dd93b9beb 100644 --- a/BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py +++ b/BaseTools/Source/Python/AutoGen/ModuleAutoGenHelper.py @@ -236,6 +236,10 @@ class AutoGenInfo(object): # class WorkSpaceInfo(AutoGenInfo): def __init__(self,Workspace, MetaFile, Target, ToolChain, Arch): + if not hasattr(self, "_Init"): + self.do_init(Workspace, MetaFile, Target, ToolChain, Arch) + self._Init = True + def do_init(self,Workspace, MetaFile, Target, ToolChain, Arch): self._SrcTimeStamp = 0 self.Db = BuildDB self.BuildDatabase = self.Db.BuildObject @@ -244,10 +248,35 @@ class WorkSpaceInfo(AutoGenInfo): self.WorkspaceDir = Workspace self.ActivePlatform = MetaFile self.ArchList = Arch + self.AutoGenObjectList = [] + @property + def BuildDir(self): + return self.AutoGenObjectList[0].BuildDir + + @property + def Name(self): + return self.AutoGenObjectList[0].Platform.PlatformName + + @property + def FlashDefinition(self): + return self.AutoGenObjectList[0].Platform.FlashDefinition + @property + def GenFdsCommandDict(self): + FdsCommandDict = self.AutoGenObjectList[0].DataPipe.Get("FdsCommandDict") + if FdsCommandDict: + return FdsCommandDict + return {} + @cached_property + def FvDir(self): + return os.path.join(self.BuildDir, TAB_FV_DIRECTORY) class PlatformInfo(AutoGenInfo): def __init__(self, Workspace, MetaFile, Target, ToolChain, Arch,DataPipe): + if not hasattr(self, "_Init"): + self.do_init(Workspace, MetaFile, Target, ToolChain, Arch,DataPipe) + self._Init = True + def do_init(self,Workspace, MetaFile, Target, ToolChain, Arch,DataPipe): self.Wa = Workspace self.WorkspaceDir = self.Wa.WorkspaceDir self.MetaFile = MetaFile -- cgit v1.2.3