build: scripts/config - update to kconfig-v6.6.16
The main goal here is to keep this close to upstream. Changes include: - allow symbols implied by y to become m - make 'imply' obey the direct dependency - allow only 'config', 'comment', and 'if' inside 'choice' - qconf: make search fully work again on split mode - qconf: navigate menus on hyperlinks - remove '---help---' support - qconf: allow to edit "int", "hex", "string" menus in-place - qconf: drop Qt4 support - nconf: fix core dump when searching in empty menu - nconf: stop endless search loops - Create links to main menu items in search - fix segmentation fault in menuconfig search - nconf: Add search jump feature - port qconf to work with Qt6 in addition to Qt5 - fix possible buffer overflow - fix memory leak from range properties Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
This commit is contained in:
committed by
Robert Marko
parent
ff6df9ac9f
commit
65a3eb28d5
@@ -35,6 +35,7 @@ enum input_mode {
|
||||
olddefconfig,
|
||||
yes2modconfig,
|
||||
mod2yesconfig,
|
||||
mod2noconfig,
|
||||
fatalrecursive,
|
||||
};
|
||||
static enum input_mode input_mode = oldaskconfig;
|
||||
@@ -164,8 +165,6 @@ enum conf_def_mode {
|
||||
def_default,
|
||||
def_yes,
|
||||
def_mod,
|
||||
def_y2m,
|
||||
def_m2y,
|
||||
def_no,
|
||||
def_random
|
||||
};
|
||||
@@ -303,12 +302,10 @@ static bool conf_set_all_new_symbols(enum conf_def_mode mode)
|
||||
return has_changed;
|
||||
}
|
||||
|
||||
static void conf_rewrite_mod_or_yes(enum conf_def_mode mode)
|
||||
static void conf_rewrite_tristates(tristate old_val, tristate new_val)
|
||||
{
|
||||
struct symbol *sym;
|
||||
int i;
|
||||
tristate old_val = (mode == def_y2m) ? yes : mod;
|
||||
tristate new_val = (mode == def_y2m) ? mod : yes;
|
||||
|
||||
for_all_symbols(i, sym) {
|
||||
if (sym_get_type(sym) == S_TRISTATE &&
|
||||
@@ -555,7 +552,7 @@ static int conf_choice(struct menu *menu)
|
||||
print_help(child);
|
||||
continue;
|
||||
}
|
||||
sym_set_choice_value(sym, child->sym);
|
||||
sym_set_tristate_value(child->sym, yes);
|
||||
for (child = child->list; child; child = child->next) {
|
||||
indent += 2;
|
||||
conf(child);
|
||||
@@ -647,19 +644,8 @@ static void check_conf(struct menu *menu)
|
||||
|
||||
switch (input_mode) {
|
||||
case listnewconfig:
|
||||
if (sym->name) {
|
||||
const char *str;
|
||||
|
||||
if (sym->type == S_STRING) {
|
||||
str = sym_get_string_value(sym);
|
||||
str = sym_escape_string_value(str);
|
||||
printf("%s%s=%s\n", CONFIG_, sym->name, str);
|
||||
free((void *)str);
|
||||
} else {
|
||||
str = sym_get_string_value(sym);
|
||||
printf("%s%s=%s\n", CONFIG_, sym->name, str);
|
||||
}
|
||||
}
|
||||
if (sym->name)
|
||||
print_symbol_for_listconfig(sym);
|
||||
break;
|
||||
case helpnewconfig:
|
||||
printf("-----\n");
|
||||
@@ -697,7 +683,8 @@ static const struct option long_opts[] = {
|
||||
{"olddefconfig", no_argument, &input_mode_opt, olddefconfig},
|
||||
{"yes2modconfig", no_argument, &input_mode_opt, yes2modconfig},
|
||||
{"mod2yesconfig", no_argument, &input_mode_opt, mod2yesconfig},
|
||||
{"fatalrecursive",no_argument, NULL, fatalrecursive},
|
||||
{"mod2noconfig", no_argument, &input_mode_opt, mod2noconfig},
|
||||
{"fatalrecursive",no_argument, &input_mode_opt, fatalrecursive},
|
||||
{NULL, 0, NULL, 0}
|
||||
};
|
||||
|
||||
@@ -707,8 +694,10 @@ static void conf_usage(const char *progname)
|
||||
printf("\n");
|
||||
printf("Generic options:\n");
|
||||
printf(" -h, --help Print this message and exit.\n");
|
||||
printf(" -r <file> Read <file> as input.\n");
|
||||
printf(" -s, --silent Do not print log.\n");
|
||||
printf(" --fatalrecursive Treat recursive depenendencies as a fatal error\n");
|
||||
printf(" -w <file> Write config to <file>.\n");
|
||||
printf(" --fatalrecursive Treat recursive dependency as error.\n");
|
||||
printf("\n");
|
||||
printf("Mode options:\n");
|
||||
printf(" --listnewconfig List new options\n");
|
||||
@@ -727,6 +716,7 @@ static void conf_usage(const char *progname)
|
||||
printf(" --randconfig New config with random answer to all options\n");
|
||||
printf(" --yes2modconfig Change answers from yes to mod if possible\n");
|
||||
printf(" --mod2yesconfig Change answers from mod to yes if possible\n");
|
||||
printf(" --mod2noconfig Change answers from mod to no if possible\n");
|
||||
printf(" (If none of the above is given, --oldaskconfig is the default)\n");
|
||||
}
|
||||
|
||||
@@ -740,27 +730,23 @@ int main(int ac, char **av)
|
||||
|
||||
tty_stdio = isatty(0) && isatty(1);
|
||||
|
||||
while ((opt = getopt_long(ac, av, "hr:sw:", long_opts, NULL)) != -1) {
|
||||
while ((opt = getopt_long(ac, av, "hr:w:s", long_opts, NULL)) != -1) {
|
||||
switch (opt) {
|
||||
case 'h':
|
||||
conf_usage(progname);
|
||||
exit(1);
|
||||
break;
|
||||
case 's':
|
||||
conf_set_message_callback(NULL);
|
||||
break;
|
||||
case fatalrecursive:
|
||||
recursive_is_error = 1;
|
||||
continue;
|
||||
case 'r':
|
||||
input_file = optarg;
|
||||
break;
|
||||
case 's':
|
||||
conf_set_message_callback(NULL);
|
||||
break;
|
||||
case 'w':
|
||||
output_file = optarg;
|
||||
break;
|
||||
case 0:
|
||||
input_mode = input_mode_opt;
|
||||
switch (input_mode) {
|
||||
switch (input_mode_opt) {
|
||||
case syncconfig:
|
||||
/*
|
||||
* syncconfig is invoked during the build stage.
|
||||
@@ -777,9 +763,13 @@ int main(int ac, char **av)
|
||||
case randconfig:
|
||||
set_randconfig_seed();
|
||||
break;
|
||||
case fatalrecursive:
|
||||
recursive_is_error = 1;
|
||||
continue;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
input_mode = input_mode_opt;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -812,6 +802,7 @@ int main(int ac, char **av)
|
||||
case olddefconfig:
|
||||
case yes2modconfig:
|
||||
case mod2yesconfig:
|
||||
case mod2noconfig:
|
||||
case allnoconfig:
|
||||
case allyesconfig:
|
||||
case allmodconfig:
|
||||
@@ -858,10 +849,13 @@ int main(int ac, char **av)
|
||||
case savedefconfig:
|
||||
break;
|
||||
case yes2modconfig:
|
||||
conf_rewrite_mod_or_yes(def_y2m);
|
||||
conf_rewrite_tristates(yes, mod);
|
||||
break;
|
||||
case mod2yesconfig:
|
||||
conf_rewrite_mod_or_yes(def_m2y);
|
||||
conf_rewrite_tristates(mod, yes);
|
||||
break;
|
||||
case mod2noconfig:
|
||||
conf_rewrite_tristates(mod, no);
|
||||
break;
|
||||
case oldaskconfig:
|
||||
rootEntry = &rootmenu;
|
||||
|
||||
Reference in New Issue
Block a user