Merge patches sent by Robert P. J. Day <rpjday@mindspring.com>.
Warning: the buildroot folks purposedly removed the skip-comment patch but didn't really said why. Keeping it for the sake of having it in svn just in case (removing it will be easier thant not having it at all).
2 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
3 * Released under the terms of the GNU GPL v2.0.
14 # define gettext(Msgid) ((const char *) (Msgid))
15 # define textdomain(Domainname) ((const char *) (Domainname))
16 # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
23 #ifdef LKC_DIRECT_LINK
24 #define P(name,type,arg) extern type name arg
27 #define P(name,type,arg) extern type (*name ## _p) arg
29 #include "lkc_proto.h"
32 #define SRCTREE "srctree"
34 #define PROJECT_NAME "crosstool-NG"
35 #define PACKAGE "crosstool-NG"
36 #define LOCALEDIR "/usr/share/locale"
38 #define _(text) gettext(text)
39 #define N_(text) (text)
42 #define TF_COMMAND 0x0001
43 #define TF_PARAM 0x0002
44 #define TF_OPTION 0x0004
46 #define T_OPT_MODULES 1
47 #define T_OPT_DEFCONFIG_LIST 2
53 enum symbol_type stype;
57 void zconfdump(FILE *out);
59 extern int zconfdebug;
60 void zconf_starthelp(void);
61 FILE *zconf_fopen(const char *name);
62 void zconf_initscan(const char *name);
63 void zconf_nextfile(const char *name);
64 int zconf_lineno(void);
65 char *zconf_curname(void);
68 char *conf_get_default_confname(void);
69 void sym_set_change_count(int count);
70 void sym_add_change_count(int count);
73 void kconfig_load(void);
77 struct menu *menu_add_menu(void);
78 void menu_end_menu(void);
79 void menu_add_entry(struct symbol *sym);
80 void menu_end_entry(void);
81 void menu_add_dep(struct expr *dep);
82 struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
83 struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
84 void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
85 void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
86 void menu_add_option(int token, char *arg);
87 void menu_finalize(struct menu *parent);
88 void menu_set_type(int type);
91 struct file *file_lookup(const char *name);
92 int file_write_dep(const char *name);
98 struct gstr str_new(void);
99 struct gstr str_assign(const char *s);
100 void str_free(struct gstr *gs);
101 void str_append(struct gstr *gs, const char *s);
102 void str_printf(struct gstr *gs, const char *fmt, ...);
103 const char *str_get(struct gstr *gs);
107 void sym_clear_all_valid(void);
108 void sym_set_all_changed(void);
109 void sym_set_changed(struct symbol *sym);
110 struct symbol *sym_check_deps(struct symbol *sym);
111 struct property *prop_alloc(enum prop_type type, struct symbol *sym);
112 struct symbol *prop_get_symbol(struct property *prop);
114 static inline tristate sym_get_tristate_value(struct symbol *sym)
116 return sym->curr.tri;
120 static inline struct symbol *sym_get_choice_value(struct symbol *sym)
122 return (struct symbol *)sym->curr.val;
125 static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval)
127 return sym_set_tristate_value(chval, yes);
130 static inline bool sym_is_choice(struct symbol *sym)
132 return sym->flags & SYMBOL_CHOICE ? true : false;
135 static inline bool sym_is_choice_value(struct symbol *sym)
137 return sym->flags & SYMBOL_CHOICEVAL ? true : false;
140 static inline bool sym_is_optional(struct symbol *sym)
142 return sym->flags & SYMBOL_OPTIONAL ? true : false;
145 static inline bool sym_has_value(struct symbol *sym)
147 return sym->flags & SYMBOL_DEF_USER ? true : false;