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>
This commit is contained in:
committed by
Feng, Bob C
parent
1fa6699e6c
commit
48b0bf6476
@ -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
|
||||
)
|
||||
|
Reference in New Issue
Block a user