mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Roman Zippel](/assets/img/avatar_default.png)
This fixes one of the worst kbuild warts left - the broken dependencies used to check and regenerate the .config file. This was done via an indirect dependency and the .config itself had an empty command, which can cause make not to reread the changed .config file. Instead of this we generate now a new file include/config/auto.conf from .config, which is used for kbuild and has the proper dependencies. It's also the main make target now for all files generated during this step (and thus replaces include/linux/autoconf.h). This also means we can now relax the syntax requirements for the .config file and we don't have to rewrite it all the time, i.e. silentoldconfig only writes .config now when it's necessary to keep it in sync with the Kconfig files and even this can be suppressed by setting the environment variable KCONFIG_NOSILENTUPDATE, so the update can (and must) be done manually. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
42 lines
1.7 KiB
C
42 lines
1.7 KiB
C
|
|
/* confdata.c */
|
|
P(conf_parse,void,(const char *name));
|
|
P(conf_read,int,(const char *name));
|
|
P(conf_read_simple,int,(const char *name));
|
|
P(conf_write,int,(const char *name));
|
|
P(conf_write_autoconf,int,(void));
|
|
|
|
/* menu.c */
|
|
P(rootmenu,struct menu,);
|
|
|
|
P(menu_is_visible,bool,(struct menu *menu));
|
|
P(menu_get_prompt,const char *,(struct menu *menu));
|
|
P(menu_get_root_menu,struct menu *,(struct menu *menu));
|
|
P(menu_get_parent_menu,struct menu *,(struct menu *menu));
|
|
|
|
/* symbol.c */
|
|
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
|
|
P(sym_change_count,int,);
|
|
|
|
P(sym_lookup,struct symbol *,(const char *name, int isconst));
|
|
P(sym_find,struct symbol *,(const char *name));
|
|
P(sym_re_search,struct symbol **,(const char *pattern));
|
|
P(sym_type_name,const char *,(enum symbol_type type));
|
|
P(sym_calc_value,void,(struct symbol *sym));
|
|
P(sym_get_type,enum symbol_type,(struct symbol *sym));
|
|
P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
|
|
P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
|
|
P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
|
|
P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
|
|
P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
|
|
P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
|
|
P(sym_is_changable,bool,(struct symbol *sym));
|
|
P(sym_get_choice_prop,struct property *,(struct symbol *sym));
|
|
P(sym_get_default_prop,struct property *,(struct symbol *sym));
|
|
P(sym_get_string_value,const char *,(struct symbol *sym));
|
|
|
|
P(prop_get_type_name,const char *,(enum prop_type type));
|
|
|
|
/* expr.c */
|
|
P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
|
|
P(expr_print,void,(struct expr *e, void (*fn)(void *, const char *), void *data, int prevtoken));
|