Skip to content

Commit

Permalink
kconfig: Do not print status messages in make -s mode
Browse files Browse the repository at this point in the history
Add an -s option to the various frontends and pass it when make -s is
used. Also, use $(kecho) instead of @echo in the Makefile.

Signed-off-by: Michal Marek <[email protected]>
  • Loading branch information
michal42 committed Apr 9, 2015
1 parent 1cba0c3 commit 0a1f00a
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 32 deletions.
40 changes: 22 additions & 18 deletions scripts/kconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,31 @@ else
Kconfig := Kconfig
endif

ifeq ($(quiet),silent_)
silent := -s
endif

# We need this, in case the user has it in its environment
unexport CONFIG_

xconfig: $(obj)/qconf
$< $(Kconfig)
$< $(silent) $(Kconfig)

gconfig: $(obj)/gconf
$< $(Kconfig)
$< $(silent) $(Kconfig)

menuconfig: $(obj)/mconf
$< $(Kconfig)
$< $(silent) $(Kconfig)

config: $(obj)/conf
$< --oldaskconfig $(Kconfig)
$< $(silent) --oldaskconfig $(Kconfig)

nconfig: $(obj)/nconf
$< $(Kconfig)
$< $(silent) $(Kconfig)

silentoldconfig: $(obj)/conf
$(Q)mkdir -p include/config include/generated
$< --$@ $(Kconfig)
$< $(silent) --$@ $(Kconfig)

localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
$(Q)mkdir -p include/config include/generated
Expand All @@ -40,18 +44,18 @@ localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
cmp -s .tmp.config .config || \
(mv -f .config .config.old.1; \
mv -f .tmp.config .config; \
$(obj)/conf --silentoldconfig $(Kconfig); \
$(obj)/conf $(silent) --silentoldconfig $(Kconfig); \
mv -f .config.old.1 .config.old) \
else \
mv -f .tmp.config .config; \
$(obj)/conf --silentoldconfig $(Kconfig); \
$(obj)/conf $(silent) --silentoldconfig $(Kconfig); \
fi
$(Q)rm -f .tmp.config

