kconfig/lkc_proto.h
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 12 23:51:25 2010 +0200 (2010-09-12)
changeset 2123 ff2181adbd28
parent 39 af42eec9d383
child 2448 a103abae1560
permissions -rw-r--r--
cc/gcc: disable complibs if not selected

Force gcc to not link with some companion libraries when
there are not needed (because selected-out).

There is no option to tell gcc *not* to build the Graphite and/or
LTO stuff. They *will* be built if gcc finds the suitable companion
libraries. If we do not provide them, but the host has them, then
gcc *will* find them, and link with them.

Consider the following:
- host has suitable PPL and CLooG (eg. Debian Squeeze)
- user wants to build gcc>=4.4
- user de-selects GRAPHITE
- gcc will find the hosts PPL and CLooG, and will use them
- the user moves the toolchain to an older host that does
not have them (eg. Debian Lenny)
- the toolchain fails, when it was properly setup not to

So, explicitly tell gcc *not* to use unneeded companion libs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 
     2 /* confdata.c */
     3 P(conf_parse,void,(const char *name));
     4 P(conf_read,int,(const char *name));
     5 P(conf_read_simple,int,(const char *name, int));
     6 P(conf_write,int,(const char *name));
     7 P(conf_write_autoconf,int,(void));
     8 P(conf_get_changed,bool,(void));
     9 P(conf_set_changed_callback, void,(void (*fn)(void)));
    10 
    11 /* menu.c */
    12 P(rootmenu,struct menu,);
    13 
    14 P(menu_is_visible,bool,(struct menu *menu));
    15 P(menu_get_prompt,const char *,(struct menu *menu));
    16 P(menu_get_root_menu,struct menu *,(struct menu *menu));
    17 P(menu_get_parent_menu,struct menu *,(struct menu *menu));
    18 P(menu_has_help,bool,(struct menu *menu));
    19 P(menu_get_help,const char *,(struct menu *menu));
    20 
    21 /* symbol.c */
    22 P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
    23 
    24 P(sym_lookup,struct symbol *,(const char *name, int flags));
    25 P(sym_find,struct symbol *,(const char *name));
    26 P(sym_re_search,struct symbol **,(const char *pattern));
    27 P(sym_type_name,const char *,(enum symbol_type type));
    28 P(sym_calc_value,void,(struct symbol *sym));
    29 P(sym_get_type,enum symbol_type,(struct symbol *sym));
    30 P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
    31 P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
    32 P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
    33 P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
    34 P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
    35 P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
    36 P(sym_is_changable,bool,(struct symbol *sym));
    37 P(sym_get_choice_prop,struct property *,(struct symbol *sym));
    38 P(sym_get_default_prop,struct property *,(struct symbol *sym));
    39 P(sym_get_string_value,const char *,(struct symbol *sym));
    40 
    41 P(prop_get_type_name,const char *,(enum prop_type type));
    42 
    43 /* expr.c */
    44 P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
    45 P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));