arm-trusted-firmware/lib
Chris Kay 3789c3c000 build: determine toolchain tools dynamically
Since the introduction of the toolchain detection framework into the
build system, we have done determination and identification of the
toolchain(s) used for the build at the initialization of the build
system.

This incurs a large cost to the build every time - for every toolchain
that has been requested by the current makefile, we try to identify each
tool in the list of known tool classes, even if that tool doesn't
actually see any use.

For the clean and check-like targets we worked around this by disabling
most of the toolchains if we detect these targets, but this is
inflexible and not very reliable, and it still means that when building
normal targets we are incurring that cost for all tools whether they are
used or not.

This change instead modifies the toolchain detection framework to only
initialize a tool for a given toolchain when it is first used. This does
mean that we can no longer warn about an incorrectly-configured
toolchain at the beginning of build system invocation, but it has the
advantage of substantially reducing build time and the complexity of
*using* the framework (at the cost of an increase in complexity in the
framework itself).

Change-Id: I7f3d06b2eb58c1b26a846791a13b0037f32c8013
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-09-10 09:47:06 +00:00
..
aarch32 chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
aarch64 feat(gpt): add support for large GPT mappings 2024-05-14 10:36:42 +02:00
bl_aux_params chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
compiler-rt chore(compiler-rt): update compiler-rt source files 2024-05-10 11:24:49 +02:00
coreboot chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
cpus Merge changes from topic "clean-up-errata-compatibility" into integration 2024-08-27 16:23:58 +02:00
debugfs chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
el3_runtime feat(cm): handle asymmetry for FEAT_TCR2 2024-09-05 16:28:23 +01:00
extensions feat(cm): handle asymmetry for FEAT_TCR2 2024-09-05 16:28:23 +01:00
fconf feat(fconf): support signing-key in root cert node 2024-01-18 13:18:09 -06:00
gpt_rme fix(gpt): fix GPT library fill_l1_tbl() function 2024-06-20 10:29:58 +01:00
libc fix(libc): memset inclusion to libc makefiles 2024-02-02 09:49:01 +01:00
libfdt build(libfdt): introduce include guards 2024-05-10 11:58:45 +00:00
locks feat(locks): add bitlock 2024-04-15 12:14:16 +01:00
mpmm fix(errata): workaround for Cortex-A510 erratum 2250311 2022-02-24 23:30:41 +02:00
optee chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
pmf feat((smccc): add version FID for PMF 2024-05-06 09:42:11 -05:00
psa feat(psa): introduce generic library for CCA attestation 2024-06-07 11:40:08 +01:00
psci fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl 2024-08-06 09:20:29 +01:00
romlib build: determine toolchain tools dynamically 2024-09-10 09:47:06 +00:00
semihosting chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
stack_protector chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
transfer_list feat(handoff): fix register convention r1/x1 value on transfer list 2024-07-22 15:54:44 +01:00
utils chore: update to use Arm word across TF-A 2023-08-08 15:12:30 +01:00
xlat_mpu refactor(cpufeat): add macro to simplify is_feat_xx_present 2024-05-02 12:16:16 -05:00
xlat_tables refactor(cpufeat): add macro to simplify is_feat_xx_present 2024-05-02 12:16:16 -05:00
xlat_tables_v2 fix(xlat): correct attribute retrieval in a RME enabled system 2024-07-22 14:14:33 +02:00
zlib chore(zlib): update zlib to version 1.3 2023-11-06 21:13:38 +00:00