mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
Merge branch 'kconfig/for-next' of git://github.com/lacombar/linux-2.6 into kbuild/kconfig
This commit is contained in:
commit
6a19492fc2
3 changed files with 90 additions and 50 deletions
|
@ -503,17 +503,6 @@ header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
|
|||
fprintf(fp, "#define %s%s%s 1\n",
|
||||
CONFIG_, sym->name, suffix);
|
||||
}
|
||||
/*
|
||||
* Generate the __enabled_CONFIG_* and
|
||||
* __enabled_CONFIG_*_MODULE macros for use by the
|
||||
* IS_{ENABLED,BUILTIN,MODULE} macros. The _MODULE variant is
|
||||
* generated even for booleans so that the IS_ENABLED() macro
|
||||
* works.
|
||||
*/
|
||||
fprintf(fp, "#define __enabled_" CONFIG_ "%s %d\n",
|
||||
sym->name, (*value == 'y'));
|
||||
fprintf(fp, "#define __enabled_" CONFIG_ "%s_MODULE %d\n",
|
||||
sym->name, (*value == 'm'));
|
||||
break;
|
||||
}
|
||||
case S_HEX: {
|
||||
|
@ -564,6 +553,35 @@ static struct conf_printer header_printer_cb =
|
|||
.print_comment = header_print_comment,
|
||||
};
|
||||
|
||||
/*
|
||||
* Generate the __enabled_CONFIG_* and __enabled_CONFIG_*_MODULE macros for
|
||||
* use by the IS_{ENABLED,BUILTIN,MODULE} macros. The _MODULE variant is
|
||||
* generated even for booleans so that the IS_ENABLED() macro works.
|
||||
*/
|
||||
static void
|
||||
header_print__enabled_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
|
||||
{
|
||||
|
||||
switch (sym->type) {
|
||||
case S_BOOLEAN:
|
||||
case S_TRISTATE: {
|
||||
fprintf(fp, "#define __enabled_" CONFIG_ "%s %d\n",
|
||||
sym->name, (*value == 'y'));
|
||||
fprintf(fp, "#define __enabled_" CONFIG_ "%s_MODULE %d\n",
|
||||
sym->name, (*value == 'm'));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static struct conf_printer header__enabled_printer_cb =
|
||||
{
|
||||
.print_symbol = header_print__enabled_symbol,
|
||||
.print_comment = header_print_comment,
|
||||
};
|
||||
|
||||
/*
|
||||
* Tristate printer
|
||||
*
|
||||
|
@ -945,11 +963,16 @@ int conf_write_autoconf(void)
|
|||
conf_write_heading(out_h, &header_printer_cb, NULL);
|
||||
|
||||
for_all_symbols(i, sym) {
|
||||
sym_calc_value(sym);
|
||||
if (!(sym->flags & SYMBOL_WRITE) || !sym->name)
|
||||
if (!sym->name)
|
||||
continue;
|
||||
|
||||
sym_calc_value(sym);
|
||||
|
||||
conf_write_symbol(out_h, sym, &header__enabled_printer_cb, NULL);
|
||||
|
||||
if (!(sym->flags & SYMBOL_WRITE))
|
||||
continue;
|
||||
|
||||
/* write symbol to auto.conf, tristate and header files */
|
||||
conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1);
|
||||
|
||||
conf_write_symbol(tristate, sym, &tristate_printer_cb, (void *)1);
|
||||
|
|
|
@ -320,7 +320,6 @@ static void print_page(WINDOW * win, int height, int width)
|
|||
*/
|
||||
static void print_line(WINDOW * win, int row, int width)
|
||||
{
|
||||
int y, x;
|
||||
char *line;
|
||||
|
||||
line = get_line();
|
||||
|
@ -329,10 +328,10 @@ static void print_line(WINDOW * win, int row, int width)
|
|||
waddch(win, ' ');
|
||||
waddnstr(win, line, MIN(strlen(line), width - 2));
|
||||
|
||||
getyx(win, y, x);
|
||||
/* Clear 'residue' of previous line */
|
||||
#if OLD_NCURSES
|
||||
{
|
||||
int x = getcurx(win);
|
||||
int i;
|
||||
for (i = 0; i < width - x; i++)
|
||||
waddch(win, ' ');
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -272,6 +273,7 @@ static struct menu *current_menu;
|
|||
static int child_count;
|
||||
static int single_menu_mode;
|
||||
static int show_all_options;
|
||||
static int saved_x, saved_y;
|
||||
|
||||
static void conf(struct menu *menu);
|
||||
static void conf_choice(struct menu *menu);
|
||||
|
@ -792,9 +794,54 @@ static void conf_save(void)
|
|||
}
|
||||
}
|
||||
|
||||
static int handle_exit(void)
|
||||
{
|
||||
int res;
|
||||
|
||||
dialog_clear();
|
||||
if (conf_get_changed())
|
||||
res = dialog_yesno(NULL,
|
||||
_("Do you wish to save your new configuration ?\n"
|
||||
"<ESC><ESC> to continue."),
|
||||
6, 60);
|
||||
else
|
||||
res = -1;
|
||||
|
||||
end_dialog(saved_x, saved_y);
|
||||
|
||||
switch (res) {
|
||||
case 0:
|
||||
if (conf_write(filename)) {
|
||||
fprintf(stderr, _("\n\n"
|
||||
"Error while writing of the configuration.\n"
|
||||
"Your configuration changes were NOT saved."
|
||||
"\n\n"));
|
||||
return 1;
|
||||
}
|
||||
/* fall through */
|
||||
case -1:
|
||||
printf(_("\n\n"
|
||||
"*** End of the configuration.\n"
|
||||
"*** Execute 'make' to start the build or try 'make help'."
|
||||
"\n\n"));
|
||||
res = 0;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, _("\n\n"
|
||||
"Your configuration changes were NOT saved."
|
||||
"\n\n"));
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
static void sig_handler(int signo)
|
||||
{
|
||||
exit(handle_exit());
|
||||
}
|
||||
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
int saved_x, saved_y;
|
||||
char *mode;
|
||||
int res;
|
||||
|
||||
|
@ -802,6 +849,8 @@ int main(int ac, char **av)
|
|||
bindtextdomain(PACKAGE, LOCALEDIR);
|
||||
textdomain(PACKAGE);
|
||||
|
||||
signal(SIGINT, sig_handler);
|
||||
|
||||
conf_parse(av[1]);
|
||||
conf_read(NULL);
|
||||
|
||||
|
@ -823,40 +872,9 @@ int main(int ac, char **av)
|
|||
set_config_filename(conf_get_configname());
|
||||
do {
|
||||
conf(&rootmenu);
|
||||
dialog_clear();
|
||||
if (conf_get_changed())
|
||||
res = dialog_yesno(NULL,
|
||||
_("Do you wish to save your "
|
||||
"new configuration?\n"
|
||||
"<ESC><ESC> to continue."),
|
||||
6, 60);
|
||||
else
|
||||
res = -1;
|
||||
res = handle_exit();
|
||||
} while (res == KEY_ESC);
|
||||
end_dialog(saved_x, saved_y);
|
||||
|
||||
switch (res) {
|
||||
case 0:
|
||||
if (conf_write(filename)) {
|
||||
fprintf(stderr, _("\n\n"
|
||||
"Error while writing of the configuration.\n"
|
||||
"Your configuration changes were NOT saved."
|
||||
"\n\n"));
|
||||
return 1;
|
||||
}
|
||||
/* fall through */
|
||||
case -1:
|
||||
printf(_("\n\n"
|
||||
"*** End of the configuration.\n"
|
||||
"*** Execute 'make' to start the build or try 'make help'."
|
||||
"\n\n"));
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, _("\n\n"
|
||||
"Your configuration changes were NOT saved."
|
||||
"\n\n"));
|
||||
}
|
||||
|
||||
return 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue