import hashlib\r
from GenVar import VariableMgr,var_info\r
from collections import OrderedDict\r
+from collections import defaultdict\r
\r
## Regular expression for splitting Dependency Expression string into tokens\r
gDepexTokenPattern = re.compile("(\(|\)|\w+| \S+\.inf)")\r
if self._BuildTargets is None:\r
self._IntroBuildTargetList = set()\r
self._FinalBuildTargetList = set()\r
- self._BuildTargets = {}\r
- self._FileTypes = {}\r
+ self._BuildTargets = defaultdict(set)\r
+ self._FileTypes = defaultdict(set)\r
\r
SubDirectory = os.path.join(self.OutputDir, File.SubDir)\r
if not os.path.exists(SubDirectory):\r
break\r
\r
FileType = RuleObject.SourceFileType\r
- if FileType not in self._FileTypes:\r
- self._FileTypes[FileType] = set()\r
self._FileTypes[FileType].add(Source)\r
\r
# stop at STATIC_LIBRARY for library\r
# Only do build for target with outputs\r
self._FinalBuildTargetList.add(Target)\r
\r
- if FileType not in self._BuildTargets:\r
- self._BuildTargets[FileType] = set()\r
self._BuildTargets[FileType].add(Target)\r
\r
if not Source.IsBinary and Source == File:\r
if self._BuildTargets is None:\r
self._IntroBuildTargetList = set()\r
self._FinalBuildTargetList = set()\r
- self._BuildTargets = {}\r
- self._FileTypes = {}\r
+ self._BuildTargets = defaultdict(set)\r
+ self._FileTypes = defaultdict(set)\r
\r
#TRICK: call _GetSourceFileList to apply build rule for source files\r
if self.SourceFileList:\r