aboutsummaryrefslogtreecommitdiff
path: root/util/kconfig/patches
diff options
context:
space:
mode:
Diffstat (limited to 'util/kconfig/patches')
-rw-r--r--util/kconfig/patches/0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch64
-rw-r--r--util/kconfig/patches/series1
2 files changed, 65 insertions, 0 deletions
diff --git a/util/kconfig/patches/0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch b/util/kconfig/patches/0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch
new file mode 100644
index 0000000000..fb85035a7c
--- /dev/null
+++ b/util/kconfig/patches/0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch
@@ -0,0 +1,64 @@
+From 2a44aa33d6506a29b14d9c429410ad582d1d6636 Mon Sep 17 00:00:00 2001
+From: Martin Roth <gaumless@gmail.com>
+Date: Sun, 13 Nov 2022 15:20:57 -0700
+Subject: [PATCH] util/kconfig: Move Kconfig deps back into build/config
+
+revert commit 1b9e740a8 (kconfig: fix failing to generate auto.conf) [1]
+
+The above change caused all of the enabled kconfig options to be written
+into the top level build directory. We don't want that, so go back to
+the old behavior for the coreboot tree.
+
+[1] https://web.archive.org/web/20220316120807/https://github.com/torvalds/linux/commit/1b9e740a81f91ae338b29ed70455719804957b80
+
+Signed-off-by: Martin Roth <gaumless@gmail.com>
+Change-Id: I2904f69a5d85337ad0a6b48590ccd4b4a6e38b70
+---
+ util/kconfig/confdata.c | 20 +++++++++++---------
+ 1 file changed, 11 insertions(+), 9 deletions(-)
+
+diff --git a/util/kconfig/confdata.c b/util/kconfig/confdata.c
+index 95fb960179..3da9e8b38d 100644
+--- a/util/kconfig/confdata.c
++++ b/util/kconfig/confdata.c
+@@ -230,6 +230,13 @@ static const char *conf_get_autoheader_name(void)
+ return name ? name : "include/generated/autoconf.h";
+ }
+
++static const char *conf_get_autobase_name(void)
++{
++ char *name = getenv("KCONFIG_SPLITCONFIG");
++
++ return name ? name : "include/config/";
++}
++
+ static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
+ {
+ char *p2;
+@@ -1024,19 +1031,14 @@ static int conf_write_autoconf_cmd(const char *autoconf_name)
+
+ static int conf_touch_deps(void)
+ {
+- const char *name, *tmp;
++ const char *name;
+ struct symbol *sym;
+ int res, i;
+
+- name = conf_get_autoconfig_name();
+- tmp = strrchr(name, '/');
+- depfile_prefix_len = tmp ? tmp - name + 1 : 0;
+- if (depfile_prefix_len + 1 > sizeof(depfile_path))
+- return -1;
+-
+- strncpy(depfile_path, name, depfile_prefix_len);
+- depfile_path[depfile_prefix_len] = 0;
++ strcpy(depfile_path, conf_get_autobase_name());
++ depfile_prefix_len = strlen(depfile_path);
+
++ name = conf_get_autoconfig_name();
+ conf_read_simple(name, S_DEF_AUTO);
+ sym_calc_value(modules_sym);
+
+--
+2.30.2
+
diff --git a/util/kconfig/patches/series b/util/kconfig/patches/series
index 13b684b12e..655c493868 100644
--- a/util/kconfig/patches/series
+++ b/util/kconfig/patches/series
@@ -9,3 +9,4 @@
0009-util-kconfig-Allow-emitting-false-booleans-into-kconfig-output.patch
0010-reenable-source-in-choice.patch
0013-util-kconfig-detect-ncurses-on-FreeBSD.patch
+0014-util-kconfig-Move-Kconfig-deps-back-into-build-confi.patch