# Create new linux.pot file
# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
$(Q)echo " GEN config.pot"
$(Q)$(kecho) " GEN config.pot"
$(Q)xgettext --default-domain=linux \
--add-comments --keyword=_ --keyword=N_ \
--from-code=UTF-8 \
Expand All @@ -62,11 +66,11 @@ update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
$(Q)(for i in `ls $(srctree)/arch/*/Kconfig \
$(srctree)/arch/*/um/Kconfig`; \
do \
echo " GEN $$i"; \
$(kecho) " GEN $$i"; \
$(obj)/kxgettext $$i \
>> $(obj)/config.pot; \
done )
$(Q)echo " GEN linux.pot"
$(Q)$(kecho) " GEN linux.pot"
$(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
--output $(obj)/linux.pot
$(Q)rm -f $(obj)/config.pot
Expand All @@ -77,7 +81,7 @@ simple-targets := oldconfig allnoconfig allyesconfig allmodconfig \
PHONY += $(simple-targets)

$(simple-targets): $(obj)/conf
$< --$@ $(Kconfig)
$< $(silent) --$@ $(Kconfig)

PHONY += oldnoconfig savedefconfig defconfig

Expand All @@ -87,18 +91,18 @@ PHONY += oldnoconfig savedefconfig defconfig
oldnoconfig: olddefconfig

savedefconfig: $(obj)/conf
$< --$@=defconfig $(Kconfig)
$< $(silent) --$@=defconfig $(Kconfig)

defconfig: $(obj)/conf
ifeq ($(KBUILD_DEFCONFIG),)
$< --defconfig $(Kconfig)
$< $(silent) --defconfig $(Kconfig)
else
@echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
@$(kecho) "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
$(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
endif

%_defconfig: $(obj)/conf
$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
$(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)

configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@)

Expand Down Expand Up @@ -215,7 +219,7 @@ $(obj)/.tmp_qtcheck: $(src)/Makefile

# QT needs some extra effort...
$(obj)/.tmp_qtcheck:
@set -e; echo " CHECK qt"; dir=""; pkg=""; \
@set -e; $(kecho) " CHECK qt"; dir=""; pkg=""; \
if ! pkg-config --exists QtCore 2> /dev/null; then \
echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \
pkg-config --exists qt 2> /dev/null && pkg=qt; \
Expand Down
8 changes: 6 additions & 2 deletions scripts/kconfig/conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ static struct option long_opts[] = {
static void conf_usage(const char *progname)
{

printf("Usage: %s [option] <kconfig-file>\n", progname);
printf("Usage: %s [-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");
Expand Down Expand Up @@ -501,7 +501,11 @@ int main(int ac, char **av)

tty_stdio = isatty(0) && isatty(1) && isatty(2);

while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) {
while ((opt = getopt_long(ac, av, "s", long_opts, NULL)) != -1) {
if (opt == 's') {
conf_set_message_callback(NULL);
continue;
}
input_mode = (enum input_mode)opt;
switch (opt) {
case silentoldconfig:
Expand Down
5 changes: 4 additions & 1 deletion scripts/kconfig/gconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1474,9 +1474,12 @@ int main(int ac, char *av[])
case 'a':
//showAll = 1;
break;
case 's':
conf_set_message_callback(NULL);
break;
case 'h':
case '?':
printf("%s <config>\n", av[0]);
printf("%s [-s] <config>\n", av[0]);
exit(0);
}
name = av[2];
Expand Down
31 changes: 21 additions & 10 deletions scripts/kconfig/mconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ static int child_count;
static int single_menu_mode;
static int show_all_options;
static int save_and_exit;
static int silent;

static void conf(struct menu *menu, struct menu *active_menu);
static void conf_choice(struct menu *menu);
Expand Down Expand Up @@ -777,10 +778,12 @@ static void conf_message_callback(const char *fmt, va_list ap)
char buf[PATH_MAX+1];

vsnprintf(buf, sizeof(buf), fmt, ap);
if (save_and_exit)
printf("%s", buf);
else
if (save_and_exit) {
if (!silent)
printf("%s", buf);
} else {
show_textbox(NULL, buf, 6, 60);
}
}

static void show_help(struct menu *menu)
Expand Down Expand Up @@ -977,16 +980,18 @@ static int handle_exit(void)
}
/* fall through */
case -1:
printf(_("\n\n"
"*** End of the configuration.\n"
"*** Execute 'make' to start the build or try 'make help'."
"\n\n"));
if (!silent)
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"));
if (!silent)
fprintf(stderr, _("\n\n"
"Your configuration changes were NOT saved."
"\n\n"));
if (res != KEY_ESC)
res = 0;
}
Expand All @@ -1010,6 +1015,12 @@ int main(int ac, char **av)

signal(SIGINT, sig_handler);

if (ac > 1 && strcmp(av[1], "-s") == 0) {
silent = 1;
/* Silence conf_read() until the real callback is set up */
conf_set_message_callback(NULL);
av++;
}
conf_parse(av[1]);
conf_read(NULL);

Expand Down
5 changes: 5 additions & 0 deletions scripts/kconfig/nconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1482,6 +1482,11 @@ int main(int ac, char **av)
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);

if (ac > 1 && strcmp(av[1], "-s") == 0) {
/* Silence conf_read() until the real callback is set up */
conf_set_message_callback(NULL);
av++;
}
conf_parse(av[1]);
conf_read(NULL);

Expand Down
5 changes: 4 additions & 1 deletion scripts/kconfig/qconf.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1746,7 +1746,7 @@ static const char *progname;

static void usage(void)
{
printf(_("%s <config>\n"), progname);
printf(_("%s [-s] <config>\n"), progname);
exit(0);
}

Expand All @@ -1762,6 +1762,9 @@ int main(int ac, char** av)
configApp = new QApplication(ac, av);
if (ac > 1 && av[1][0] == '-') {
switch (av[1][1]) {
case 's':
conf_set_message_callback(NULL);
break;
case 'h':
case '?':
usage();
Expand Down

0 comments on commit 0a1f00a

Please sign in to comment.