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_<platformguid>_<arch>.bin file which is
introduced by multiple-process-autogen feature.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Steven Shi <steven.shi@intel.com>
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Acked-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Feng, Bob C
2019-09-05 17:04:58 +08:00
parent 53e2eaba7a
commit 373298ca0d
6 changed files with 253 additions and 136 deletions

View File

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