summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/AutoGen/BuildEngine.py
diff options
context:
space:
mode:
authorCarsey, Jaben <jaben.carsey@intel.com>2018-04-28 06:32:23 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-05-04 13:03:01 +0800
commitaaa5a23c95a1ebc5625c88d436ceefcbeb38330f (patch)
treee9540b560d61e62a3f9e61bf1533bea501da2400 /BaseTools/Source/Python/AutoGen/BuildEngine.py
parentc23ef28c205875f59f785e0028086e98ec58030c (diff)
downloadedk2-aaa5a23c95a1ebc5625c88d436ceefcbeb38330f.tar.gz
edk2-aaa5a23c95a1ebc5625c88d436ceefcbeb38330f.tar.bz2
edk2-aaa5a23c95a1ebc5625c88d436ceefcbeb38330f.zip
BaseTools: AutoGen - refactor class factory
since instances are not added to cache, the factory does nothing. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey <jaben.carsey@intel.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/AutoGen/BuildEngine.py')
-rw-r--r--BaseTools/Source/Python/AutoGen/BuildEngine.py23
1 files changed, 4 insertions, 19 deletions
diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index a4f39b0b29..dd6301b01f 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -47,21 +47,10 @@ def ListFileMacro(FileType):
return "%s_LIST" % FileListMacro(FileType)
class TargetDescBlock(object):
- _Cache_ = {} # {TargetFile : TargetDescBlock object}
-
- # Factory method
- def __new__(Class, Inputs, Outputs, Commands, Dependencies):
- if Outputs[0] in Class._Cache_:
- Tdb = Class._Cache_[Outputs[0]]
- for File in Inputs:
- Tdb.AddInput(File)
- else:
- Tdb = super(TargetDescBlock, Class).__new__(Class)
- Tdb._Init(Inputs, Outputs, Commands, Dependencies)
- #Class._Cache_[Outputs[0]] = Tdb
- return Tdb
+ def __init__(self, Inputs, Outputs, Commands, Dependencies):
+ self.InitWorker(Inputs, Outputs, Commands, Dependencies)
- def _Init(self, Inputs, Outputs, Commands, Dependencies):
+ def InitWorker(self, Inputs, Outputs, Commands, Dependencies):
self.Inputs = Inputs
self.Outputs = Outputs
self.Commands = Commands
@@ -90,10 +79,6 @@ class TargetDescBlock(object):
def IsMultipleInput(self):
return len(self.Inputs) > 1
- @staticmethod
- def Renew():
- TargetDescBlock._Cache_ = {}
-
## Class for one build rule
#
# This represents a build rule which can give out corresponding command list for
@@ -278,7 +263,7 @@ class FileBuildRule:
# Command line should be regenerated since some macros are different
#
CommandList = self._BuildCommand(BuildRulePlaceholderDict)
- TargetDesc._Init([SourceFile], DstFile, CommandList, self.ExtraSourceFileList)
+ TargetDesc.InitWorker([SourceFile], DstFile, CommandList, self.ExtraSourceFileList)
break
else:
TargetDesc.AddInput(SourceFile)