config language shortcomings in 2.4

From: Joshua Kwan
Date: Thu Aug 19 2004 - 02:13:56 EST


Hello,

Recently the Debian kernel team has been discussing 2.4's configuration
system. We have a patched tg3.c which removes the firmware and adds a
dependency on CONFIG_FW_LOADER for cases where operation is impossible
without the firmware.

Initially, we changed this:

dep_tristate 'Broadcom Tigon3 support' CONFIG_TIGON3 $CONFIG_PCI

to this:

dep_tristate 'Broadcom Tigon3 support' CONFIG_TIGON3 $CONFIG_PCI $CONFIG_FW_LOADER

But this would still be selectable if CONFIG_FW_LOADER were not set at
all. Selecting it would not enable CONFIG_FW_LOADER either.

So, we tried this:

if [ "$CONFIG_FW_LOADER" != "n" -a "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate 'Broadcom Tigon3 support' CONFIG_TIGON3 $CONFIG_PCI $CONFIG_FW_LOADER
fi

and this STILL doesn't seem to work in the case that CONFIG_FW_LOADER
isn't set but CONFIG_EXPERIMENTAL is y.

Eventually we continued droning through the corner cases until reaching

if [ "$CONFIG_EXPERIMENTAL" = "y" -a \
"$CONFIG_HOTPLUG" = "y" -a \
"$CONFIG_FW_LOADER" = "y" -o "$CONFIG_FW_LOADER" = "m" -a \
"$CONFIG_CRC32" = "y" -o "$CONFIG_CRC32" = "m" ]; then
dep_tristate 'Broadcom Tigon3 support' CONFIG_TIGON3 $CONFIG_PCI $CONFIG_FW_LOADER $CONFIG_CRC32
fi

which finally has the desired effect.

But is there really no way to say

config TIGON3
select FW_LOADER

in 2.4?

CONFIG_PCMCIA_ATMEL also suffers from this problem.

Any ideas? Is it just that the old Configure scripts suck?

--
Joshua Kwan

Attachment: signature.asc
Description: Digital signature