Lines Matching +full:foo +full:- +full:bar
6 ------------
11 +- Code maturity level options
12 | +- Prompt for development and/or incomplete code/drivers
13 +- General setup
14 | +- Networking support
15 | +- System V IPC
16 | +- BSD Process Accounting
17 | +- Sysctl support
18 +- Loadable module support
19 | +- Enable loadable module support
20 | +- Set version information on all module symbols
21 | +- Kernel module loader
22 +- ...
29 ------------
50 ---------------
55 - type definition: "bool"/"tristate"/"string"/"hex"/"int"
69 - input prompt: "prompt" <prompt> ["if" <expr>]
73 with "if". If a prompt is not present, the config option is a non-visible
79 - default value: "default" <expr> ["if" <expr>]
108 c) Sub-driver behavior or similar options for a driver that is
114 - type definition + default value::
121 - dependencies: "depends on" <expr>
128 bool "foo" if BAR
129 default y if BAR
133 depends on BAR
134 bool "foo"
137 - reverse dependencies: "select" <symbol> ["if" <expr>]
150 By abusing select you are able to select a symbol FOO even
151 if FOO depends on BAR that is not set.
152 In general use select only for non-visible symbols
163 - weak reverse dependencies: "imply" <symbol> ["if" <expr>]
171 config FOO
172 tristate "foo"
177 depends on BAR
182 FOO BAR BAZ's default choice for BAZ
197 Note: If the feature provided by BAZ is highly desirable for FOO,
198 FOO should imply not only BAZ, but also its dependency BAR::
200 config FOO
201 tristate "foo"
202 imply BAR
209 - limiting menu display: "visible if" <expr>
217 - numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
224 - help text: "help"
230 - module attribute: "modules"
236 -----------------
264 (4) If value of <symbol1> is respectively lower, greater, lower-or-equal,
265 or greater-or-equal than value of <symbol2>, it returns 'y',
268 (6) Returns the result of (2-/expr/).
276 There are two types of symbols: constant and non-constant symbols.
277 Non-constant symbols are the most common ones and are defined with the
278 'config' statement. Non-constant symbols consist entirely of alphanumeric
285 --------------
309 - the child entry must become invisible, if the parent is set to 'n'
310 - the child entry must only be visible, if the parent is visible::
328 --------------
334 - config
335 - menuconfig
336 - choice/endchoice
337 - comment
338 - menu/endmenu
339 - if/endif
340 - source
449 This sets the config program's title bar if the config program chooses
461 -------------
481 depends on HAVE_GENERIC_IOMAP && FOO
485 obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
512 depends on $(cc-option,-fstack-protector)
519 def_bool $(success,$(srctree)/scripts/cc-check-foo.sh $(CC))
523 To restrict a component build to module-only, qualify its config symbol
526 config FOO
527 depends on BAR && m
529 limits FOO to module (=m) or disabled (=n).
531 Compile-testing
537 it allows continuous-integration systems to compile-test the code on a more
539 Note that compile-tested code should avoid crashing when run on a system where
547 architectures and platforms. This is especially true for on-SoC IP cores,
559 Such a dependency can be relaxed by combining it with the compile-testing rule
562 config FOO
563 bool "Support for foo hardware"
571 when trying to use that loadable module from a built-in driver.
576 config FOO
577 tristate "Support for foo hardware"
578 depends on BAR || !BAR
580 This means that there is either a dependency on BAR that disallows
581 the combination of FOO=y with BAR=m, or BAR is completely disabled. The BAR
582 module must provide all the stubs for !BAR case.
587 config FOO
588 tristate "Support for foo hardware"
592 def_tristate BAR || !BAR
595 the module code, useful for example when the module BAR does not provide
596 !BAR stubs::
601 bar_register(&foo);
606 discarded, when CONFIG_BAR=m and this code is built-in. This is not what users
607 usually expect when enabling BAR as module.
629 Read: Documentation/kbuild/Kconfig.recursion-issue-01
633 make KBUILD_KCONFIG=Documentation/kbuild/Kconfig.recursion-issue-01 allnoconfig
638 Read: Documentation/kbuild/Kconfig.recursion-issue-02
642 make KBUILD_KCONFIG=Documentation/kbuild/Kconfig.recursion-issue-02 allnoconfig
651 a) Remove any superfluous "select FOO" or "depends on FOO"
654 b1) Swap all "select FOO" to "depends on FOO" or,
656 b2) Swap all "depends on FOO" to "select FOO"
659 Documentation/kbuild/Kconfig.recursion-issue-01 through the removal
665 Documentation/kbuild/Kconfig.recursion-issue-02.
674 06b718c01208 select A -> depends on A
675 c22eacfe82f9 depends on A -> depends on B
676 6a91e854442c select A -> depends on A
677 118c565a8f2e select A -> select B
678 f004e5594705 select A -> depends on A
679 c7861f37b4c6 depends on A -> (null)
680 80c69915e5fb select A -> (null) (1)
681 c2218e26c0d0 select A -> depends on A (1)
682 d6ae99d04e1c select A -> depends on A
683 95ca19cf8cbf select A -> depends on A
684 8f057d7bca54 depends on A -> (null)
685 8f057d7bca54 depends on A -> select A
686 a0701f04846e select A -> depends on A
687 0c8b92f7f259 depends on A -> (null)
688 e4e9e0540928 select A -> depends on A (2)
690 7b1fff7e4fdf select A -> depends on A
691 86c747d2a4f0 select A -> depends on A
692 d9f9ab51e55e select A -> depends on A
693 0c51a4d8abd6 depends on A -> select A (3)
694 e98062ed6dc4 select A -> depends on A (3)
695 91e5d284a7f1 select A -> (null)
749 .. [1] https://gsd.uwaterloo.ca/sites/default/files/vm-2013-berger.pdf
750 .. [2] https://gsd.uwaterloo.ca/sites/default/files/ase241-berger_0.pdf
763 propositional formula extracted from CPP #ifdefs and build-rules into a SAT
770 https://kernelnewbies.org/KernelProjects/kconfig-sat
772 .. [4] https://www.cs.cornell.edu/~sabhar/chapters/SATSolvers-KR-Handbook.pdf
773 .. [5] https://gsd.uwaterloo.ca/sites/default/files/vm-2013-berger.pdf