edk2/BaseTools/Source/Python
Ray Ni d0b64b21a3 BaseTools: Dump library dependency chain on build failure
When a module M depends on L1, which depends on L2,
which depends on L3, the build fails when the library instance
of L3 cannot be found according to the library class-instance
mapping configuration specified in the DSC file.
When such failure happens, the build tool only prints that the
instance of L3 required by module M cannot be found. But it
does not tell how L3 is required by M.

The change enhances build tool to print the entire dependency
chain when such failure happens.
With the change, the new error message will be as follows:

<dsc-path>(...): error 4000: Instance of library class [L3] is not
found for module [M], [L3] is:
  consumed by <instance of L2>
    consumed by <instance of L1>

Signed-off-by: Ray Ni <ray.ni@intel.com>
2025-04-08 08:40:49 +00:00
..
AmlToC BaseTools: Resolve regex syntax warnings 2023-12-21 00:33:31 +00:00
AutoGen BaseTools/AutoGen: GenMake response file quotes strings 2025-02-02 19:22:42 +00:00
BPDG BaseTools: Fix various typos 2019-07-08 08:59:29 +08:00
build BaseTools/build: Reduce special FV full to warning 2025-03-31 16:04:37 +00:00
Capsule BaseTools/Capsule: Support Different Hash Algorithm for Payload Digest 2024-08-05 05:49:16 +00:00
Common BaseTools: Clean up os.path.normcase and os.path.normpath usage 2025-01-09 07:25:45 +00:00
CommonDataClass BaseTools: Add support for SUBTYPE_GUID section generation 2022-10-19 06:32:07 +00:00
Ecc BaseTools: Add @verbatim as allowed Doxygen tag 2025-02-04 00:12:00 +00:00
Eot BaseTools: Fix multiple 'invalid escape sequence' warnings in tests 2024-09-23 04:55:53 +00:00
FirmwareStorageFormat BaseTools: FMMT support ELF UPLD parser 2023-12-11 10:12:52 +00:00
FMMT BaseTools/FMMT: Fix GUID Tool Not Found the Shell Script Issue 2025-03-26 05:37:32 +00:00
GenFds BaseTools: Clean up os.path.normcase and os.path.normpath usage 2025-01-09 07:25:45 +00:00
GenPatchPcdTable BaseTools: Resolve regex syntax warnings 2023-12-21 00:33:31 +00:00
PatchPcdValue BaseTools: Decouple AutoGen Objects 2019-08-09 23:15:52 +08:00
Pkcs7Sign BaseTools:Updata the output encoding of the Popen function 2019-08-01 15:36:48 +08:00
Rsa2048Sha256Sign BaseTools:Updata the output encoding of the Popen function 2019-08-01 15:36:48 +08:00
Split BaseTools: use shutil.copyfile instead shutil.copy2 2021-08-02 03:52:15 +00:00
Table BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
TargetTool BaseTools: Remove hard-coded strings for target and tools_def 2021-09-29 14:31:37 +00:00
tests/Split BaseTools: fix the split output files root dir 2021-02-07 01:46:18 +00:00
Trim BaseTools: Trim: Add header/footer for ASL include 2024-08-31 04:58:54 +00:00
UPT BaseTools: Typo fixes 2024-12-11 09:00:21 +08:00
Workspace BaseTools: Dump library dependency chain on build failure 2025-04-08 08:40:49 +00:00
basetool_tiano_python_path_env.yaml BaseTools: Add YAML files with path env and tool extdeps 2019-11-11 13:01:53 -08:00
GNUmakefile BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Makefile BaseTools: strip trailing whitespace 2019-10-04 11:18:22 +01:00
sitecustomize.py BaseTools: Do not call sys.setdefaultencoding with python 3 2019-10-23 14:25:23 +08:00