# Select broken dependency issue # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # Test with: # # make KBUILD_KCONFIG=Documentation/kbuild/Kconfig.select-break menuconfig # # kconfig will not complain and enable this layout for configuration. This is # currently a feature of kconfig, given select was designed to be heavy handed. # Kconfig currently does not check the list of symbols listed on a symbol's # "select" list, this is done on purpose to help load a set of known required # symbols. Because of this use of select should be used with caution. An # example of this issue is below. # # The option B and C are clearly contradicting with respect to A. # However, when A is set, C can be set as well because Kconfig does not # visit the dependencies of the select target (in this case B). And since # Kconfig does not visit the dependencies, it breaks the dependencies of B # (!A). mainmenu "Simple example to demo kconfig select broken dependency issue" config A bool "CONFIG A" config B bool "CONFIG B" depends on !A config C bool "CONFIG C" depends on A select B