diff -urNp linux-1/scripts/kconfig/conf.c linux-500/scripts/kconfig/conf.c
--- linux-1/scripts/kconfig/conf.c
+++ linux-500/scripts/kconfig/conf.c
@@ -20,6 +20,7 @@ enum {
 	ask_all,
 	ask_new,
 	ask_silent,
+	dont_ask,
 	set_default,
 	set_yes,
 	set_mod,
@@ -36,6 +37,8 @@ static struct menu *rootEntry;
 
 static char nohelp_text[] = "Sorry, no help available for this option yet.\n";
 
+static int return_value = 0;
+
 static void strip(char *str)
 {
 	char *p = str;
@@ -93,6 +96,12 @@ static void conf_askvalue(struct symbol 
 		fflush(stdout);
 		fgets(line, 128, stdin);
 		return;
+	case dont_ask:
+		if (!sym_has_value(sym)) {
+			fprintf(stderr,"CONFIG_%s\n",sym->name);
+			return_value++;
+		}
+		return;
 	case set_default:
 		printf("%s\n", def);
 		return;
@@ -337,6 +346,10 @@ static int conf_choice(struct menu *menu
			printf("?");
		printf("]: ");
 		switch (input_mode) {
+		case dont_ask:
+			cnt = def;
+			printf("%d\n", cnt);
+			break;
 		case ask_new:
 		case ask_silent:
 			if (!is_new) {
@@ -472,7 +485,10 @@ static void check_conf(struct menu *menu
 			if (!conf_cnt++)
 				printf("*\n* Restart config...\n*\n");
 			rootEntry = menu_get_parent_menu(menu);
-			conf(rootEntry);
+			if (input_mode == dont_ask)
+				fprintf(stderr,"CONFIG_%s\n",sym->name);
+			else
+				conf(rootEntry);
 		}
 		if (sym_is_choice(sym) && sym_get_tristate_value(sym) != mod)
 			return;
@@ -493,6 +509,9 @@ int main(int ac, char **av)
 		case 'o':
 			input_mode = ask_new;
 			break;
+		case 'b':
+			input_mode = dont_ask;
+			break;
 		case 's':
 			input_mode = ask_silent;
 			valid_stdin = isatty(0) && isatty(1) && isatty(2);
@@ -557,6 +576,7 @@ int main(int ac, char **av)
 		}
 	case ask_all:
 	case ask_new:
+	case dont_ask:
 		conf_read(NULL);
 		break;
 	default:
@@ -574,10 +594,10 @@ int main(int ac, char **av)
 	do {
 		conf_cnt = 0;
 		check_conf(&rootmenu);
-	} while (conf_cnt);
+	} while ((conf_cnt) && (input_mode != dont_ask));
 	if (conf_write(NULL)) {
 		fprintf(stderr, "\n*** Error during writing of the kernel configuration.\n\n");
 		return 1;
 	}
-	return 0;
+	return return_value;
 }
--- linux-2.6.3/scripts/kconfig/Makefile.orig	2004-02-25 16:59:55.934625904 +0100
+++ linux-2.6.3/scripts/kconfig/Makefile	2004-02-25 17:02:37.076128672 +0100
@@ -23,6 +23,10 @@
 silentoldconfig: $(obj)/conf
 	$< -s arch/$(ARCH)/Kconfig
 
+nonint_oldconfig: scripts/kconfig/conf
+	./scripts/kconfig/conf -b arch/$(ARCH)/Kconfig
+
+
 .PHONY: randconfig allyesconfig allnoconfig allmodconfig defconfig
 
 randconfig: $(obj)/conf
@@ -68,7 +72,7 @@
 libkconfig-objs := zconf.tab.o
 
 host-progs	:= conf mconf qconf gconf
-conf-objs	:= conf.o  libkconfig.so
+conf-objs	:= conf.o
 mconf-objs	:= mconf.o libkconfig.so
 
 ifeq ($(MAKECMDGOALS),xconfig)
@@ -95,13 +99,15 @@
 HOSTCFLAGS_lex.zconf.o	:= -I$(src)
 HOSTCFLAGS_zconf.tab.o	:= -I$(src)
 
+HOSTLOADLIBES_conf     = -Wl,-rpath,\$$ORIGIN -Lscripts/kconfig -lkconfig
+
 HOSTLOADLIBES_qconf	= -L$(QTLIBPATH) -Wl,-rpath,$(QTLIBPATH) -l$(QTLIB) -ldl
 HOSTCXXFLAGS_qconf.o	= -I$(QTDIR)/include 
 
 HOSTLOADLIBES_gconf	= `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --libs`
 HOSTCFLAGS_gconf.o	= `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --cflags`
 
-$(obj)/conf.o $(obj)/mconf.o $(obj)/qconf.o $(obj)/gconf.o: $(obj)/zconf.tab.h
+$(obj)/conf.o $(obj)/mconf.o $(obj)/qconf.o $(obj)/gconf.o: $(obj)/zconf.tab.h $(obj)/libkconfig.so
 
 $(obj)/qconf.o: $(obj)/.tmp_qtcheck
 
