summaryrefslogtreecommitdiff
path: root/BaseTools/Source/Python/AutoGen/BuildEngine.py
diff options
context:
space:
mode:
authorCarsey, Jaben </o=Intel/ou=Americas01/cn=Workers/cn=Carsey, Jaben>2018-04-06 07:14:00 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-04-10 10:05:15 +0800
commitd0ef841c8e46327b029965f2b4a79127428ce6a5 (patch)
tree3ac1e6466d63e678015e6c8b5f152b4c64970ac1 /BaseTools/Source/Python/AutoGen/BuildEngine.py
parente1ed31e65e8cc0359c0948f6edc6abb7191c26e6 (diff)
downloadedk2-d0ef841c8e46327b029965f2b4a79127428ce6a5.zip
edk2-d0ef841c8e46327b029965f2b4a79127428ce6a5.tar.gz
edk2-d0ef841c8e46327b029965f2b4a79127428ce6a5.tar.bz2
BaseTools: change more list to set
potentially accelerate "in" testing remove uncalled function 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.py29
1 files changed, 8 insertions, 21 deletions
diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index 0daed7d..1663ddd 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -161,7 +161,7 @@ class FileBuildRule:
# Check input files
self.IsMultipleInput = False
- self.SourceFileExtList = []
+ self.SourceFileExtList = set()
for File in Input:
Base, Ext = os.path.splitext(File)
if Base.find("*") >= 0:
@@ -172,8 +172,7 @@ class FileBuildRule:
# There's no "*" and "?" in file name
self.ExtraSourceFileList.append(File)
continue
- if Ext not in self.SourceFileExtList:
- self.SourceFileExtList.append(Ext)
+ self.SourceFileExtList.add(Ext)
# Check output files
self.DestFileList = []
@@ -194,16 +193,6 @@ class FileBuildRule:
CommandString = "\n\t".join(self.CommandList)
return "%s : %s\n\t%s" % (DestString, SourceString, CommandString)
- ## Check if given file extension is supported by this rule
- #
- # @param FileExt The extension of a file
- #
- # @retval True If the extension is supported
- # @retval False If the extension is not supported
- #
- def IsSupported(self, FileExt):
- return FileExt in self.SourceFileExtList
-
def Instantiate(self, Macros={}):
NewRuleObject = copy.copy(self)
NewRuleObject.BuildTargets = {}
@@ -365,8 +354,8 @@ class BuildRule:
self._State = ""
self._RuleInfo = tdict(True, 2) # {toolchain family : {"InputFile": {}, "OutputFile" : [], "Command" : []}}
self._FileType = ''
- self._BuildTypeList = []
- self._ArchList = []
+ self._BuildTypeList = set()
+ self._ArchList = set()
self._FamilyList = []
self._TotalToolChainFamilySet = set()
self._RuleObjectList = [] # FileBuildRule object list
@@ -456,8 +445,8 @@ class BuildRule:
#
def ParseSectionHeader(self, LineIndex):
self._RuleInfo = tdict(True, 2)
- self._BuildTypeList = []
- self._ArchList = []
+ self._BuildTypeList = set()
+ self._ArchList = set()
self._FamilyList = []
self._TotalToolChainFamilySet = set()
FileType = ''
@@ -494,10 +483,8 @@ class BuildRule:
BuildType = TokenList[1]
if len(TokenList) > 2:
Arch = TokenList[2]
- if BuildType not in self._BuildTypeList:
- self._BuildTypeList.append(BuildType)
- if Arch not in self._ArchList:
- self._ArchList.append(Arch)
+ self._BuildTypeList.add(BuildType)
+ self._ArchList.add(Arch)
if 'COMMON' in self._BuildTypeList and len(self._BuildTypeList) > 1:
EdkLogger.error("build", FORMAT_INVALID,