xconfig lossage

Andries.Brouwer@cwi.nl
Mon, 16 Feb 1998 23:36:14 +0100 (MET)


With "make xconfig" (for 2.1.86) it is impossible
to set the CONFIG_NETLINK variable (menu "Networking options",
item "Kernel/User netlink socket").

The reason for that is that the tcl procedure update_define
clears this variable immediately again, after it has been set.
(As a consequence, it is also impossible to set CONFIG_RTNETLINK
and CONFIG_NETLINK_DEV.)

What goes wrong is that tkparse.c does not understand that
a variable may occur in several different places.
(In this case: net/Config.in has
bool 'Kernel/User netlink socket' CONFIG_NETLINK
and net/ipv4/Config.in has
define_bool CONFIG_NETLINK y
.)

It is easy to produce a patch that will fix this particular
flaw, but there are many flaws in the various versions of
Linux kernel configuration, and maybe we should first
write a formal grammar of the Config files (what can a
Config.in file look like?) and describe the semantics.

For example, does `define_bool' have a static interpretation,
i.e., does it mean that the variable is a Boolean combination
of other variables? Then it cannot be an independent configuration
option. Or does it have a dynamic interpretation: when you get here,
do this assignment? Then fundamental assumptions of kconfig.tk are
violated, and parts of xconfig have to be rewritten.

Schedule:
1. Write a doc file that describes the semantics of the Config.in files.
2. Write a grammar that describes their syntax.
3. Write a parser that will check all Config.in files.
(As it is now, xconfig or menuconfig often crashes because
of unexpected input.)
4. Extend the parser, so that it can be the frontent for both menuconfig
and xconfig.

Eric? Michael? Somebody?

Andries

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu