summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/AutoGen/GenMake.py
diff options
context:
space:
mode:
authorRodriguez, Christian <christian.rodriguez@intel.com>2019-05-30 00:26:49 +0800
committerFeng, Bob C <bob.c.feng@intel.com>2019-06-10 19:48:51 +0800
commit48b0bf6476a215a8e399af3c5905c17f94f2c63d (patch)
tree6e47f55d1dd6aeacd8864c9bd668d98f09a74703 /BaseTools/Source/Python/AutoGen/GenMake.py
parent1fa6699e6cd4ff7c8f830958f8c26d1eb368a4a7 (diff)
downloadedk2-48b0bf6476a215a8e399af3c5905c17f94f2c63d.tar.gz
edk2-48b0bf6476a215a8e399af3c5905c17f94f2c63d.tar.bz2
edk2-48b0bf6476a215a8e399af3c5905c17f94f2c63d.zip
BaseTools: Refactor hash tracking after checking for Sources section
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1804 After adding a check to see if [Sources] section lists all the header type files of a module, track module and library hashes for --hash feature. If above check is not in compilance for a library or module, force hash invalidation on that library or module. Signed-off-by: Christian Rodriguez <christian.rodriguez@intel.com> Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/AutoGen/GenMake.py')
-rw-r--r--BaseTools/Source/Python/AutoGen/GenMake.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py b/BaseTools/Source/Python/AutoGen/GenMake.py
index 5c992d7c26..212ca0fa7f 100644
--- a/BaseTools/Source/Python/AutoGen/GenMake.py
+++ b/BaseTools/Source/Python/AutoGen/GenMake.py
@@ -935,10 +935,16 @@ cleanlib:
continue
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'
EdkLogger.warn("build","Module MetaFile [Sources] is missing local header!",
ExtraData = "Local Header: " + aFile + " not found in " + self._AutoGenObject.MetaFile.Path
)