Merge branch 'kconfig-trivial' of git://github.com/lacombar/linux-2.6 into kbuild/kconfig
This commit is contained in:
commit
5c74cd4cc7
3 changed files with 39 additions and 22 deletions
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
static void conf(struct menu *menu);
|
static void conf(struct menu *menu);
|
||||||
static void check_conf(struct menu *menu);
|
static void check_conf(struct menu *menu);
|
||||||
|
static void xfgets(char *str, int size, FILE *in);
|
||||||
|
|
||||||
enum input_mode {
|
enum input_mode {
|
||||||
oldaskconfig,
|
oldaskconfig,
|
||||||
|
@ -34,8 +35,6 @@ enum input_mode {
|
||||||
oldnoconfig,
|
oldnoconfig,
|
||||||
} input_mode = oldaskconfig;
|
} input_mode = oldaskconfig;
|
||||||
|
|
||||||
char *defconfig_file;
|
|
||||||
|
|
||||||
static int indent = 1;
|
static int indent = 1;
|
||||||
static int valid_stdin = 1;
|
static int valid_stdin = 1;
|
||||||
static int sync_kconfig;
|
static int sync_kconfig;
|
||||||
|
@ -459,10 +458,30 @@ static struct option long_opts[] = {
|
||||||
{NULL, 0, NULL, 0}
|
{NULL, 0, NULL, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static void conf_usage(const char *progname)
|
||||||
|
{
|
||||||
|
|
||||||
|
printf("Usage: %s [option] <kconfig-file>\n", progname);
|
||||||
|
printf("[option] is _one_ of the following:\n");
|
||||||
|
printf(" --listnewconfig List new options\n");
|
||||||
|
printf(" --oldaskconfig Start a new configuration using a line-oriented program\n");
|
||||||
|
printf(" --oldconfig Update a configuration using a provided .config as base\n");
|
||||||
|
printf(" --silentoldconfig Same as oldconfig, but quietly, additionally update deps\n");
|
||||||
|
printf(" --oldnoconfig Same as silentoldconfig but set new symbols to no\n");
|
||||||
|
printf(" --defconfig <file> New config with default defined in <file>\n");
|
||||||
|
printf(" --savedefconfig <file> Save the minimal current configuration to <file>\n");
|
||||||
|
printf(" --allnoconfig New config where all options are answered with no\n");
|
||||||
|
printf(" --allyesconfig New config where all options are answered with yes\n");
|
||||||
|
printf(" --allmodconfig New config where all options are answered with mod\n");
|
||||||
|
printf(" --alldefconfig New config with all symbols set to default\n");
|
||||||
|
printf(" --randconfig New config with random answer to all options\n");
|
||||||
|
}
|
||||||
|
|
||||||
int main(int ac, char **av)
|
int main(int ac, char **av)
|
||||||
{
|
{
|
||||||
|
const char *progname = av[0];
|
||||||
int opt;
|
int opt;
|
||||||
const char *name;
|
const char *name, *defconfig_file = NULL /* gcc uninit */;
|
||||||
struct stat tmpstat;
|
struct stat tmpstat;
|
||||||
|
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
|
@ -494,14 +513,24 @@ int main(int ac, char **av)
|
||||||
srand(seed);
|
srand(seed);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case oldaskconfig:
|
||||||
|
case oldconfig:
|
||||||
|
case allnoconfig:
|
||||||
|
case allyesconfig:
|
||||||
|
case allmodconfig:
|
||||||
|
case alldefconfig:
|
||||||
|
case listnewconfig:
|
||||||
|
case oldnoconfig:
|
||||||
|
break;
|
||||||
case '?':
|
case '?':
|
||||||
fprintf(stderr, _("See README for usage info\n"));
|
conf_usage(progname);
|
||||||
exit(1);
|
exit(1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ac == optind) {
|
if (ac == optind) {
|
||||||
printf(_("%s: Kconfig file missing\n"), av[0]);
|
printf(_("%s: Kconfig file missing\n"), av[0]);
|
||||||
|
conf_usage(progname);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
name = av[optind];
|
name = av[optind];
|
||||||
|
@ -644,13 +673,11 @@ int main(int ac, char **av)
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Helper function to facilitate fgets() by Jean Sacren.
|
* Helper function to facilitate fgets() by Jean Sacren.
|
||||||
*/
|
*/
|
||||||
void xfgets(str, size, in)
|
void xfgets(char *str, int size, FILE *in)
|
||||||
char *str;
|
|
||||||
int size;
|
|
||||||
FILE *in;
|
|
||||||
{
|
{
|
||||||
if (fgets(str, size, in) == NULL)
|
if (fgets(str, size, in) == NULL)
|
||||||
fprintf(stderr, "\nError in reading or end of file.\n");
|
fprintf(stderr, "\nError in reading or end of file.\n");
|
||||||
|
|
|
@ -13,8 +13,7 @@
|
||||||
|
|
||||||
struct expr *expr_alloc_symbol(struct symbol *sym)
|
struct expr *expr_alloc_symbol(struct symbol *sym)
|
||||||
{
|
{
|
||||||
struct expr *e = malloc(sizeof(*e));
|
struct expr *e = calloc(1, sizeof(*e));
|
||||||
memset(e, 0, sizeof(*e));
|
|
||||||
e->type = E_SYMBOL;
|
e->type = E_SYMBOL;
|
||||||
e->left.sym = sym;
|
e->left.sym = sym;
|
||||||
return e;
|
return e;
|
||||||
|
@ -22,8 +21,7 @@ struct expr *expr_alloc_symbol(struct symbol *sym)
|
||||||
|
|
||||||
struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
|
struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
|
||||||
{
|
{
|
||||||
struct expr *e = malloc(sizeof(*e));
|
struct expr *e = calloc(1, sizeof(*e));
|
||||||
memset(e, 0, sizeof(*e));
|
|
||||||
e->type = type;
|
e->type = type;
|
||||||
e->left.expr = ce;
|
e->left.expr = ce;
|
||||||
return e;
|
return e;
|
||||||
|
@ -31,8 +29,7 @@ struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
|
||||||
|
|
||||||
struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
|
struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
|
||||||
{
|
{
|
||||||
struct expr *e = malloc(sizeof(*e));
|
struct expr *e = calloc(1, sizeof(*e));
|
||||||
memset(e, 0, sizeof(*e));
|
|
||||||
e->type = type;
|
e->type = type;
|
||||||
e->left.expr = e1;
|
e->left.expr = e1;
|
||||||
e->right.expr = e2;
|
e->right.expr = e2;
|
||||||
|
@ -41,8 +38,7 @@ struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e
|
||||||
|
|
||||||
struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
|
struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
|
||||||
{
|
{
|
||||||
struct expr *e = malloc(sizeof(*e));
|
struct expr *e = calloc(1, sizeof(*e));
|
||||||
memset(e, 0, sizeof(*e));
|
|
||||||
e->type = type;
|
e->type = type;
|
||||||
e->left.sym = s1;
|
e->left.sym = s1;
|
||||||
e->right.sym = s2;
|
e->right.sym = s2;
|
||||||
|
|
|
@ -76,9 +76,6 @@ void zconf_nextfile(const char *name);
|
||||||
int zconf_lineno(void);
|
int zconf_lineno(void);
|
||||||
const char *zconf_curname(void);
|
const char *zconf_curname(void);
|
||||||
|
|
||||||
/* conf.c */
|
|
||||||
void xfgets(char *str, int size, FILE *in);
|
|
||||||
|
|
||||||
/* confdata.c */
|
/* confdata.c */
|
||||||
const char *conf_get_configname(void);
|
const char *conf_get_configname(void);
|
||||||
const char *conf_get_autoconfig_name(void);
|
const char *conf_get_autoconfig_name(void);
|
||||||
|
@ -99,9 +96,6 @@ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
|
||||||
fprintf(stderr, "\nError in writing or end of file.\n");
|
fprintf(stderr, "\nError in writing or end of file.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* kconfig_load.c */
|
|
||||||
void kconfig_load(void);
|
|
||||||
|
|
||||||
/* menu.c */
|
/* menu.c */
|
||||||
void _menu_init(void);
|
void _menu_init(void);
|
||||||
void menu_warn(struct menu *menu, const char *fmt, ...);
|
void menu_warn(struct menu *menu, const char *fmt, ...);
|
||||||
|
|
Loading…
Reference in a new issue