kconfig/lkc.h
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
parent 1 eeea35fbf182
child 943 1cca90ce0481
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
yann@1
     1
/*
yann@1
     2
 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
yann@1
     3
 * Released under the terms of the GNU GPL v2.0.
yann@1
     4
 */
yann@1
     5
yann@1
     6
#ifndef LKC_H
yann@1
     7
#define LKC_H
yann@1
     8
yann@1
     9
#include "expr.h"
yann@1
    10
yann@1
    11
#ifndef KBUILD_NO_NLS
yann@1
    12
# include <libintl.h>
yann@1
    13
#else
yann@1
    14
# define gettext(Msgid) ((const char *) (Msgid))
yann@1
    15
# define textdomain(Domainname) ((const char *) (Domainname))
yann@1
    16
# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
yann@1
    17
#endif
yann@1
    18
yann@1
    19
#ifdef __cplusplus
yann@1
    20
extern "C" {
yann@1
    21
#endif
yann@1
    22
yann@1
    23
#ifdef LKC_DIRECT_LINK
yann@1
    24
#define P(name,type,arg)	extern type name arg
yann@1
    25
#else
yann@1
    26
#include "lkc_defs.h"
yann@1
    27
#define P(name,type,arg)	extern type (*name ## _p) arg
yann@1
    28
#endif
yann@1
    29
#include "lkc_proto.h"
yann@1
    30
#undef P
yann@1
    31
yann@1
    32
#define SRCTREE "srctree"
yann@1
    33
yann@39
    34
#define PROJECT_NAME "crosstool-NG"
yann@1
    35
#define PACKAGE "crosstool-NG"
yann@1
    36
#define LOCALEDIR "/usr/share/locale"
yann@1
    37
yann@1
    38
#define _(text) gettext(text)
yann@1
    39
#define N_(text) (text)
yann@1
    40
yann@1
    41
yann@1
    42
#define TF_COMMAND	0x0001
yann@1
    43
#define TF_PARAM	0x0002
yann@1
    44
#define TF_OPTION	0x0004
yann@1
    45
yann@1
    46
#define T_OPT_MODULES		1
yann@1
    47
#define T_OPT_DEFCONFIG_LIST	2
yann@1
    48
yann@1
    49
struct kconf_id {
yann@1
    50
	int name;
yann@1
    51
	int token;
yann@1
    52
	unsigned int flags;
yann@1
    53
	enum symbol_type stype;
yann@1
    54
};
yann@1
    55
yann@1
    56
int zconfparse(void);
yann@1
    57
void zconfdump(FILE *out);
yann@1
    58
yann@1
    59
extern int zconfdebug;
yann@1
    60
void zconf_starthelp(void);
yann@1
    61
FILE *zconf_fopen(const char *name);
yann@1
    62
void zconf_initscan(const char *name);
yann@1
    63
void zconf_nextfile(const char *name);
yann@1
    64
int zconf_lineno(void);
yann@1
    65
char *zconf_curname(void);
yann@1
    66
yann@1
    67
/* confdata.c */
yann@1
    68
char *conf_get_default_confname(void);
yann@39
    69
void sym_set_change_count(int count);
yann@39
    70
void sym_add_change_count(int count);
yann@1
    71
yann@1
    72
/* kconfig_load.c */
yann@1
    73
void kconfig_load(void);
yann@1
    74
yann@1
    75
/* menu.c */
yann@1
    76
void menu_init(void);
yann@1
    77
struct menu *menu_add_menu(void);
yann@1
    78
void menu_end_menu(void);
yann@1
    79
void menu_add_entry(struct symbol *sym);
yann@1
    80
void menu_end_entry(void);
yann@1
    81
void menu_add_dep(struct expr *dep);
yann@1
    82
struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
yann@1
    83
struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
yann@1
    84
void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
yann@1
    85
void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
yann@1
    86
void menu_add_option(int token, char *arg);
yann@1
    87
void menu_finalize(struct menu *parent);
yann@1
    88
void menu_set_type(int type);
yann@1
    89
yann@1
    90
/* util.c */
yann@1
    91
struct file *file_lookup(const char *name);
yann@1
    92
int file_write_dep(const char *name);
yann@1
    93
yann@1
    94
struct gstr {
yann@1
    95
	size_t len;
yann@1
    96
	char  *s;
yann@1
    97
};
yann@1
    98
struct gstr str_new(void);
yann@1
    99
struct gstr str_assign(const char *s);
yann@1
   100
void str_free(struct gstr *gs);
yann@1
   101
void str_append(struct gstr *gs, const char *s);
yann@1
   102
void str_printf(struct gstr *gs, const char *fmt, ...);
yann@1
   103
const char *str_get(struct gstr *gs);
yann@1
   104
yann@1
   105
/* symbol.c */
yann@1
   106
void sym_init(void);
yann@1
   107
void sym_clear_all_valid(void);
yann@1
   108
void sym_set_all_changed(void);
yann@1
   109
void sym_set_changed(struct symbol *sym);
yann@1
   110
struct symbol *sym_check_deps(struct symbol *sym);
yann@1
   111
struct property *prop_alloc(enum prop_type type, struct symbol *sym);
yann@1
   112
struct symbol *prop_get_symbol(struct property *prop);
yann@1
   113
yann@1
   114
static inline tristate sym_get_tristate_value(struct symbol *sym)
yann@1
   115
{
yann@1
   116
	return sym->curr.tri;
yann@1
   117
}
yann@1
   118
yann@1
   119
yann@1
   120
static inline struct symbol *sym_get_choice_value(struct symbol *sym)
yann@1
   121
{
yann@1
   122
	return (struct symbol *)sym->curr.val;
yann@1
   123
}
yann@1
   124
yann@1
   125
static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval)
yann@1
   126
{
yann@1
   127
	return sym_set_tristate_value(chval, yes);
yann@1
   128
}
yann@1
   129
yann@1
   130
static inline bool sym_is_choice(struct symbol *sym)
yann@1
   131
{
yann@1
   132
	return sym->flags & SYMBOL_CHOICE ? true : false;
yann@1
   133
}
yann@1
   134
yann@1
   135
static inline bool sym_is_choice_value(struct symbol *sym)
yann@1
   136
{
yann@1
   137
	return sym->flags & SYMBOL_CHOICEVAL ? true : false;
yann@1
   138
}
yann@1
   139
yann@1
   140
static inline bool sym_is_optional(struct symbol *sym)
yann@1
   141
{
yann@1
   142
	return sym->flags & SYMBOL_OPTIONAL ? true : false;
yann@1
   143
}
yann@1
   144
yann@1
   145
static inline bool sym_has_value(struct symbol *sym)
yann@1
   146
{
yann@1
   147
	return sym->flags & SYMBOL_DEF_USER ? true : false;
yann@1
   148
}
yann@1
   149
yann@1
   150
#ifdef __cplusplus
yann@1
   151
}
yann@1
   152
#endif
yann@1
   153
yann@1
   154
#endif /* LKC_H */