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 +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 +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