Mauro Carvalho Chehab wrote:Which I just wrote is dangerous. It is easy to get wrong, and it is not maintainable. Here is what I would do: config TUNER_1 tristate "Tuner 1" depends on ACTUAL_DEP1_OF_T1 && ACTUAL_DEP2_OF_T1 config TUNER_2 tristate "Tuner 2" depends on ACTUAL_DEP1_OF_T2 && ACTUAL_DEP2_OF_T2 select ACTUAL_DEP3_OF_T2 In this example, ACTUAL_DEP3_OF_T2 does not have further dependencies itself. And if you believe that Kconfig should assist with runtime dependencies too, not just build-time dependencies, and you believe that the "help" and "comment" directives are insufficient for that, then add meta-options like this: config META_TUNER_A tristate "Meta-tuner A" select TUNER_1 depends on ACTUAL_DEP1_OF_T1 && ACTUAL_DEP2_OF_T1 # for TUNER_1 select TUNER_2 depends on ACTUAL_DEP1_OF_T2 && ACTUAL_DEP2_OF_T2 # for TUNER_2 select ACTUAL_DEP3_OF_T2 # for TUNER_2 help Adds support for cards which contain tuner 1 and/or tuner 2. So, like I said before, I recommend: - If an option has an actual build requirement, state it explicitly by "depends on" (or alternatively "select") directly at this option. Alternatively, enclose this option or a block of options which have identical dependencies in an "if"/ "endif" block, conditional on this common dependency. - Whenever you use "select", *copy* all dependencies of option A to option B if B selects A. Alternatively, replace "select" by "select ... if C" and *copy* all dependencies of option A to option C. This is because the Kconfig files (1.) must correctly state all build dependencies and (2.) must be maintainable. If you "select" a lot, you will have of course a lot of dependencies to copy. That's the nature of "select". You can't get around that. Not as long as there is no "select" which recursively checks and maybe selects dependencies of dependencies. -- Stefan Richter -=====-==--- -=-= -=--- http://arcgraph.de/sr/ --
| Thomas Gleixner | Re: Linux 2.6.23-rc9 and a heads-up for the 2.6.24 series.. |
| Karl Meyer | PROBLEM: 2.6.23-rc "NETDEV WATCHDOG: eth0: transmit timed out" |
| Mark Weber | hdparm standby timeout not working for WD raptors? |
| Robin Lee Powell | NFS hang + umount -f: better behaviour requested. |
git: | |
| Adam Roben | Equivalent of `svn switch` for git-svn? |
| Linus Torvalds | Re: On Tabs and Spaces |
| Adam Mercer | git cvsimport error |
| Sam Song | Fwd: [OT] Re: Git via a proxy server? |
| Antti Harri | Re: wine question |
| Paul Pruett | anyone using zoneminder.com on OpenBSD? |
| Josh | Re: removing sendmail |
| Sevan / Venture37 | wpi(4) not working in -CURRENT |
| Bill Day | telnet: Unable to connect to remote host: Network is unreachable |
| Dong Liu | Re: CXterm for LINUX |
| Framstag | ftp-error: bind: Address already in use? |
| Theodore Ts'o | RESULT: comp.os.linux passes: 858: 5 |
| ptrace and big kernel lock | 7 minutes ago | Linux kernel |
| SMDK2410 LCD Framebuffer driver | 5 hours ago | Linux kernel |
| Resetting the bios password for Toshiba Laptop | 6 hours ago | Hardware |
| Problem booting a barebone kernel in VMWare | 9 hours ago | Linux kernel |
| IP layer send packet | 13 hours ago | Linux kernel |
| PID to ELF image full path | 15 hours ago | Linux kernel |
| types of kernel | 1 day ago | Linux kernel |
| magical mounts | 2 days ago | Linux kernel |
| Problem in scim in Fedora 9 | 2 days ago | Linux general |
| The new Western Digital power saving drives | 2 days ago | Hardware |
