summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/AutoGen/GenMake.py
diff options
context:
space:
mode:
authorShi, Steven <steven.shi@intel.com>2019-08-15 22:26:19 +0800
committerFeng, Bob C <bob.c.feng@intel.com>2019-08-20 14:06:06 +0800
commitc340c5bd1b3e59ced03bd188981d4fe98aa62cac (patch)
tree547109d6dba74b9b6f416e8de681f28b3df2c210 /BaseTools/Source/Python/AutoGen/GenMake.py
parent56c786b0a9fd4f08b1f0bc10b7718a7577cb0146 (diff)
downloadedk2-c340c5bd1b3e59ced03bd188981d4fe98aa62cac.tar.gz
edk2-c340c5bd1b3e59ced03bd188981d4fe98aa62cac.tar.bz2
edk2-c340c5bd1b3e59ced03bd188981d4fe98aa62cac.zip
BaseTools: Change the [Arch][Name] module key in Build cache
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1951 Current build cache use the module's [self.Arch][self.Name] info as the ModuleAutoGen object key in hash list and dictionary. The [self.Arch][self.Name] is not safe as the module key because there could be two modules with same module name and arch name in one platform. E.g. A platform can override a module or library instance in another different path, the overriding module can has the same module name and arch name as the original one. Directly use the ModuleAutoGen obj self as the key, because the obj __hash__ and __repr__ attributes already contain the full path and arch name. Cc: Liming Gao <liming.gao@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Signed-off-by: Steven Shi <steven.shi@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/AutoGen/GenMake.py')
-rwxr-xr-xBaseTools/Source/Python/AutoGen/GenMake.py6
1 files changed, 1 insertions, 5 deletions
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 0d581c9415..47dae82e1a 100755
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -959,16 +959,12 @@ cleanlib:
# Keep the file to be checked
headerFileDependencySet.add(aFileName)
- # Ensure that gModuleBuildTracking has been initialized per architecture
- if self._AutoGenObject.Arch not in GlobalData.gModuleBuildTracking:
- GlobalData.gModuleBuildTracking[self._AutoGenObject.Arch] = dict()
-
# Check if a module dependency header file is missing from the module's MetaFile
for aFile in headerFileDependencySet:
if aFile in headerFilesInMetaFileSet:
continue
if GlobalData.gUseHashCache:
- GlobalData.gModuleBuildTracking[self._AutoGenObject.Arch][self._AutoGenObject] = 'FAIL_METAFILE'
+ GlobalData.gModuleBuildTracking[self._AutoGenObject] = 'FAIL_METAFILE'
EdkLogger.warn("build","Module MetaFile [Sources] is missing local header!",
ExtraData = "Local Header: " + aFile + " not found in " + self._AutoGenObject.MetaFile.Path
)