Lines Matching refs:sym

226 static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)  in conf_set_sym_val()  argument
230 switch (sym->type) { in conf_set_sym_val()
233 sym->def[def].tri = mod; in conf_set_sym_val()
234 sym->flags |= def_flags; in conf_set_sym_val()
240 sym->def[def].tri = yes; in conf_set_sym_val()
241 sym->flags |= def_flags; in conf_set_sym_val()
245 sym->def[def].tri = no; in conf_set_sym_val()
246 sym->flags |= def_flags; in conf_set_sym_val()
251 p, sym->name); in conf_set_sym_val()
273 if (sym_string_valid(sym, p)) { in conf_set_sym_val()
274 sym->def[def].val = xstrdup(p); in conf_set_sym_val()
275 sym->flags |= def_flags; in conf_set_sym_val()
279 p, sym->name); in conf_set_sym_val()
350 struct symbol *sym; in conf_read_simple() local
407 for_all_symbols(i, sym) { in conf_read_simple()
408 sym->flags |= SYMBOL_CHANGED; in conf_read_simple()
409 sym->flags &= ~(def_flags|SYMBOL_VALID); in conf_read_simple()
410 if (sym_is_choice(sym)) in conf_read_simple()
411 sym->flags |= def_flags; in conf_read_simple()
412 switch (sym->type) { in conf_read_simple()
416 if (sym->def[def].val) in conf_read_simple()
417 free(sym->def[def].val); in conf_read_simple()
420 sym->def[def].val = NULL; in conf_read_simple()
421 sym->def[def].tri = no; in conf_read_simple()
427 sym = NULL; in conf_read_simple()
438 sym = sym_find(line + 2 + strlen(CONFIG_)); in conf_read_simple()
439 if (!sym) { in conf_read_simple()
444 sym = sym_lookup(line + 2 + strlen(CONFIG_), 0); in conf_read_simple()
445 if (sym->type == S_UNKNOWN) in conf_read_simple()
446 sym->type = S_BOOLEAN; in conf_read_simple()
448 if (sym->flags & def_flags) { in conf_read_simple()
449 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
451 switch (sym->type) { in conf_read_simple()
454 sym->def[def].tri = no; in conf_read_simple()
455 sym->flags |= def_flags; in conf_read_simple()
472 sym = sym_find(line + strlen(CONFIG_)); in conf_read_simple()
473 if (!sym) { in conf_read_simple()
487 if (sym->flags & def_flags) { in conf_read_simple()
488 conf_warning("override: reassigning to symbol %s", sym->name); in conf_read_simple()
490 if (conf_set_sym_val(sym, def, def_flags, p)) in conf_read_simple()
500 if (sym && sym_is_choice_value(sym)) { in conf_read_simple()
501 struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_read_simple()
502 switch (sym->def[def].tri) { in conf_read_simple()
507 conf_warning("%s creates inconsistent choice state", sym->name); in conf_read_simple()
513 conf_warning("override: %s changes choice state", sym->name); in conf_read_simple()
514 cs->def[def].val = sym; in conf_read_simple()
517 cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri); in conf_read_simple()
527 struct symbol *sym; in conf_read() local
540 for_all_symbols(i, sym) { in conf_read()
541 sym_calc_value(sym); in conf_read()
542 if (sym_is_choice(sym) || (sym->flags & SYMBOL_NO_WRITE)) in conf_read()
544 if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) { in conf_read()
546 switch (sym->type) { in conf_read()
549 if (sym->def[S_DEF_USER].tri == sym_get_tristate_value(sym)) in conf_read()
553 if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val)) in conf_read()
557 } else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE)) in conf_read()
564 for_all_symbols(i, sym) { in conf_read()
565 if (sym_has_value(sym) && !sym_is_choice_value(sym)) { in conf_read()
571 if (sym->visible == no && !conf_unsaved) in conf_read()
572 sym->flags &= ~SYMBOL_DEF_USER; in conf_read()
573 switch (sym->type) { in conf_read()
578 if (sym_string_within_range(sym, sym->def[S_DEF_USER].val)) in conf_read()
580 sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER); in conf_read()
673 static void __print_symbol(FILE *fp, struct symbol *sym, enum output_n output_n, in __print_symbol() argument
679 if (sym->type == S_UNKNOWN) in __print_symbol()
682 val = sym_get_string_value(sym); in __print_symbol()
684 if ((sym->type == S_BOOLEAN || sym->type == S_TRISTATE) && in __print_symbol()
687 fprintf(fp, "# %s%s is not set\n", CONFIG_, sym->name); in __print_symbol()
691 if (sym->type == S_STRING && escape_string) { in __print_symbol()
696 fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, val); in __print_symbol()
701 static void print_symbol_for_dotconfig(FILE *fp, struct symbol *sym) in print_symbol_for_dotconfig() argument
703 __print_symbol(fp, sym, OUTPUT_N_AS_UNSET, true); in print_symbol_for_dotconfig()
706 static void print_symbol_for_autoconf(FILE *fp, struct symbol *sym) in print_symbol_for_autoconf() argument
708 __print_symbol(fp, sym, OUTPUT_N_NONE, false); in print_symbol_for_autoconf()
711 void print_symbol_for_listconfig(struct symbol *sym) in print_symbol_for_listconfig() argument
713 __print_symbol(stdout, sym, OUTPUT_N, true); in print_symbol_for_listconfig()
716 static void print_symbol_for_c(FILE *fp, struct symbol *sym) in print_symbol_for_c() argument
723 if (sym->type == S_UNKNOWN) in print_symbol_for_c()
726 val = sym_get_string_value(sym); in print_symbol_for_c()
728 switch (sym->type) { in print_symbol_for_c()
752 fprintf(fp, "#define %s%s%s %s%s\n", CONFIG_, sym->name, sym_suffix, in print_symbol_for_c()
758 static void print_symbol_for_rustccfg(FILE *fp, struct symbol *sym) in print_symbol_for_rustccfg() argument
766 if (sym->type == S_UNKNOWN) in print_symbol_for_rustccfg()
769 val = sym_get_string_value(sym); in print_symbol_for_rustccfg()
771 switch (sym->type) { in print_symbol_for_rustccfg()
790 fprintf(fp, "--cfg=%s%s\n", CONFIG_, sym->name); in print_symbol_for_rustccfg()
811 fprintf(fp, "--cfg=%s%s=%s\n", CONFIG_, sym->name, val); in print_symbol_for_rustccfg()
823 struct symbol *sym; in conf_write_defconfig() local
838 sym = menu->sym; in conf_write_defconfig()
839 if (sym == NULL) { in conf_write_defconfig()
842 } else if (!sym_is_choice(sym)) { in conf_write_defconfig()
843 sym_calc_value(sym); in conf_write_defconfig()
844 if (!(sym->flags & SYMBOL_WRITE)) in conf_write_defconfig()
846 sym->flags &= ~SYMBOL_WRITE; in conf_write_defconfig()
848 if (!sym_is_changeable(sym)) in conf_write_defconfig()
851 if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0) in conf_write_defconfig()
861 if (sym_is_choice_value(sym)) { in conf_write_defconfig()
865 cs = prop_get_symbol(sym_get_choice_prop(sym)); in conf_write_defconfig()
867 if (!sym_is_optional(cs) && sym == ds) { in conf_write_defconfig()
868 if ((sym->type == S_BOOLEAN) && in conf_write_defconfig()
869 sym_get_tristate_value(sym) == yes) in conf_write_defconfig()
873 print_symbol_for_dotconfig(out, sym); in conf_write_defconfig()
897 struct symbol *sym; in conf_write() local
940 sym = menu->sym; in conf_write()
941 if (!sym) { in conf_write()
950 } else if (!(sym->flags & SYMBOL_CHOICE) && in conf_write()
951 !(sym->flags & SYMBOL_WRITTEN)) { in conf_write()
952 sym_calc_value(sym); in conf_write()
953 if (!(sym->flags & SYMBOL_WRITE)) in conf_write()
959 sym->flags |= SYMBOL_WRITTEN; in conf_write()
960 print_symbol_for_dotconfig(out, sym); in conf_write()
970 if (!menu->sym && menu_is_visible(menu) && menu != &rootmenu && in conf_write()
986 for_all_symbols(i, sym) in conf_write()
987 sym->flags &= ~SYMBOL_WRITTEN; in conf_write()
1062 struct symbol *sym; in conf_touch_deps() local
1077 for_all_symbols(i, sym) { in conf_touch_deps()
1078 sym_calc_value(sym); in conf_touch_deps()
1079 if ((sym->flags & SYMBOL_NO_WRITE) || !sym->name) in conf_touch_deps()
1081 if (sym->flags & SYMBOL_WRITE) { in conf_touch_deps()
1082 if (sym->flags & SYMBOL_DEF_AUTO) { in conf_touch_deps()
1087 switch (sym->type) { in conf_touch_deps()
1090 if (sym_get_tristate_value(sym) == in conf_touch_deps()
1091 sym->def[S_DEF_AUTO].tri) in conf_touch_deps()
1097 if (!strcmp(sym_get_string_value(sym), in conf_touch_deps()
1098 sym->def[S_DEF_AUTO].val)) in conf_touch_deps()
1109 switch (sym->type) { in conf_touch_deps()
1112 if (sym_get_tristate_value(sym) == no) in conf_touch_deps()
1119 } else if (!(sym->flags & SYMBOL_DEF_AUTO)) in conf_touch_deps()
1128 res = conf_touch_dep(sym->name); in conf_touch_deps()
1142 struct symbol *sym; in __conf_write_autoconf() local
1160 for_all_symbols(i, sym) in __conf_write_autoconf()
1161 if ((sym->flags & SYMBOL_WRITE) && sym->name) in __conf_write_autoconf()
1162 print_symbol(file, sym); in __conf_write_autoconf()
1181 struct symbol *sym; in conf_write_autoconf() local
1195 for_all_symbols(i, sym) in conf_write_autoconf()
1196 sym_calc_value(sym); in conf_write_autoconf()
1248 struct symbol *sym; in set_all_choice_values() local
1256 expr_list_for_each_sym(prop->expr, e, sym) { in set_all_choice_values()
1257 if (!sym_has_value(sym)) in set_all_choice_values()
1258 sym->def[S_DEF_USER].tri = no; in set_all_choice_values()