mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
During Silent build,NMAKE suppresses the command echo entirely. As a result, the only output in ProcOut is the MSVC compiler’s output lines. Without the command echo, there is no full path in the output to identify which source file is currently being compiled. For unique basenames this is not an issue, but for namesake files (for example, AmdSev.c located in different directories), it is impossible to determine which file’s includes are being listed. This change improves dependency generation for MSVC builds by introducing explicit handling for source files with duplicate basenames (namesake sources). A new variable current_source_abs is added to consistently track the resolved absolute path of the active source file instead of repeatedly recomputing it from SourceFileAbsPathMap. To correctly resolve namesake files in silent builds (where compiler commands are not echoed), a namesake_queue is introduced, which preserves source ordering and sequentially maps basename occurrences to their corresponding full paths. Additionally, a cc_cmd_in_output flag is implemented to detect the presence of compiler command lines in the output stream; when present, source paths are derived directly from command-line arguments, otherwise the queue-based resolution is used. This ensures correct mapping of basenames to absolute paths across the silent builds, fixing incorrect dependency generation when multiple source files share the same name. Signed-off-by: Kowsik S <kowsiks@ami.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| AutoGen.py | ||
| AutoGenWorker.py | ||
| BuildEngine.py | ||
| DataPipe.py | ||
| GenC.py | ||
| GenDepex.py | ||
| GenMake.py | ||
| GenPcdDb.py | ||
| GenVar.py | ||
| IdfClassObject.py | ||
| IncludesAutoGen.py | ||
| InfSectionParser.py | ||
| ModuleAutoGen.py | ||
| ModuleAutoGenHelper.py | ||
| PlatformAutoGen.py | ||
| StrGather.py | ||
| UniClassObject.py | ||
| ValidCheckingInfoObject.py | ||
| WorkspaceAutoGen.py | ||