kconfig/lkc_proto.h
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 23:38:37 2010 +0200 (2010-06-13)
changeset 1983 198a5a6e5239
parent 39 af42eec9d383
child 2448 a103abae1560
permissions -rw-r--r--
cc/gcc: baremetal requires a two-pass process

Here, we implement a highly ugly hack. I'm not proud of that one...

To build the libstdc++ library, the compiler requires the C library. In
case we build for non-baremetal, this is normally handled by the final
step, later.

But in the case of bare-metal, we never go through the final step (because
it does not work, and it seems complex enough to make it work), so the
baremetal compilers are issued out of the core step.
yann@1
     1
yann@1
     2
/* confdata.c */
yann@1
     3
P(conf_parse,void,(const char *name));
yann@1
     4
P(conf_read,int,(const char *name));
yann@1
     5
P(conf_read_simple,int,(const char *name, int));
yann@1
     6
P(conf_write,int,(const char *name));
yann@1
     7
P(conf_write_autoconf,int,(void));
yann@39
     8
P(conf_get_changed,bool,(void));
yann@39
     9
P(conf_set_changed_callback, void,(void (*fn)(void)));
yann@1
    10
yann@1
    11
/* menu.c */
yann@1
    12
P(rootmenu,struct menu,);
yann@1
    13
yann@1
    14
P(menu_is_visible,bool,(struct menu *menu));
yann@1
    15
P(menu_get_prompt,const char *,(struct menu *menu));
yann@1
    16
P(menu_get_root_menu,struct menu *,(struct menu *menu));
yann@1
    17
P(menu_get_parent_menu,struct menu *,(struct menu *menu));
yann@943
    18
P(menu_has_help,bool,(struct menu *menu));
yann@943
    19
P(menu_get_help,const char *,(struct menu *menu));
yann@1
    20
yann@1
    21
/* symbol.c */
yann@1
    22
P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
yann@1
    23
yann@943
    24
P(sym_lookup,struct symbol *,(const char *name, int flags));
yann@1
    25
P(sym_find,struct symbol *,(const char *name));
yann@1
    26
P(sym_re_search,struct symbol **,(const char *pattern));
yann@1
    27
P(sym_type_name,const char *,(enum symbol_type type));
yann@1
    28
P(sym_calc_value,void,(struct symbol *sym));
yann@1
    29
P(sym_get_type,enum symbol_type,(struct symbol *sym));
yann@1
    30
P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
yann@1
    31
P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
yann@1
    32
P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
yann@1
    33
P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
yann@1
    34
P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
yann@1
    35
P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
yann@1
    36
P(sym_is_changable,bool,(struct symbol *sym));
yann@1
    37
P(sym_get_choice_prop,struct property *,(struct symbol *sym));
yann@1
    38
P(sym_get_default_prop,struct property *,(struct symbol *sym));
yann@1
    39
P(sym_get_string_value,const char *,(struct symbol *sym));
yann@1
    40
yann@1
    41
P(prop_get_type_name,const char *,(enum prop_type type));
yann@1
    42
yann@1
    43
/* expr.c */
yann@1
    44
P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
yann@1
    45
P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));