Hello,
I am trying to learn more about the kernel build system and due to that I tried the following in the top level Kconfig file right at the beginning:
config FOO
tristate
prompt "FOO"
config BAR
tristate "BAR" if FOO
i suspect that last line - it feels like a thinko,
combining a declaration and a dependency.
moreover, `ack tristate` (recursive grep w other nicetohaves)
shows 0 such uses.
heres typical usage
drivers/infiniband/hw/hfi1/Kconfig
3: tristate "Intel OPA Gen1 support"
drivers/infiniband/hw/vmw_pvrdma/Kconfig
3: tristate "VMware Paravirtualized RDMA Driver"
drivers/infiniband/hw/mlx4/Kconfig
3: tristate "Mellanox ConnectX HCA support"
drivers/infiniband/hw/mthca/Kconfig
3: tristate "Mellanox HCA support"
drivers/infiniband/hw/qib/Kconfig
3: tristate "Intel PCIe HCA support"
default y
Then I do a make menuconfig and choose the config option FOO with "m" then the config option BAR shows up with "y". if I exit and save this constellation m/y shows up in the .config file. But as I understand the logic the value of the config option FOO defines the upper level for the value of the config option BAR.
When I do just a make menuconfig again both options show up as m even though in the .config file they are still saved as y/m.
Is that a problem with the default value of BAR? Am I not supposed to give it a default value out of range when FOO is m?
Thank you,
Martin
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies