On 12 June 2013 12:20, Ralf Baechle <ralf@xxxxxxxxxxxxxx> wrote: > Here's a simplified test case: > > < --------- bite here --------- > > choice > prompt "choice 1" > > config FOO1 > bool "foo 1" > > config FOO2 > bool "foo 2" > endchoice > > choice > prompt "frob" > > config BAR > bool "bar" > depends on FOO2 > > endchoice > < --------- bite here --------- > > > Save this to a file, then run: > > scripts/kconfig/conf --randconfig /tmp/xxx && cat .config > > There will be two possible variants for generated .config files: > > < --------- Variant 1 --------- > > CONFIG_FOO1=y > # CONFIG_FOO2 is not set > < --------- Variant 2 --------- > > # CONFIG_FOO1 is not set > # CONFIG_FOO2 is not set > < --------- End --------- > > > The intended third outcome which would be > < --------- doesn't happen ---- > > # CONFIG_FOO1 is not set > CONFIG_FOO2=y > < --------- End --------------- > > > never gets generated. > > Pretty much any tempering with this test case will change the behaviour. > For example removing the "depends on FOO2" line will result in the > behaviour of either CONFIG_FOO1 or CONFIG_FOO2 being set to y but never > none or both. Other minor changes might result in both symbols getting > set. > > Ralf > Thanks for the testcase Ralf. My understanding is that if the 'choice' symbol is available (meaning, all the dependencies are satisfied), then one of the possible choices should always be selected. So variant2 in the previous example seems wrong behavior to me. -- Regards, Markos Chandras - Gentoo Linux Developer http://dev.gentoo.org/~hwoarang