diff mbox series

[meta-oe,011/109] toybox: upgrade 0.8.13 -> 0.8.14

Message ID 20260814224539.1523174-11-khem.raj@oss.qualcomm.com
State New
Headers show
Series [meta-oe,001/109] xorg-docs: upgrade 1.7.2 -> 1.7.3 | expand

Commit Message

Khem Raj Aug. 14, 2026, 10:43 p.m. UTC
Upstream reworked the build plumbing in this release: most of the kconfig
machinery moved out of kconfig/Makefile into scripts/genconfig.sh and
scripts/kconfig.c, and the defconfig/allyesconfig/allnoconfig/randconfig
targets are now thin wrappers around genconfig.sh. As part of that
cleanup (commit 228cb983) the rules that build the host-side kconfig
frontends lost their $(HOSTCC) and were hardcoded to "cc", which breaks
cross builds where only an explicit HOSTCC is exported and no "cc" is on
PATH. Add a patch restoring $(HOSTCC) there; the rest of the recipe needs
no changes.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
---
 ...HOSTCC-to-build-the-config-frontends.patch | 44 +++++++++++++++++++
 .../{toybox_0.8.13.bb => toybox_0.8.14.bb}    |  6 ++-
 2 files changed, 48 insertions(+), 2 deletions(-)
 create mode 100644 meta-oe/recipes-core/toybox/toybox/0001-kconfig-use-HOSTCC-to-build-the-config-frontends.patch
 rename meta-oe/recipes-core/toybox/{toybox_0.8.13.bb => toybox_0.8.14.bb} (95%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-core/toybox/toybox/0001-kconfig-use-HOSTCC-to-build-the-config-frontends.patch b/meta-oe/recipes-core/toybox/toybox/0001-kconfig-use-HOSTCC-to-build-the-config-frontends.patch
new file mode 100644
index 0000000000..7d909dd3d2
--- /dev/null
+++ b/meta-oe/recipes-core/toybox/toybox/0001-kconfig-use-HOSTCC-to-build-the-config-frontends.patch
@@ -0,0 +1,44 @@ 
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 4 Aug 2026 00:00:00 -0700
+Subject: [PATCH] kconfig: use HOSTCC to build the config frontends
+
+Commit 228cb983 ("Simplify build dependencies, shrink Makefile, move more
+config plumbing over to new stuff") replaced $(HOSTCC) with a hardcoded
+"cc" in the rules that build kconfig/conf and kconfig/mconf.
+
+These are build-host programs, so they have to be compiled with the host
+compiler the build system provides. When cross compiling in an
+environment that only exports an explicit HOSTCC (and has no "cc" in
+PATH), "make oldconfig" fails with:
+
+  cc -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c ...
+  make: cc: No such file or directory
+  make: *** [kconfig/Makefile:43: kconfig/conf] Error 127
+
+The top level Makefile already exports HOSTCC, and scripts/portability.sh
+uses $HOSTCC for the other host-side helpers, so honour it here too.
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+diff --git a/kconfig/Makefile b/kconfig/Makefile
+index 1331434..842d6a2 100644
+--- a/kconfig/Makefile
++++ b/kconfig/Makefile
+@@ -35,12 +35,12 @@ SHIPPED = kconfig/zconf.tab.c kconfig/lex.zconf.c kconfig/zconf.hash.c
+ gen_config.h: .config
+ 
+ kconfig/mconf: $(SHIPPED)
+-	cc -o $@ kconfig/mconf.c kconfig/zconf.tab.c \
++	$(HOSTCC) -o $@ kconfig/mconf.c kconfig/zconf.tab.c \
+ 		kconfig/lxdialog/*.c -lcurses -DCURSES_LOC="<ncurses.h>" \
+ 		-DKBUILD_NO_NLS=1 -DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
+ 
+ kconfig/conf: $(SHIPPED)
+-	cc -o $@ kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
++	$(HOSTCC) -o $@ kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
+ 		-DPROJECT_NAME=\"$(KCONFIG_PROJECT)\"
+ 
+ clean::
diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.13.bb b/meta-oe/recipes-core/toybox/toybox_0.8.14.bb
similarity index 95%
rename from meta-oe/recipes-core/toybox/toybox_0.8.13.bb
rename to meta-oe/recipes-core/toybox/toybox_0.8.14.bb
index 6a5a155ba5..80ad89d4e7 100644
--- a/meta-oe/recipes-core/toybox/toybox_0.8.13.bb
+++ b/meta-oe/recipes-core/toybox/toybox_0.8.14.bb
@@ -7,8 +7,10 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
 
 inherit cml1 update-alternatives
 
-SRC_URI = "https://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
-SRC_URI[sha256sum] = "9d4c124d7d731a2db399f6278baa2b42c2e3511f610c6ad30cc3f1a52581334b"
+SRC_URI = "https://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \
+           file://0001-kconfig-use-HOSTCC-to-build-the-config-frontends.patch \
+           "
+SRC_URI[sha256sum] = "827e4cdfd69f5da973e00e2a59b30b3c9857fb7fae74c362fd0b4f96be7929b0"
 
 SECTION = "base"