Some config/menuconfig/xconfig fixes

Andrzej Krzysztofowicz (ankry@green.mif.pg.gda.pl)
Thu, 31 Dec 1998 11:31:35 +0100 (CET)


Hi,

The enclosed patch fixes some problems in make config/menuconfig/xconfig:

- Not compatible dep_tristate in Menuconfig and Configure
(if dependency was set to "n" Configure disables option, Menuconfig
does not). Fixed by modifying Menuconfig.
- xconfig does not disable "m" setting even if CONFIG_MODULES is set to n
Fixed (modified header.tk and tkgen.c).
- fs/nls section depend on CONFIG_JOLIET which might be unset.
If CONFIG_JOLIET is set in old .config, but during new configuration
CONFIG_ISO9660_FS is set to "n" - NLS section still becomes active as
old value of CONFIG_JOLIET is not unset. Fixed by defining CONFIG_JOLIET
as "n" in such case (equivalently it might be unset).
- Network filesystems are active if CONFIG_NET is set to "n". In such case
CONFIG_INET and CONFIG_IPX are not set. Fixed by making the whole menu
dependent on CONFIG_NET (seems to work with no problems with
config/xconfig/menuconfig).

The main xconfig window became too large after Alan's config modifications.
It needs either scrolling or dividing the menu into two columns.
Does anybody work on it?

--- linux/scripts/Menuconfig.old Wed Dec 30 19:13:27 1998
+++ linux/scripts/Menuconfig Wed Dec 30 19:18:24 1998
@@ -177,6 +177,10 @@
# else in the kernel.
#
function dep_tristate () {
+ if eval [ "_$3" = "_n" ]
+ then
+ return
+ fi
if [ "$CONFIG_MODULES" != "y" ]
then
bool "$1" "$2"
--- linux/scripts/header.tk.old Wed Dec 30 19:46:03 1998
+++ linux/scripts/header.tk Wed Dec 30 23:10:51 1998
@@ -306,6 +306,10 @@

option_name $w $mnum $line $text $variable

+ global CONFIG_MODULES
+ if {($CONFIG_MODULES == 0)} then {
+ $w.x$line.m configure -state disabled
+ }
pack $w.x$line.n $w.x$line.m $w.x$line.y -side right -fill y
}

--- linux/scripts/tkgen.c.old Wed Dec 30 23:16:38 1998
+++ linux/scripts/tkgen.c Wed Dec 30 23:17:10 1998
@@ -358,7 +358,7 @@
}

printf(".menu%d.config.f.x%d.n configure -state normal;",menu_num, line_num);
- printf(".menu%d.config.f.x%d.m configure -state normal;",menu_num, line_num);
+ printf("global CONFIG_MODULES; if {($CONFIG_MODULES == 1)} then { .menu%d.config.f.x%d.m configure -state normal };",menu_num, line_num);
printf(".menu%d.config.f.x%d.l configure -state normal;",menu_num, line_num);
/*
* Or in a bit to the variable - this causes all of the radiobuttons
--- linux/fs/Config.in.old Wed Dec 30 19:13:28 1998
+++ linux/fs/Config.in Wed Dec 30 19:18:58 1998
@@ -22,6 +22,9 @@
tristate 'ISO 9660 CDROM filesystem support' CONFIG_ISO9660_FS
if [ "$CONFIG_ISO9660_FS" != "n" ]; then
bool 'Microsoft Joliet CDROM extensions' CONFIG_JOLIET
+else
+ # needed by nls/Config.in
+ define_bool CONFIG_JOLIET n
fi

tristate 'Minix fs support' CONFIG_MINIX_FS
@@ -47,6 +50,8 @@



+if [ "$CONFIG_NET" = "y" ]; then
+
mainmenu_option next_comment
comment 'Network File Systems'

@@ -87,6 +92,7 @@
fi

endmenu
+fi

if [ "$CONFIG_AFFS_FS" != "n" ]; then
define_bool CONFIG_AMIGA_PARTITION y

-- 
=======================================================================
  Andrzej M. Krzysztofowicz               ankry@mif.pg.gda.pl
  tel.  (0-58) 347 14 61
Wydz.Fizyki Technicznej i Matematyki Stosowanej Politechniki Gdanskiej

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/