@@ -898,7 +898,7 @@ OES_BITBAKE_CONF = "1"
MACHINE_FEATURES:append = " ${@oe.utils.filter_default_features('MACHINE_FEATURES', d)}"
SDK_MACHINE_FEATURES ?= ""
-SDK_FEATURES ?= "qemu"
+SDK_FEATURES ?= "gdb qemu"
DISTRO_FEATURES:append = " ${@oe.utils.filter_default_features('DISTRO_FEATURES', d)}"
@@ -13,7 +13,7 @@ GDB = "gdb-cross-canadian-${TRANSLATED_TARGET_ARCH}"
RDEPENDS:${PN} = "\
${@all_multilib_tune_values(d, 'BINUTILS')} \
${@all_multilib_tune_values(d, 'GCC')} \
- ${@all_multilib_tune_values(d, 'GDB')} \
+ ${@all_multilib_tune_values(d, 'GDB') if bb.utils.contains('SDK_FEATURES', 'gdb', True, False, d) else ''} \
meta-environment-${MACHINE} \
"
The cross-canadian gdb is added to every SDK's toolchain packagegroup unconditionally. A host cross-debugger is part of what most people expect from an SDK, but it is also large, and an SDK built only to compile does not need it. Move it behind the "gdb" SDK feature, which is enabled by default so an unmodified configuration still gets the cross gdb exactly as before; binutils and gcc remain unconditional, as a cross-compiler is intrinsic to an SDK. A configuration that wants a compile-only SDK removes the "gdb" feature from SDK_FEATURES. AI-Generated: codex/claude-opus 4.8 (xhigh) Signed-off-by: Trevor Woerner <twoerner@gmail.com> --- changes in v3: - new in v3 --- meta/conf/bitbake.conf | 2 +- meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)