2004-03-09 01:24:33

by Sridhar Samudrala

[permalink] [raw]
Subject: Cleaner way to conditionally disallow a CONFIG option as static

SCTP is allowed to be static only when IPV6 is also configured as static or
not enabled. If IPV6 is configured as a module, SCTP also has to be a module.
This is done right now in the following hackish ways in 2.6 and 2.4 using an
additional config option(CONFIG_IPV6_SCTP__).

In 2.6, net/sctp/Kconfig

config IPV6_SCTP__
tristate
default y if IPV6=n
default IPV6 if IPV6

config IP_SCTP
tristate "The SCTP Protocol (EXPERIMENTAL)"
depends on IPV6_SCTP__
--------------------------------------------------------
In 2.4, net/sctp/Config.in

if [ "$CONFIG_IPV6" != "n" ]; then
define_bool CONFIG_IPV6_SCTP__ $CONFIG_IPV6
else
define_bool CONFIG_IPV6_SCTP__ y
fi

dep_tristate ' The SCTP Protocol (EXPERIMENTAL)' CONFIG_IP_SCTP $CONFIG_IPV6_SCTP__
--------------------------------------------------------

Is there a much simpler and cleaner way to accomplish this in 2.6 and 2.4
config files?

Thanks
Sridhar


2004-03-10 03:39:54

by Roman Zippel

[permalink] [raw]
Subject: Re: Cleaner way to conditionally disallow a CONFIG option as static

Hi,

On Mon, 8 Mar 2004, Sridhar Samudrala wrote:

> In 2.6, net/sctp/Kconfig
>
> config IPV6_SCTP__
> tristate
> default y if IPV6=n
> default IPV6 if IPV6
>
> config IP_SCTP
> tristate "The SCTP Protocol (EXPERIMENTAL)"
> depends on IPV6_SCTP__

This can be written as:

config IP_SCTP
tristate "The SCTP Protocol (EXPERIMENTAL)"
depends on IPV6 || IPV6=n

bye, Roman

2004-03-10 18:18:37

by Sridhar Samudrala

[permalink] [raw]
Subject: Re: Cleaner way to conditionally disallow a CONFIG option as static

On Wed, 10 Mar 2004, Roman Zippel wrote:

> Hi,
>
> On Mon, 8 Mar 2004, Sridhar Samudrala wrote:
>
> > In 2.6, net/sctp/Kconfig
> >
> > config IPV6_SCTP__
> > tristate
> > default y if IPV6=n
> > default IPV6 if IPV6
> >
> > config IP_SCTP
> > tristate "The SCTP Protocol (EXPERIMENTAL)"
> > depends on IPV6_SCTP__
>
> This can be written as:
>
> config IP_SCTP
> tristate "The SCTP Protocol (EXPERIMENTAL)"
> depends on IPV6 || IPV6=n
>

Thanks. Your 2.6 solution helped me come up with the following solution for
2.4 too and avoid the hack.

if [ "$CONFIG_IPV6" = "n" ]; then
tristate ' The SCTP Protocol (EXPERIMENTAL)' CONFIG_IP_SCTP
else
dep_tristate ' The SCTP Protocol (EXPERIMENTAL)' CONFIG_IP_SCTP $CONFIG_IPV6
fi

Thanks
-Sridhar