config MODULES def_bool y option modules # # Implied symbols with unmet and met direct dependencies # config IMPLY_DIRECT_DEPS def_tristate y imply UNMET_DIRECT_1 imply UNMET_DIRECT_2 imply UNMET_DIRECT_3 imply MET_DIRECT_1 imply MET_DIRECT_2 imply MET_DIRECT_3 imply MET_DIRECT_4 config UNMET_DIRECT_1 tristate depends on n if n config UNMET_DIRECT_2 tristate endif menu "menu" depends on n config UNMET_DIRECT_3 tristate endmenu config MET_DIRECT_1 tristate config MET_DIRECT_2 depends on y tristate if y config MET_DIRECT_3 tristate endif menu "menu" depends on y config MET_DIRECT_4 tristate endmenu # # 'imply' with condition # config IMPLY_COND def_tristate y tristate imply IMPLIED_N_COND if n imply IMPLIED_M_COND if m imply IMPLIED_Y_COND if y config IMPLIED_N_COND tristate config IMPLIED_M_COND tristate config IMPLIED_Y_COND tristate # # Implying from symbol with value n # # Will default to 'n' config IMPLY_N_1 tristate imply IMPLIED_FROM_N_1 # This test also disables the imply, so it's kinda redundant, but why not if n config IMPLY_N_2 tristate imply IMPLIED_FROM_N_2 endif config IMPLIED_FROM_N_1 tristate config IMPLIED_FROM_N_2 tristate # # Implying from symbol with value m # config IMPLY_M def_tristate m imply IMPLIED_M # Implying a bool to 'm' makes it default to 'y' imply IMPLIED_M_BOOL config IMPLIED_M tristate config IMPLIED_M_BOOL bool # # 'imply' which should raise an 'm' default to 'y' # config IMPLY_M_TO_Y tristate default y imply IMPLIED_M_TO_Y config IMPLIED_M_TO_Y tristate default m # # Used for testing user values # config DIRECT_DEP tristate "direct dep" config IMPLY tristate "imply" imply IMPLIED_TRISTATE imply IMPLIED_BOOL config IMPLIED_TRISTATE tristate "implied tristate" depends on DIRECT_DEP config IMPLIED_BOOL bool "implied bool" depends on DIRECT_DEP