errors(?) in configuration rule files (config.in/Config.in)

From: Malte Starostik (Malte.Starostik@t-online.de)
Date: Fri Apr 13 2001 - 19:28:21 EST


Hello,

first of all, I don't have much of a clue about the kernel sources as such, I
only digged into the syntax of the config.in / Config.in files.
I'm writing a KDE GUI for configuring the Linux kernel. It works quite well
already and will be included in KDE 2.2.

While implementing it, I came accross a few statements in some of the
configuration rule files that are invalid according to
Documentation/kbuild/config-language.txt. For most of them I added
workarounds in my parser (flex/bison based), for others I just don't know how
to handle them. Also I don't feel qualified enough to just say, this rule is
invalid and needs to be replaced by this :(
So I just collect the ones I stumbled over to let you know:

In 2.2.18 (maybe others), but not 2.4 series:
drivers/sound/lowlevel/Config.in, lines 28-30:
            hex 'I/O base for Audio Excel DSP 16 220, 240'
CONFIG_AEDSP16_BASE $CONFIG_SB_BASE 220
            int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11'
CONFIG_AEDSP16_SB_IRQ $CONFIG_SB_IRQ 5
            int 'Audio Excel DSP 16 DMA 0, 1 or 3' CONFIG_AEDSP16_SB_DMA
$CONFIG_SB_DMA 0

those contain two default values? For now I made the parser ignore the
$CONFIG_SB_* defaults and use the immediate numbers. How should those be
treated / could they be fixed?

In 2.4.2 at least:
drivers/char/Config.in, line 179:
tristate '/dev/agpgart (AGP Support)' CONFIG_AGP $CONFIG_DRM_AGP
According to Documentation/kbuild/config-language.txt, tristate accepts no
default value.

arch/parisc/config.in, line 28:
bool 'U2/Uturn I/O MMU' CONFIG_IOMMU_CCIO y
According to Documentation/kbuild/config-language.txt, bool accepts no
default value.

Are bool and tristate supposed to take an optional default value or are the
above really syntax errors?

arch/cris/config.in, line 99:
hwaddr 'Ethernet address' ELTEST_ETHADR 00408ccd0000
"hwaddr" isn't documented in config-language.txt, also I couldn't find it
anywhere in scripts/* how should it be treaded?

arch/s390/config.in, line 47 and arch/s390x/config.in, line 50:
define CONFIG_KCORE ELF
"define" isn't documented either :(

arch/sparc64/config.in, line 200:
source drivers/message/fusion/Config.in
there is no drivers/message dir

Also there were symbols that don't start with CONFIG_ in some
arch/XXX/config.in, I can't remember them exactly though.

Please don't take this as a rant, I'm just not sure how to correctly treat
those lines, for now I ignore default values for bool and tristate and don't
support cris, s390[x] and sparc64 in the configuration tool.
Thanks,
-Malte, please CC as I'm not subscribed, if neccessary I can do so however

PS: for those interested, screenshots are at
http://malte.homeip.net/kcmlinuz.jpg and
http://malte.homeip.net/longerhelp.jpg and the current sources (should build
against any KDE 2.x version, at least 2.1.1 and up) at
http://malte.homeip.net/kcmlinuz.tar.bz2
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 15 2001 - 21:00:22 EST