From 7540dcc0384509c32521a65729b7609b534af362 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN" Date: Tue, 2 Aug 2016 22:09:57 +0200 Subject: [PATCH] Synchronise with v3.15 Signed-off-by: "Yann E. MORIN" --- .version | 2 +- docs/kconfig-language.txt | 4 ++++ libs/parser/confdata.c | 5 ++++- libs/parser/expr.h | 3 +++ libs/parser/hconf.gperf | 1 + libs/parser/lkc.h | 1 + libs/parser/menu.c | 3 +++ scripts/ksync.log | 1 + 8 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.version b/.version index 2acc951..69d9a5d 100644 --- a/.version +++ b/.version @@ -1,2 +1,2 @@ -3.14.0 455c6fdbd219161bd09b1165f11699d6d73de11c Shuffling Zombie Juror +3.15.0 1860e379875dfe7271c649058aeddffe5afd9d0d Shuffling Zombie Juror 0 diff --git a/docs/kconfig-language.txt b/docs/kconfig-language.txt index c420676..350f733 100644 --- a/docs/kconfig-language.txt +++ b/docs/kconfig-language.txt @@ -157,6 +157,10 @@ applicable everywhere (see syntax). to the build environment (if this is desired, it can be done via another symbol). + - "allnoconfig_y" + This declares the symbol as one that should have the value y when + using "allnoconfig". Used for symbols that hide other symbols. + Menu dependencies ----------------- diff --git a/libs/parser/confdata.c b/libs/parser/confdata.c index 87f7238..f88d90f 100644 --- a/libs/parser/confdata.c +++ b/libs/parser/confdata.c @@ -1178,7 +1178,10 @@ bool conf_set_all_new_symbols(enum conf_def_mode mode) sym->def[S_DEF_USER].tri = mod; break; case def_no: - sym->def[S_DEF_USER].tri = no; + if (sym->flags & SYMBOL_ALLNOCONFIG_Y) + sym->def[S_DEF_USER].tri = yes; + else + sym->def[S_DEF_USER].tri = no; break; case def_random: sym->def[S_DEF_USER].tri = no; diff --git a/libs/parser/expr.h b/libs/parser/expr.h index ba663e1..412ea8a 100644 --- a/libs/parser/expr.h +++ b/libs/parser/expr.h @@ -109,6 +109,9 @@ struct symbol { /* choice values need to be set before calculating this symbol value */ #define SYMBOL_NEED_SET_CHOICE_VALUES 0x100000 +/* Set symbol to y if allnoconfig; used for symbols that hide others */ +#define SYMBOL_ALLNOCONFIG_Y 0x200000 + #define SYMBOL_MAXLENGTH 256 #define SYMBOL_HASHSIZE 9973 diff --git a/libs/parser/hconf.gperf b/libs/parser/hconf.gperf index f14ab41..b6ac02d 100644 --- a/libs/parser/hconf.gperf +++ b/libs/parser/hconf.gperf @@ -44,4 +44,5 @@ on, T_ON, TF_PARAM modules, T_OPT_MODULES, TF_OPTION defconfig_list, T_OPT_DEFCONFIG_LIST,TF_OPTION env, T_OPT_ENV, TF_OPTION +allnoconfig_y, T_OPT_ALLNOCONFIG_Y,TF_OPTION %% diff --git a/libs/parser/lkc.h b/libs/parser/lkc.h index 09f4edf..d5daa7a 100644 --- a/libs/parser/lkc.h +++ b/libs/parser/lkc.h @@ -61,6 +61,7 @@ enum conf_def_mode { #define T_OPT_MODULES 1 #define T_OPT_DEFCONFIG_LIST 2 #define T_OPT_ENV 3 +#define T_OPT_ALLNOCONFIG_Y 4 struct kconf_id { int name; diff --git a/libs/parser/menu.c b/libs/parser/menu.c index db1512a..3ac2c9c 100644 --- a/libs/parser/menu.c +++ b/libs/parser/menu.c @@ -217,6 +217,9 @@ void menu_add_option(int token, char *arg) case T_OPT_ENV: prop_add_env(arg); break; + case T_OPT_ALLNOCONFIG_Y: + current_entry->sym->flags |= SYMBOL_ALLNOCONFIG_Y; + break; } } diff --git a/scripts/ksync.log b/scripts/ksync.log index 845a120..79573b9 100644 --- a/scripts/ksync.log +++ b/scripts/ksync.log @@ -91,3 +91,4 @@ e062781 kconfig: do not allow more than one symbol to have 'option modules' 3381960 kconfig: remove unused definition from scanner 503c823 kconfig: fix bug in search results string: use strlen(gstr->s), not gstr->len 00d4f8f xconfig: Fix the filename for GUI settings +5d2acfc kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT -- 2.39.5