* [Buildroot] [PATCH v4 1/9] Makefile: always use a base config file for defconfig
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 2/9] support/kconfig: fix invalid filenames in patch 23 Titouan Christophe via buildroot
` (6 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
Currently, our bundled kconfig copy does not require that a base
configuration file, with some non-default set in there, be specified
for defconfig, and we only pass one if specified by the user.
Future kconfig versions will require a base config file be always
specified, so prepare for that: if the user did not specify a base
config file, use /dev/null, an empty file, to specify there is no
preset value.
Reported-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 14ea241dc4..0a245c937c 100644
--- a/Makefile
+++ b/Makefile
@@ -1044,7 +1044,7 @@ oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf outputmake
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
- @$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
+ @$(COMMON_CONFIG_ENV) $< --defconfig=$(or $(DEFCONFIG),/dev/null) $(CONFIG_CONFIG_IN)
%_defconfig: $(BUILD_DIR)/buildroot-config/conf outputmakefile
@defconfig=$(or \
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 2/9] support/kconfig: fix invalid filenames in patch 23
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 1/9] Makefile: always use a base config file for defconfig Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 3/9] Config.in: do not expand TOPDIR, BASE_DIR and CONFIG_DIR Titouan Christophe via buildroot
` (5 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
All file paths in patch 23-kconfig-mn-conf-handle-backspace-H-key.patch
have a leading "kconfig/" prefix, unlike all the other kconfig patches.
Therefore, it does not apply or unapply cleanly.
Let's therefore remove that prefix so this patch can be applied along all
its siblings.
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
...onfig-mn-conf-handle-backspace-H-key.patch | 24 +++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/support/kconfig/patches/23-kconfig-mn-conf-handle-backspace-H-key.patch b/support/kconfig/patches/23-kconfig-mn-conf-handle-backspace-H-key.patch
index 6e32115f70..502c708034 100644
--- a/support/kconfig/patches/23-kconfig-mn-conf-handle-backspace-H-key.patch
+++ b/support/kconfig/patches/23-kconfig-mn-conf-handle-backspace-H-key.patch
@@ -11,15 +11,15 @@ terminals.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
- kconfig/lxdialog/inputbox.c | 3 ++-
- kconfig/nconf.c | 2 +-
- kconfig/nconf.gui.c | 3 ++-
+ lxdialog/inputbox.c | 3 ++-
+ nconf.c | 2 +-
+ nconf.gui.c | 3 ++-
3 files changed, 5 insertions(+), 3 deletions(-)
-diff --git a/kconfig/lxdialog/inputbox.c b/kconfig/lxdialog/inputbox.c
+diff --git a/lxdialog/inputbox.c b/lxdialog/inputbox.c
index 611945611bf8..1dcfb288ee63 100644
---- a/kconfig/lxdialog/inputbox.c
-+++ b/kconfig/lxdialog/inputbox.c
+--- a/lxdialog/inputbox.c
++++ b/lxdialog/inputbox.c
@@ -113,7 +113,8 @@ int dialog_inputbox(const char *title, const char *prompt, int height, int width
case KEY_DOWN:
break;
@@ -30,10 +30,10 @@ index 611945611bf8..1dcfb288ee63 100644
if (pos) {
wattrset(dialog, dlg.inputbox.atr);
if (input_x == 0) {
-diff --git a/kconfig/nconf.c b/kconfig/nconf.c
+diff --git a/nconf.c b/nconf.c
index a4670f4e825a..ac92c0ded6c5 100644
---- a/kconfig/nconf.c
-+++ b/kconfig/nconf.c
+--- a/nconf.c
++++ b/nconf.c
@@ -1048,7 +1048,7 @@ static int do_match(int key, struct match_state *state, int *ans)
state->match_direction = FIND_NEXT_MATCH_UP;
*ans = get_mext_match(state->pattern,
@@ -43,10 +43,10 @@ index a4670f4e825a..ac92c0ded6c5 100644
state->pattern[strlen(state->pattern)-1] = '\0';
adj_match_dir(&state->match_direction);
} else
-diff --git a/kconfig/nconf.gui.c b/kconfig/nconf.gui.c
+diff --git a/nconf.gui.c b/nconf.gui.c
index 7be620a1fcdb..77f525a8617c 100644
---- a/kconfig/nconf.gui.c
-+++ b/kconfig/nconf.gui.c
+--- a/nconf.gui.c
++++ b/nconf.gui.c
@@ -439,7 +439,8 @@ int dialog_inputbox(WINDOW *main_window,
case KEY_F(F_EXIT):
case KEY_F(F_BACK):
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 3/9] Config.in: do not expand TOPDIR, BASE_DIR and CONFIG_DIR
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 1/9] Makefile: always use a base config file for defconfig Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 2/9] support/kconfig: fix invalid filenames in patch 23 Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 4/9] toolchain-external: do not expand ARCH Titouan Christophe via buildroot
` (4 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
From: Peter Seiderer <ps.report@gmx.net>
- escape TOPDIR, BASE_DIR and CONFIG_DIR usage to force to not exapnd at
configure time (but at make time), needed for upcoming kconfig update
(see upstream commit [1])
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=104daea149c45cc84842ce77a9bd6436d19f3dd8
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
Config.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Config.in b/Config.in
index 0bfe6d1ab5..59d01b0776 100644
--- a/Config.in
+++ b/Config.in
@@ -241,7 +241,7 @@ config BR2_DEFCONFIG
config BR2_DL_DIR
string "Download dir"
- default "$(TOPDIR)/dl"
+ default "\$(TOPDIR)/dl"
help
Directory to store all the source files that we need to fetch.
If the Linux shell environment has defined the BR2_DL_DIR
@@ -255,7 +255,7 @@ config BR2_DL_DIR
config BR2_HOST_DIR
string "Host dir"
- default "$(BASE_DIR)/host"
+ default "\$(BASE_DIR)/host"
help
Directory to store all the binary files that are built for the
host. This includes the cross compilation toolchain when
@@ -713,7 +713,7 @@ endchoice
config BR2_PACKAGE_OVERRIDE_FILE
string "location of a package override file"
- default "$(CONFIG_DIR)/local.mk"
+ default "\$(CONFIG_DIR)/local.mk"
help
A package override file is a short makefile that contains
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 4/9] toolchain-external: do not expand ARCH
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
` (2 preceding siblings ...)
2026-05-31 15:35 ` [Buildroot] [PATCH v4 3/9] Config.in: do not expand TOPDIR, BASE_DIR and CONFIG_DIR Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 6/9] support/kconfig: reference environment variables directly (remove 'option env=') Titouan Christophe via buildroot
` (3 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
- escape ARCH usage to force to not expand at configure time (but at make
time), needed for upcoming kconfig update (see upstream commit [1])
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=104daea149c45cc84842ce77a9bd6436d19f3dd8
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
support/scripts/gen-bootlin-toolchains | 2 +-
.../toolchain-external-bootlin/Config.in.options | 2 +-
.../toolchain-external-custom/Config.in.options | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
index 75fa2c7e0f..88bfc312b8 100755
--- a/support/scripts/gen-bootlin-toolchains
+++ b/support/scripts/gen-bootlin-toolchains
@@ -505,7 +505,7 @@ def gen_config_in_options(toolchains, fpath):
f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n")
f.write("config BR2_TOOLCHAIN_EXTERNAL_PREFIX\n")
- f.write("\tdefault \"$(ARCH)-linux\"\n")
+ f.write("\tdefault \"\\$(ARCH)-linux\"\n")
f.write("\n")
diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
index e98ee023cb..f4407356e0 100644
--- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
@@ -49,7 +49,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
- default "$(ARCH)-linux"
+ default "\$(ARCH)-linux"
config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
default "toolchain-external-bootlin"
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
index 9ca024f5b8..096d8ef487 100644
--- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
@@ -23,7 +23,7 @@ config BR2_TOOLCHAIN_EXTERNAL_REL_BIN_PATH
config BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
string "Toolchain prefix"
- default "$(ARCH)-linux"
+ default "\$(ARCH)-linux"
help
Component name prefix used by your external toolchain.
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 6/9] support/kconfig: reference environment variables directly (remove 'option env=')
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
` (3 preceding siblings ...)
2026-05-31 15:35 ` [Buildroot] [PATCH v4 4/9] toolchain-external: do not expand ARCH Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice Titouan Christophe via buildroot
` (2 subsequent siblings)
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
From: Peter Seiderer <ps.report@gmx.net>
- reference environment variables directly (remove 'option env='), see
upstream commit [1]:
BR2_VERSION --> BR2_VERSION_FULL
BR2_HOSTARCH --> HOSTARCH
BR2_SKIP_LEGACY --> SKIP_LEGACY
BR2_BASE_DIR --> BASE_DIR
BR2_HOST_GCC_VERSION --> HOST_GCC_VERSION
BR2_DEFCONFIG_FROM_ENV --> BR2_DEFCONFIG
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=104daea149c45cc84842ce77a9bd6436d19f3dd8
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
Config.in | 51 +++++--------------
Config.in.legacy | 6 +--
linux/Config.ext.in | 2 +-
package/amlogic-boot-fip/Config.in.host | 2 +-
package/erlang/Config.in | 6 +--
package/flutter-sdk-bin/Config.in.host | 2 +-
package/go/go-bootstrap-stage1/Config.in.host | 6 +--
package/google-breakpad/Config.in.host | 12 ++---
package/jpeg/Config.in | 2 +-
package/kvm-unit-tests/Config.in | 2 +-
package/luajit/Config.in | 4 +-
package/mono/Config.in | 4 +-
package/nodejs/Config.in.host | 8 +--
package/openjdk/Config.in | 4 +-
package/openssl/Config.in | 2 +-
package/protobuf/Config.in | 22 ++++----
package/qt5/qt5webengine/Config.in | 2 +-
package/rustc/Config.in.host | 16 +++---
package/sam-ba/Config.in.host | 2 +-
package/supertuxkart/Config.in | 4 +-
package/ti-cgt-pru/Config.in.host | 2 +-
package/ti-gfx/Config.in | 2 +-
package/wine/Config.in | 6 +--
system/Config.in | 4 +-
toolchain/toolchain-external/Config.in | 2 +-
.../Config.in | 2 +-
.../toolchain-external-arm-aarch64/Config.in | 2 +-
.../toolchain-external-arm-arm/Config.in | 2 +-
.../toolchain-external-bootlin/Config.in | 2 +-
.../toolchain-external-synopsys-arc/Config.in | 2 +-
30 files changed, 78 insertions(+), 107 deletions(-)
diff --git a/Config.in b/Config.in
index 59d01b0776..85cdb3b413 100644
--- a/Config.in
+++ b/Config.in
@@ -1,6 +1,6 @@
#
-mainmenu "Buildroot $BR2_VERSION Configuration"
+mainmenu "Buildroot $(BR2_VERSION_FULL) Configuration"
config BR2_HAVE_DOT_CONFIG
bool
@@ -15,67 +15,46 @@ config BR2_HAVE_DOT_CONFIG
config BR2_BROKEN
bool
-config BR2_HIDE_SECONDARY_TARGET_OPTIONS
- bool
- option env="BR2_HIDE_SECONDARY_TARGET_OPTIONS"
-
-config BR2_VERSION
- string
- option env="BR2_VERSION_FULL"
-
-config BR2_HOSTARCH
- string
- option env="HOSTARCH"
-
-config BR2_BASE_DIR
- string
- option env="BASE_DIR"
-
# br2-external paths definitions
-source "$BR2_BASE_DIR/.br2-external.in.paths"
-
-# Hidden config symbols for packages to check system gcc version
-config BR2_HOST_GCC_VERSION
- string
- option env="HOST_GCC_VERSION"
+source "$(BASE_DIR)/.br2-external.in.paths"
config BR2_HOST_GCC_AT_LEAST_4_9
bool
- default y if BR2_HOST_GCC_VERSION = "4 9"
+ default y if "$(HOST_GCC_VERSION)" = "4 9"
config BR2_HOST_GCC_AT_LEAST_5
bool
- default y if BR2_HOST_GCC_VERSION = "5"
+ default y if "$(HOST_GCC_VERSION)" = "5"
select BR2_HOST_GCC_AT_LEAST_4_9
config BR2_HOST_GCC_AT_LEAST_6
bool
- default y if BR2_HOST_GCC_VERSION = "6"
+ default y if "$(HOST_GCC_VERSION)" = "6"
select BR2_HOST_GCC_AT_LEAST_5
config BR2_HOST_GCC_AT_LEAST_7
bool
- default y if BR2_HOST_GCC_VERSION = "7"
+ default y if "$(HOST_GCC_VERSION)" = "7"
select BR2_HOST_GCC_AT_LEAST_6
config BR2_HOST_GCC_AT_LEAST_8
bool
- default y if BR2_HOST_GCC_VERSION = "8"
+ default y if "$(HOST_GCC_VERSION)" = "8"
select BR2_HOST_GCC_AT_LEAST_7
config BR2_HOST_GCC_AT_LEAST_9
bool
- default y if BR2_HOST_GCC_VERSION = "9"
+ default y if "$(HOST_GCC_VERSION)" = "9"
select BR2_HOST_GCC_AT_LEAST_8
config BR2_HOST_GCC_AT_LEAST_10
bool
- default y if BR2_HOST_GCC_VERSION = "10"
+ default y if "$(HOST_GCC_VERSION)" = "10"
select BR2_HOST_GCC_AT_LEAST_9
config BR2_HOST_GCC_AT_LEAST_11
bool
- default y if BR2_HOST_GCC_VERSION = "11"
+ default y if "$(HOST_GCC_VERSION)" = "11"
select BR2_HOST_GCC_AT_LEAST_10
config BR2_HOST_GCC_AT_LEAST_12
@@ -227,14 +206,10 @@ config BR2_TAR_OPTIONS
endmenu
-config BR2_DEFCONFIG_FROM_ENV
- string
- option env="BR2_DEFCONFIG"
-
config BR2_DEFCONFIG
string "Location to save buildroot config"
- default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
- default "$(CONFIG_DIR)/defconfig"
+ default "$(BR2_DEFCONFIG)" if "$(BR2_DEFCONFIG)" != ""
+ default "\$(CONFIG_DIR)/defconfig"
help
When running 'make savedefconfig', the defconfig file will be
saved in this location.
@@ -1030,4 +1005,4 @@ source "package/Config.in.host"
source "Config.in.legacy"
# br2-external menus definitions
-source "$BR2_BASE_DIR/.br2-external.in.menus"
+source "$(BASE_DIR)/.br2-external.in.menus"
diff --git a/Config.in.legacy b/Config.in.legacy
index aa8437e28f..ce6c085ead 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -90,11 +90,7 @@
#
# [End of example]
-config BR2_SKIP_LEGACY
- bool
- option env="SKIP_LEGACY"
-
-if !BR2_SKIP_LEGACY
+if "$(SKIP_LEGACY)" = ""
config BR2_LEGACY
bool
diff --git a/linux/Config.ext.in b/linux/Config.ext.in
index 3b72d3cf60..adc9c5c5a4 100644
--- a/linux/Config.ext.in
+++ b/linux/Config.ext.in
@@ -56,6 +56,6 @@ config BR2_LINUX_KERNEL_EXT_RTAI
RTAI Kernel part.
# kernel extensions from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.linux"
+source "$(BASE_DIR)/.br2-external.in.linux"
endmenu
diff --git a/package/amlogic-boot-fip/Config.in.host b/package/amlogic-boot-fip/Config.in.host
index bccc6296d1..54f4075f27 100644
--- a/package/amlogic-boot-fip/Config.in.host
+++ b/package/amlogic-boot-fip/Config.in.host
@@ -1,6 +1,6 @@
config BR2_PACKAGE_HOST_AMLOGIC_BOOT_FIP
bool "host amlogic-boot-fip"
- depends on BR2_HOSTARCH = "x86_64"
+ depends on "$(HOSTARCH)" = "x86_64"
help
Firmware Image Package (FIP) sources used to sign Amlogic
u-boot binaries in LibreELEC images
diff --git a/package/erlang/Config.in b/package/erlang/Config.in
index 724f91123b..f3830cefad 100644
--- a/package/erlang/Config.in
+++ b/package/erlang/Config.in
@@ -1,8 +1,8 @@
config BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "aarch64"
- default y if BR2_HOSTARCH = "x86_64"
- default y if BR2_HOSTARCH = "x86"
+ default y if "$(HOSTARCH)" = "aarch64"
+ default y if "$(HOSTARCH)" = "x86_64"
+ default y if "$(HOSTARCH)" = "x86"
config BR2_PACKAGE_ERLANG_ARCH_SUPPORTS
bool
diff --git a/package/flutter-sdk-bin/Config.in.host b/package/flutter-sdk-bin/Config.in.host
index 181a2ee6e5..c1c97e2ca8 100644
--- a/package/flutter-sdk-bin/Config.in.host
+++ b/package/flutter-sdk-bin/Config.in.host
@@ -1,6 +1,6 @@
config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "x86_64"
+ default y if "$(HOSTARCH)" = "x86_64"
config BR2_PACKAGE_HOST_FLUTTER_SDK_BIN
bool "host flutter-sdk-bin"
diff --git a/package/go/go-bootstrap-stage1/Config.in.host b/package/go/go-bootstrap-stage1/Config.in.host
index 56a743caf9..50caad0a8b 100644
--- a/package/go/go-bootstrap-stage1/Config.in.host
+++ b/package/go/go-bootstrap-stage1/Config.in.host
@@ -1,6 +1,6 @@
config BR2_PACKAGE_HOST_GO_BOOTSTRAP_STAGE1_ARCH_SUPPORTS
bool
# See src/cmd/dist/unix.c for the list of supported architectures
- default y if BR2_HOSTARCH = "x86"
- default y if BR2_HOSTARCH = "x86_64"
- default y if BR2_HOSTARCH = "arm"
+ default y if "$(HOSTARCH)" = "x86"
+ default y if "$(HOSTARCH)" = "x86_64"
+ default y if "$(HOSTARCH)" = "arm"
diff --git a/package/google-breakpad/Config.in.host b/package/google-breakpad/Config.in.host
index 28d304766a..84e95957b2 100644
--- a/package/google-breakpad/Config.in.host
+++ b/package/google-breakpad/Config.in.host
@@ -1,8 +1,8 @@
config BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "x86_64"
- default y if BR2_HOSTARCH = "x86"
- default y if BR2_HOSTARCH = "arm"
- default y if BR2_HOSTARCH = "aarch64"
- default y if BR2_HOSTARCH = "mips"
- default y if BR2_HOSTARCH = "mipsel"
+ default y if "$(HOSTARCH)" = "x86_64"
+ default y if "$(HOSTARCH)" = "x86"
+ default y if "$(HOSTARCH)" = "arm"
+ default y if "$(HOSTARCH)" = "aarch64"
+ default y if "$(HOSTARCH)" = "mips"
+ default y if "$(HOSTARCH)" = "mipsel"
diff --git a/package/jpeg/Config.in b/package/jpeg/Config.in
index 371f89aa49..0a7e01d28b 100644
--- a/package/jpeg/Config.in
+++ b/package/jpeg/Config.in
@@ -40,7 +40,7 @@ config BR2_PACKAGE_JPEG_TURBO
http://www.libjpeg-turbo.org
# libjpeg from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.jpeg"
+source "$(BASE_DIR)/.br2-external.in.jpeg"
endchoice
diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in
index 817d3c4a8f..87e7125313 100644
--- a/package/kvm-unit-tests/Config.in
+++ b/package/kvm-unit-tests/Config.in
@@ -20,7 +20,7 @@ config BR2_PACKAGE_KVM_UNIT_TESTS
# gcc 4.5 at least. on i386, we use the target gcc, while on
# x86-64 we use the host gcc (see .mk file for details)
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
- depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64
+ depends on "$(HOSTARCH)" = "x86_64" || !BR2_x86_64
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if BR2_x86_64
help
kvm-unit-tests is a project as old as KVM. As its name
diff --git a/package/luajit/Config.in b/package/luajit/Config.in
index 31e9e0243e..408032c7e8 100644
--- a/package/luajit/Config.in
+++ b/package/luajit/Config.in
@@ -7,9 +7,9 @@ config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
default y if BR2_powerpc
# -m32 flag is used for 32bit builds and host-luajit has
# limited architecture support
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
# Building for 64-bit target requires a 64-bit host
- depends on !BR2_ARCH_IS_64 || BR2_HOSTARCH = "x86_64"
+ depends on !BR2_ARCH_IS_64 || "$(HOSTARCH)" = "x86_64"
config BR2_PACKAGE_LUAJIT
bool "luajit"
diff --git a/package/mono/Config.in b/package/mono/Config.in
index 0152df8268..354dc56d24 100644
--- a/package/mono/Config.in
+++ b/package/mono/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "x86_64"
- default y if BR2_HOSTARCH = "x86"
+ default y if "$(HOSTARCH)" = "x86_64"
+ default y if "$(HOSTARCH)" = "x86"
config BR2_PACKAGE_MONO_ARCH_SUPPORTS
bool
diff --git a/package/nodejs/Config.in.host b/package/nodejs/Config.in.host
index a8ab89176c..a8b0f3997d 100644
--- a/package/nodejs/Config.in.host
+++ b/package/nodejs/Config.in.host
@@ -1,9 +1,9 @@
config BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "aarch64"
- default y if BR2_HOSTARCH = "arm"
- default y if BR2_HOSTARCH = "ppc64le"
- default y if BR2_HOSTARCH = "x86_64"
+ default y if "$(HOSTARCH)" = "aarch64"
+ default y if "$(HOSTARCH)" = "arm"
+ default y if "$(HOSTARCH)" = "ppc64le"
+ default y if "$(HOSTARCH)" = "x86_64"
comment "host nodejs needs a host gcc >= 8"
depends on !BR2_PACKAGE_HOST_NODEJS_BIN_ARCH_SUPPORTS
diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in
index 7f29e7a489..271e3fa029 100644
--- a/package/openjdk/Config.in
+++ b/package/openjdk/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "x86_64"
- default y if BR2_HOSTARCH = "aarch64"
+ default y if "$(HOSTARCH)" = "x86_64"
+ default y if "$(HOSTARCH)" = "aarch64"
# Taken from make/autoconf/platform.m4
config BR2_PACKAGE_OPENJDK_ARCH_SUPPORTS
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
index d255a05596..ca9d1a7e50 100644
--- a/package/openssl/Config.in
+++ b/package/openssl/Config.in
@@ -59,7 +59,7 @@ config BR2_PACKAGE_LIBRESSL
source "package/libressl/Config.in"
# openssl from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.openssl"
+source "$(BASE_DIR)/.br2-external.in.openssl"
endchoice
diff --git a/package/protobuf/Config.in b/package/protobuf/Config.in
index 633201b38c..1681e8976f 100644
--- a/package/protobuf/Config.in
+++ b/package/protobuf/Config.in
@@ -16,17 +16,17 @@
# host-protobuf only builds on certain architectures
config BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "aarch64"
- default y if BR2_HOSTARCH = "arm"
- default y if BR2_HOSTARCH = "mips"
- default y if BR2_HOSTARCH = "mipsel"
- default y if BR2_HOSTARCH = "powerpc"
- default y if BR2_HOSTARCH = "powerpc64"
- default y if BR2_HOSTARCH = "powerpc64le"
- default y if BR2_HOSTARCH = "sparc"
- default y if BR2_HOSTARCH = "sparc64"
- default y if BR2_HOSTARCH = "x86"
- default y if BR2_HOSTARCH = "x86_64"
+ default y if "$(HOSTARCH)" = "aarch64"
+ default y if "$(HOSTARCH)" = "arm"
+ default y if "$(HOSTARCH)" = "mips"
+ default y if "$(HOSTARCH)" = "mipsel"
+ default y if "$(HOSTARCH)" = "powerpc"
+ default y if "$(HOSTARCH)" = "powerpc64"
+ default y if "$(HOSTARCH)" = "powerpc64le"
+ default y if "$(HOSTARCH)" = "sparc"
+ default y if "$(HOSTARCH)" = "sparc64"
+ default y if "$(HOSTARCH)" = "x86"
+ default y if "$(HOSTARCH)" = "x86_64"
config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
bool
diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
index 2c16d819d2..d40d007ed4 100644
--- a/package/qt5/qt5webengine/Config.in
+++ b/package/qt5/qt5webengine/Config.in
@@ -5,7 +5,7 @@ config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
BR2_mips || BR2_mips64
# -m32 flag is used for 32bit builds and host tools have
# limited architecture support
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
depends on !BR2_BINFMT_FLAT # qt5base-icu
depends on BR2_USE_MMU # libglib2, qt5base-dbus
diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host
index 9cd912fc74..58a8ffd765 100644
--- a/package/rustc/Config.in.host
+++ b/package/rustc/Config.in.host
@@ -2,14 +2,14 @@
# When adding new entries below, update RUST_HOSTS in utils/update-rust
config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
bool
- default y if BR2_HOSTARCH = "aarch64"
- default y if BR2_HOSTARCH = "powerpc"
- default y if BR2_HOSTARCH = "powerpc64"
- default y if BR2_HOSTARCH = "powerpc64le"
- default y if BR2_HOSTARCH = "riscv64"
- default y if BR2_HOSTARCH = "s390x"
- default y if BR2_HOSTARCH = "x86"
- default y if BR2_HOSTARCH = "x86_64"
+ default y if "$(HOSTARCH)" = "aarch64"
+ default y if "$(HOSTARCH)" = "powerpc"
+ default y if "$(HOSTARCH)" = "powerpc64"
+ default y if "$(HOSTARCH)" = "powerpc64le"
+ default y if "$(HOSTARCH)" = "riscv64"
+ default y if "$(HOSTARCH)" = "s390x"
+ default y if "$(HOSTARCH)" = "x86"
+ default y if "$(HOSTARCH)" = "x86_64"
# The pre-built Rust standard library is only available for a number
# of architectures/C libraries combinations, with different levels of
diff --git a/package/sam-ba/Config.in.host b/package/sam-ba/Config.in.host
index cd11e8633e..9b2e2afb75 100644
--- a/package/sam-ba/Config.in.host
+++ b/package/sam-ba/Config.in.host
@@ -1,6 +1,6 @@
config BR2_PACKAGE_HOST_SAM_BA
bool "host sam-ba"
- depends on BR2_HOSTARCH = "x86_64"
+ depends on "$(HOSTARCH)" = "x86_64"
help
Atmel SAM-BA software provides an open set of tools for
programming the Atmel SAM3, SAM7 and SAM9 ARM-based
diff --git a/package/supertuxkart/Config.in b/package/supertuxkart/Config.in
index 0f6c244058..0aab4f9e9c 100644
--- a/package/supertuxkart/Config.in
+++ b/package/supertuxkart/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_SUPERTUXKART
bool "supertuxkart"
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
depends on BR2_i386 || BR2_x86_64
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP # openal
@@ -34,7 +34,7 @@ config BR2_PACKAGE_SUPERTUXKART
http://supertuxkart.sourceforge.net/Main_Page
comment "supertuxkart needs an OpenGL backend, a uClibc or glibc toolchain w/ NPTL, C++, gcc >= 9"
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
depends on BR2_i386 || BR2_x86_64
depends on BR2_USE_MMU
depends on BR2_PACKAGE_OPENAL_ARCH_SUPPORTS
diff --git a/package/ti-cgt-pru/Config.in.host b/package/ti-cgt-pru/Config.in.host
index eab3cd72d5..cf56854dd1 100644
--- a/package/ti-cgt-pru/Config.in.host
+++ b/package/ti-cgt-pru/Config.in.host
@@ -1,7 +1,7 @@
config BR2_PACKAGE_HOST_TI_CGT_PRU_ARCH_SUPPORTS
bool
default y
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
depends on BR2_arm
config BR2_PACKAGE_HOST_TI_CGT_PRU
diff --git a/package/ti-gfx/Config.in b/package/ti-gfx/Config.in
index 40f46335a3..093417fa21 100644
--- a/package/ti-gfx/Config.in
+++ b/package/ti-gfx/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_TI_GFX
bool "ti-gfx"
depends on BR2_LINUX_KERNEL && BR2_TOOLCHAIN_USES_GLIBC && BR2_arm
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86"
select BR2_HOSTARCH_NEEDS_IA32_LIBS
select BR2_PACKAGE_HAS_LIBEGL
select BR2_PACKAGE_HAS_LIBGLES
diff --git a/package/wine/Config.in b/package/wine/Config.in
index db3b1570ef..cb764f0c9b 100644
--- a/package/wine/Config.in
+++ b/package/wine/Config.in
@@ -2,9 +2,9 @@ config BR2_PACKAGE_WINE_ARCH_SUPPORTS
bool
default y
# Wine only builds on certain architectures
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" || \
- BR2_HOSTARCH = "powerpc" || BR2_HOSTARCH = "arm" || \
- BR2_HOSTARCH = "aarch64"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "x86" || \
+ "$(HOSTARCH)" = "powerpc" || "$(HOSTARCH)" = "arm" || \
+ "$(HOSTARCH)" = "aarch64"
# Wine has much CPU specific code and mostly makes sense on x86
depends on BR2_i386
diff --git a/system/Config.in b/system/Config.in
index f4788cd72e..46a1cf5d59 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -20,7 +20,7 @@ config BR2_ROOTFS_SKELETON_CUSTOM
Use custom target skeleton.
# skeleton from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.skeleton"
+source "$(BASE_DIR)/.br2-external.in.skeleton"
endchoice
@@ -189,7 +189,7 @@ config BR2_INIT_NONE
or with a rootfs-overlay.
# Init systems from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.init"
+source "$(BASE_DIR)/.br2-external.in.init"
endchoice
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 831387bc4e..11f107b41e 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -29,7 +29,7 @@ source "toolchain/toolchain-external/toolchain-external-bootlin/Config.in"
source "toolchain/toolchain-external/toolchain-external-custom/Config.in"
# Toolchains from br2-external trees, if any
-source "$BR2_BASE_DIR/.br2-external.in.toolchains"
+source "$(BASE_DIR)/.br2-external.in.toolchains"
endchoice
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
index c3592b9d20..ec489adac8 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64-be/Config.in
@@ -1,7 +1,7 @@
config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64_BE
bool "Arm AArch64 BE 15.2.rel1"
depends on BR2_aarch64_be
- depends on BR2_HOSTARCH = "x86_64"
+ depends on "$(HOSTARCH)" = "x86_64"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_SSP
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
index ae1298bfe2..ac60c57aa6 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in
@@ -1,7 +1,7 @@
config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
bool "Arm AArch64 15.2.rel1"
depends on BR2_aarch64
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "aarch64"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
select BR2_TOOLCHAIN_HAS_SSP
diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
index 992ba09518..982654ffa0 100644
--- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in
@@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
depends on BR2_arm
depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A
depends on BR2_ARM_CPU_HAS_NEON
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "aarch64"
+ depends on "$(HOSTARCH)" = "x86_64" || "$(HOSTARCH)" = "aarch64"
depends on BR2_ARM_EABIHF
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in
index 6552da9a84..1fa4fccb0f 100644
--- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in
@@ -1,7 +1,7 @@
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN
bool "Bootlin toolchains"
depends on BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
- depends on BR2_HOSTARCH = "x86_64"
+ depends on "$(HOSTARCH)" = "x86_64"
help
Bootlin toolchains are built using Buildroot for a large
number of architectures and C libraries configurations.
diff --git a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
index 07688a1416..2847b34007 100644
--- a/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
+++ b/toolchain/toolchain-external/toolchain-external-synopsys-arc/Config.in
@@ -3,7 +3,7 @@ config BR2_TOOLCHAIN_EXTERNAL_SYNOPSYS_ARC
depends on BR2_arc750d || BR2_arc770d || \
BR2_archs38_64mpy || BR2_archs38_full || \
BR2_archs4x_rel31 || BR2_archs4x
- depends on BR2_HOSTARCH = "x86_64"
+ depends on "$(HOSTARCH)" = "x86_64"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15
# The toolchains have libncurses and libexpat in their
# sysroot, confusing Buildroot and causing build
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
` (4 preceding siblings ...)
2026-05-31 15:35 ` [Buildroot] [PATCH v4 6/9] support/kconfig: reference environment variables directly (remove 'option env=') Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 16:22 ` Thomas Petazzoni via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 8/9] docs: update the Buildroot manual for kconfig variables expansion Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 9/9] Makefile: add new target "yellowconfig" based on kconfiglib Titouan Christophe via buildroot
7 siblings, 1 reply; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
From: Peter Seiderer <ps.report@gmx.net>
Fixes the following error/warnings with kconfig from linux-6.9-rc5:
package/libopenssl/Config.in:5:warning: choice value must have a prompt
package/libopenssl/Config.in:7:warning: defaults for choice values not supported
package/libopenssl/Config.in:15:warning: choice value must have a prompt
package/libopenssl/Config.in:18:warning: defaults for choice values not supported
package/libopenssl/Config.in:19:warning: defaults for choice values not supported
package/libopenssl/Config.in:20:warning: defaults for choice values not supported
package/libopenssl/Config.in:21:warning: defaults for choice values not supported
package/libopenssl/Config.in:22:warning: defaults for choice values not supported
package/libopenssl/Config.in:23:warning: defaults for choice values not supported
package/libopenssl/Config.in:24:warning: defaults for choice values not supported
package/libopenssl/Config.in:25:warning: defaults for choice values not supported
package/libopenssl/Config.in:26:warning: defaults for choice values not supported
package/libopenssl/Config.in:27:warning: defaults for choice values not supported
package/libopenssl/Config.in:28:warning: defaults for choice values not supported
package/libopenssl/Config.in:32:warning: defaults for choice values not supported
package/libopenssl/Config.in:33:warning: defaults for choice values not supported
package/libopenssl/Config.in:34:warning: defaults for choice values not supported
package/libopenssl/Config.in:50:warning: defaults for choice values not supported
package/libopenssl/Config.in:54:warning: defaults for choice values not supported
package/libopenssl/Config.in:58:warning: defaults for choice values not supported
package/libopenssl/Config.in:62:warning: defaults for choice values not supported
package/libopenssl/Config.in:66:warning: defaults for choice values not supported
package/libopenssl/Config.in:70:warning: defaults for choice values not supported
package/libopenssl/Config.in:75:warning: defaults for choice values not supported
package/libopenssl/Config.in:79:warning: defaults for choice values not supported
package/libopenssl/Config.in:83:warning: defaults for choice values not supported
package/libopenssl/Config.in:87:warning: defaults for choice values not supported
package/libopenssl/Config.in:91:warning: defaults for choice values not supported
package/libopenssl/Config.in:95:warning: defaults for choice values not supported
package/libopenssl/Config.in:99:warning: defaults for choice values not supported
package/libopenssl/Config.in:103:warning: defaults for choice values not supported
package/libopenssl/Config.in:107:warning: defaults for choice values not supported
package/libopenssl/Config.in:111:warning: defaults for choice values not supported
package/libopenssl/Config.in:115:warning: defaults for choice values not supported
package/libopenssl/Config.in:119:warning: defaults for choice values not supported
package/libopenssl/Config.in:123:warning: defaults for choice values not supported
package/libopenssl/Config.in:130:warning: defaults for choice values not supported
package/libopenssl/Config.in:134:warning: defaults for choice values not supported
package/openssl/Config.in:12:error: recursive dependency detected!
package/openssl/Config.in:12: choice <choice> contains symbol BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
package/libopenssl/Config.in:5: symbol BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC is part of choice BR2_PACKAGE_LIBOPENSSL
package/openssl/Config.in:17: symbol BR2_PACKAGE_LIBOPENSSL is part of choice <choice>
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
package/libopenssl/Config.in | 4 ----
package/libressl/Config.in | 4 ----
package/openssl/Config.in | 19 ++++++++++++++-----
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in
index 03d3def802..a76def1470 100644
--- a/package/libopenssl/Config.in
+++ b/package/libopenssl/Config.in
@@ -1,5 +1,3 @@
-if BR2_PACKAGE_LIBOPENSSL
-
# 4xx PowerPC cores seem to have trouble with openssl's ASM
# optimizations
config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH_LINUX_PPC
@@ -228,5 +226,3 @@ config BR2_PACKAGE_LIBOPENSSL_ENABLE_SSL_TRACE
help
Build with SSL Trace support. Disabling this option may
provide a small reduction in libssl binary size.
-
-endif # BR2_PACKAGE_LIBOPENSSL
diff --git a/package/libressl/Config.in b/package/libressl/Config.in
index 600829cb9e..2146481faa 100644
--- a/package/libressl/Config.in
+++ b/package/libressl/Config.in
@@ -1,9 +1,5 @@
-if BR2_PACKAGE_LIBRESSL
-
config BR2_PACKAGE_LIBRESSL_BIN
bool "openssl binary"
help
Install the openssl binary to the target file system. This is
a command line tool for doing various cryptographic stuff.
-
-endif
diff --git a/package/openssl/Config.in b/package/openssl/Config.in
index ca9d1a7e50..335e00d04a 100644
--- a/package/openssl/Config.in
+++ b/package/openssl/Config.in
@@ -39,8 +39,6 @@ config BR2_PACKAGE_LIBOPENSSL
Note: Some helper scripts need perl.
-source "package/libopenssl/Config.in"
-
config BR2_PACKAGE_LIBRESSL
bool "libressl"
depends on BR2_PACKAGE_LIBRESSL_ARCH_SUPPORTS
@@ -56,12 +54,23 @@ config BR2_PACKAGE_LIBRESSL
http://www.libressl.org/
+config BR2_PACKAGE_OPENSSL_EXTERNAL
+ bool "from an external tree"
+ depends on "$(BR2_EXTERNAL)" != ""
+
+endchoice
+
+if BR2_PACKAGE_LIBOPENSSL
+source "package/libopenssl/Config.in"
+endif
+
+if BR2_PACKAGE_LIBRESSL
source "package/libressl/Config.in"
+endif
-# openssl from br2-external trees, if any
+if BR2_PACKAGE_OPENSSL_EXTERNAL
source "$(BASE_DIR)/.br2-external.in.openssl"
-
-endchoice
+endif
config BR2_PACKAGE_HAS_OPENSSL
bool
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* Re: [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice
2026-05-31 15:35 ` [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice Titouan Christophe via buildroot
@ 2026-05-31 16:22 ` Thomas Petazzoni via buildroot
2026-06-01 6:50 ` Titouan Christophe via buildroot
0 siblings, 1 reply; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-05-31 16:22 UTC (permalink / raw)
To: Titouan Christophe; +Cc: yann.morin, ps.report, petr.vorel, buildroot
On Sun, May 31, 2026 at 05:35:51PM +0200, Titouan Christophe wrote:
> +config BR2_PACKAGE_OPENSSL_EXTERNAL
> + bool "from an external tree"
> + depends on "$(BR2_EXTERNAL)" != ""
Hu? What is this thing?
And what about the other packages that are like openssl, i.e virtual
packages that may have providers in BR2_EXTERNAL trees?
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice
2026-05-31 16:22 ` Thomas Petazzoni via buildroot
@ 2026-06-01 6:50 ` Titouan Christophe via buildroot
2026-06-01 7:51 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-06-01 6:50 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: yann.morin, ps.report, petr.vorel, buildroot
Hello Thomas, all,
On 31/05/26 18:22, Thomas Petazzoni wrote:
> On Sun, May 31, 2026 at 05:35:51PM +0200, Titouan Christophe wrote:
>> +config BR2_PACKAGE_OPENSSL_EXTERNAL
>> + bool "from an external tree"
>> + depends on "$(BR2_EXTERNAL)" != ""
> Hu? What is this thing?
Not exactly sure for this particular entry (maybe you still remember
that part @Peter Seiderer ?). Indeed, if I revert that particular change
everything still works as expected. However, reverting either the
libressl or libopenssl trigger the issue.
What I can tell for sure is that the libressl & libopenssl changes are
required because a choice can no longer contain ifs, and the included
file have some; hence the trickery to move them out of the choice.
I don't know about a publicly available br2-external that provides
openssl, but if you have some I'd be glad to look further into that.
>
> And what about the other packages that are like openssl, i.e virtual
> packages that may have providers in BR2_EXTERNAL trees?
To the extent of my understanding, this is because the included files do
not contain ifs ? At least it is the easier case, as we don't have any
external at the moment.
So maybe we should do it for all places where we include an external as
a preventive measure, in case the external provided config.in contains
any if condition.
>
> Thanks!
>
> Thomas
Thanks you for looking into this !
Titouan
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice
2026-06-01 6:50 ` Titouan Christophe via buildroot
@ 2026-06-01 7:51 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 12+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-06-01 7:51 UTC (permalink / raw)
To: Titouan Christophe; +Cc: yann.morin, ps.report, petr.vorel, buildroot
Hello,
On Mon, Jun 01, 2026 at 08:50:25AM +0200, Titouan Christophe wrote:
> On 31/05/26 18:22, Thomas Petazzoni wrote:
> > On Sun, May 31, 2026 at 05:35:51PM +0200, Titouan Christophe wrote:
> > > +config BR2_PACKAGE_OPENSSL_EXTERNAL
> > > + bool "from an external tree"
> > > + depends on "$(BR2_EXTERNAL)" != ""
> > Hu? What is this thing?
> Not exactly sure for this particular entry (maybe you still remember that
> part @Peter Seiderer ?). Indeed, if I revert that particular change
> everything still works as expected. However, reverting either the libressl
> or libopenssl trigger the issue.
>
> What I can tell for sure is that the libressl & libopenssl changes are
> required because a choice can no longer contain ifs, and the included file
> have some; hence the trickery to move them out of the choice.
>
> I don't know about a publicly available br2-external that provides openssl,
> but if you have some I'd be glad to look further into that.
I don't have one, but it should be trivial to create a fake/dummy one,
to make sure this continues to work. Or maybe we have a runtime test
for this? (And if not we should have one!)
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 8/9] docs: update the Buildroot manual for kconfig variables expansion
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
` (5 preceding siblings ...)
2026-05-31 15:35 ` [Buildroot] [PATCH v4 7/9] package/openssl: move libopenssl/libressl/.br2-external.in.openssl source statements outside of the choice Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
2026-05-31 15:35 ` [Buildroot] [PATCH v4 9/9] Makefile: add new target "yellowconfig" based on kconfiglib Titouan Christophe via buildroot
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
Since the update of kconfig, $VARIABLES are no longer expanded.
Update the Buildoot user manual accordingly.
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
docs/manual/customize-outside-br.adoc | 12 ++++++------
docs/manual/migrating.adoc | 7 +++++++
2 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/docs/manual/customize-outside-br.adoc b/docs/manual/customize-outside-br.adoc
index 8a76f3a998..ab9557923b 100644
--- a/docs/manual/customize-outside-br.adoc
+++ b/docs/manual/customize-outside-br.adoc
@@ -154,8 +154,8 @@ The main usage of this is to store package recipes. The recommended way
to do this is to write a +Config.in+ file that looks like:
----
-source "$BR2_EXTERNAL_BAR_42_PATH/package/package1/Config.in"
-source "$BR2_EXTERNAL_BAR_42_PATH/package/package2/Config.in"
+source "$(BR2_EXTERNAL_BAR_42_PATH)/package/package1/Config.in"
+source "$(BR2_EXTERNAL_BAR_42_PATH)/package/package2/Config.in"
----
Then, have an +external.mk+ file that looks like:
@@ -244,10 +244,10 @@ illustration, of course):
| `----
|
|- Config.in
- | |source "$BR2_EXTERNAL_BAR_42_PATH/toolchain/toolchain-external-mine/Config.in.options"
- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in"
- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in"
- | |source "$BR2_EXTERNAL_BAR_42_PATH/package/my-jpeg/Config.in"
+ | |source "$(BR2_EXTERNAL_BAR_42_PATH)/toolchain/toolchain-external-mine/Config.in.options"
+ | |source "$(BR2_EXTERNAL_BAR_42_PATH)/package/pkg-1/Config.in"
+ | |source "$(BR2_EXTERNAL_BAR_42_PATH)/package/pkg-2/Config.in"
+ | |source "$(BR2_EXTERNAL_BAR_42_PATH)/package/my-jpeg/Config.in"
| |
| |config BAR_42_FLASH_ADDR
| | hex "my-board flash address"
diff --git a/docs/manual/migrating.adoc b/docs/manual/migrating.adoc
index d8d86d8945..fe3d34d740 100644
--- a/docs/manual/migrating.adoc
+++ b/docs/manual/migrating.adoc
@@ -247,3 +247,10 @@ In 2026.02, the network-manager package stopped selecting the gnutls package as
a cryptography backend automatically. Manually enable the gnutls or libnss
package if you require features that depend on a cryptography backend, such as
certificate-based authentication.
+
+Following the update of the bundled kconfig programs suite, variable names
+in `source` statements must now be enclosed in parentheses. For example,
+`source "$BR2_EXTERNAL_FOO_PATH/bar"` should now be rewritten as
+`source "$(BR2_EXTERNAL_FOO_PATH)/bar"`.
+This is affecting **all buildroot externals**, which must therefore be
+updated accordingly to support Buildroot 2026.02 and upper
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 9/9] Makefile: add new target "yellowconfig" based on kconfiglib
2026-05-31 15:35 [Buildroot] [PATCH v4 0/9] Update kconfig infrastructure to Linux 6.9 Titouan Christophe via buildroot
` (6 preceding siblings ...)
2026-05-31 15:35 ` [Buildroot] [PATCH v4 8/9] docs: update the Buildroot manual for kconfig variables expansion Titouan Christophe via buildroot
@ 2026-05-31 15:35 ` Titouan Christophe via buildroot
7 siblings, 0 replies; 12+ messages in thread
From: Titouan Christophe via buildroot @ 2026-05-31 15:35 UTC (permalink / raw)
To: buildroot; +Cc: yann.morin, ps.report, thomas.petazzoni, petr.vorel
As informally proposed during the 2026 Buildroot dev meeting,
this introduces a new kconfig user interface based on Zephyr's kconfiglib.
The name "yellowconfig" is inspired by the yellow-themed curses interface,
as opposed to the classical blue "menuconfig".
Read more about kconfiglib: https://github.com/zephyrproject-rtos/Kconfiglib
To run that target, one has to install kconfiglib beforehand,
for example by issuing the following command:
> pip install kconfiglib
In terms of user interface differences, Zephyr's kconfig brings:
- searching symbols as you type, and more symbols are visible in a single
page of search results [1]
- symbols that aren't selectable (because of unmet dependencies) can be
viewed (toggling them on or off with the key "A") [2]
- symbols y/n dependencies are displayed more clearly, each one on a newline.
This is especially appreciable when there are many of them, whereas in the
classical menuconfig one has to scroll left/right to view them [3]
Having this as a new make target allow for Buildroot users to try it out
and forge their opinion on this different interface without breaking
habits and usual workflows. However, in the longer run, this could possibly
allow to replace the custom-patched kconfig programs we ship in Buildroot
with an unmodified upstream supported codebase.
Moreover, as unselectable symbols can be displayed in the interface, this
would remove the need for comments in the like "<pkg> needs <condition>",
where we need to invert and maintain conditional dependencies.
As a final nice addition, having a Python based kconfiglib allows for
programmatic access to kconfig symbols and settings in scripts, which
could be useful in testing scenarios.
[1] https://gitlab.com/-/project/2648174/uploads/8ae29a772927e7e555f85f6d31876bb4/2026-02-04-105501_958x1015_scrot.png
[2] https://gitlab.com/-/project/2648174/uploads/8d27510cf738cab9fd95ffdd81f75bc9/2026-02-04-105514_958x1015_scrot.png
[3] https://gitlab.com/-/project/2648174/uploads/6d51a4b608fce076ac8c0c84623531f2/2026-02-04-105522_958x1015_scrot.png
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
---
Makefile | 3 +++
docs/manual/quickstart.adoc | 7 +++++++
2 files changed, 10 insertions(+)
diff --git a/Makefile b/Makefile
index 0a245c937c..d647792fc9 100644
--- a/Makefile
+++ b/Makefile
@@ -1017,6 +1017,9 @@ gconfig: $(BUILD_DIR)/buildroot-config/gconf outputmakefile
menuconfig: $(BUILD_DIR)/buildroot-config/mconf outputmakefile
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
+yellowconfig: outputmakefile
+ @$(COMMON_CONFIG_ENV) CONFIG_= python -m menuconfig $(CONFIG_CONFIG_IN)
+
nconfig: $(BUILD_DIR)/buildroot-config/nconf outputmakefile
@$(COMMON_CONFIG_ENV) $< $(CONFIG_CONFIG_IN)
diff --git a/docs/manual/quickstart.adoc b/docs/manual/quickstart.adoc
index 605031037f..d8e788ca97 100644
--- a/docs/manual/quickstart.adoc
+++ b/docs/manual/quickstart.adoc
@@ -27,6 +27,13 @@ for the original curses-based configurator, or
for the new curses-based configurator, or
+----
+ $ make yellowconfig
+----
+
+for the https://pypi.org/project/kconfiglib/[Python kconfiglib]
+curses-based configurator, or
+
----
$ make xconfig
----
--
2.54.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 12+ messages in thread