File indexing completed on 2024-05-12 04:02:08

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>Kconfig</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Kconfig) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="color:#2980b9">This</span> <span style="color:#da4453;text-decoration:underline">is wrong but should not crash ] ) } !</span>
0008 
0009 <span style="color:#7a7c7d"># comment</span>
0010 
0011 <span style="font-weight:bold">config</span> BR2_PACKAGE_GAMMARAY
0012         <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"gammaray"</span>
0013         <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> BR2_PACKAGE_QT5
0014         <span style="color:#27ae60">help</span>
0015 <span style="color:#da4453">          GammaRay Qt introspection probe.</span>
0016 <span style="color:#da4453">          second line of help, with correct indentation</span>
0017 
0018 <span style="color:#da4453">          GammaRay Qt introspection probe.</span>
0019 <span style="color:#da4453">          second line of help, with correct indentation</span>
0020 <span style="color:#da4453">         </span><span style="color:#da4453;text-decoration:underline">third line underindented and thus wrong</span>
0021         <span style="color:#27ae60">default</span> <span style="color:#f44f4f">'true'</span>
0022 <span style="font-weight:bold">config</span> W1_MASTER_GPIO_CUSTOM
0023     <span style="color:#2980b9">tristate</span> <span style="color:#f44f4f">"Custom GPIO-based W1 driver"</span>
0024     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> GENERIC_GPIO
0025     <span style="color:#27ae60">select</span> W1_GPIOconfig <span style="color:#da4453;text-decoration:underline">AG71XX</span>
0026     <span style="color:#2980b9">tristate</span> <span style="color:#f44f4f">"Atheros AR7XXX/AR9XXX built-in ethernet mac support"</span>
0027     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> ATH79
0028     <span style="color:#27ae60">imply</span> HAS_TXX9_SERIAL
0029     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> LD_VERSION <span style="color:#3f8058">>=</span> 225000000 <span style="color:#3f8058">||</span> LD_IS_LLD
0030     <span style="color:#27ae60">select</span> PHYLIB
0031     <span style="color:#27ae60;text-decoration:line-through">---help---</span>
0032 <span style="color:#da4453">      If you wish to compile a kernel for AR7XXX/91XXX and enable</span>
0033 <span style="color:#da4453">      ethernet support, then you should always answer Y to this.</span>
0034 
0035 <span style="font-weight:bold">comment</span> <span style="color:#f44f4f">"module support disabled"</span>
0036     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> <span style="color:#3f8058">!</span>MODULES
0037 
0038 <span style="font-weight:bold">menu</span> <span style="text-decoration:line-through">myMenu</span>
0039       <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> NET
0040 <span style="font-weight:bold">config</span> NETDEVICES
0041     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Atheros AR71xx built-in ethernet driver debugging"</span>
0042     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> ds
0043     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">n</span>
0044     <span style="color:#27ae60">help</span>
0045 <span style="color:#da4453">      Atheros AR71xx built-in ethernet driver debugging messages.</span>
0046 <span style="font-weight:bold">endmenu</span>
0047 <span style="font-weight:bold">if</span> TARGET_OX820
0048 
0049 <span style="font-weight:bold">config</span> SYS_CPU
0050     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">"arm1136"</span>
0051 
0052 <span style="font-weight:bold">endif</span>
0053 
0054 <span style="font-weight:bold">if</span> AG71XX
0055 <span style="font-weight:bold">config</span> AG71XX_DEBUG
0056     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Atheros AR71xx built-in ethernet driver debugging"</span>
0057     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">n</span>
0058     <span style="color:#27ae60">help</span>
0059 <span style="color:#da4453">      Atheros AR71xx built-in ethernet driver debugging messages.</span>
0060 <span style="font-weight:bold">endif</span>
0061 
0062 <span style="color:#7a7c7d"># comment</span>
0063 
0064 <span style="font-weight:bold">menu</span> <span style="color:#f44f4f">"System setup"</span>
0065 
0066 <span style="font-weight:bold">choice</span>
0067     <span style="color:#27ae60">prompt</span> <span style="color:#f44f4f">"Alpha system type"</span>
0068     <span style="color:#27ae60">default</span> ALPHA_GENERIC
0069     <span style="color:#95da4c;background-color:#4d1f24;font-weight:bold;text-decoration:line-through">string</span> <span style="color:#f44f4f">"bad"</span>
0070     <span style="color:#27ae60;text-decoration:line-through">---help---</span>
0071 <span style="color:#da4453">      This is the system type of your hardware.</span>
0072 
0073 <span style="color:#da4453">    </span><span style="font-weight:bold">config</span> HZ_32
0074         <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"32 Hz"</span>
0075     <span style="font-weight:bold">config</span> HZ_64
0076         <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"64 Hz"</span>
0077 
0078 <span style="font-weight:bold">config</span> ALPHA_GENERIC
0079     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Generic"</span>
0080     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> TTY
0081     <span style="color:#27ae60">select</span> HAVE_EISA
0082     <span style="color:#27ae60">select</span> GENERIC_BUG_RELATIVE_POINTERS <span style="font-weight:bold">if</span> X86_64
0083     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"64-bit kernel"</span> <span style="font-weight:bold">if</span> <span style="color:#f44f4f">"</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">SUBARCH</span><span style="color:#3daee9">)</span><span style="color:#f44f4f">"</span> <span style="color:#3f8058">=</span> <span style="color:#f44f4f">"x86"</span>
0084     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Support the legacy </span><span style="color:#3daee9">\"</span><span style="color:#f44f4f">mmu-masters</span><span style="color:#3daee9">\"</span><span style="color:#f44f4f"> devicetree bindings"</span>
0085     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> ARM_SMMU<span style="color:#3f8058">=</span><span style="color:#27aeae;font-weight:bold">y</span> <span style="color:#3f8058">&amp;&amp;</span> OF
0086     <span style="color:#27ae60">help</span>
0087 <span style="color:#da4453">      A generic kernel will run on all supported Alpha hardware.</span>
0088 
0089 <span style="font-weight:bold">endchoice</span>
0090 
0091 <span style="font-weight:bold">config</span> VGA_HOSE
0092     <span style="color:#2980b9">bool</span>
0093     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> <span style="color:#27aeae;font-weight:bold">y</span>
0094     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> VGA_CONSOLE <span style="color:#3f8058">&amp;&amp;</span> <span style="color:#3f8058">(</span>ALPHA_GENERIC <span style="color:#3f8058">||</span> ALPHA_TITAN <span style="color:#3f8058">||</span> ALPHA_MARVEL <span style="color:#3f8058">||</span> ALPHA_TSUNAMI<span style="color:#3f8058">)</span>
0095     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">y</span>
0096     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">n</span>
0097     <span style="color:#27ae60">default</span> 3
0098     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Use WTINT"</span> <span style="font-weight:bold">if</span> ALPHA_SRM <span style="color:#3f8058">||</span> ALPHA_GENERIC
0099     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">y</span> <span style="font-weight:bold">if</span> ALPHA_QEMU
0100     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">n</span> <span style="font-weight:bold">if</span> ALPHA_EV5 <span style="color:#3f8058">||</span> ALPHA_EV56 <span style="color:#3f8058">||</span> <span style="color:#3f8058">(</span>ALPHA_EV4 <span style="color:#3f8058">&amp;&amp;</span> <span style="color:#3f8058">!</span>ALPHA_LCA<span style="color:#3f8058">)</span>
0101     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">n</span> <span style="font-weight:bold">if</span> <span style="color:#3f8058">!</span>ALPHA_SRM <span style="color:#3f8058">&amp;&amp;</span> <span style="color:#3f8058">!</span>ALPHA_GENERIC
0102     <span style="color:#27ae60">default</span> <span style="color:#27aeae;font-weight:bold">y</span> <span style="font-weight:bold">if</span> SMP
0103     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">"y"</span> <span style="font-weight:bold">if</span> PPC_POWERNV
0104     <span style="color:#27ae60">range</span> 2 32
0105     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> SMP
0106     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">"32"</span> <span style="font-weight:bold">if</span> ALPHA_GENERIC <span style="color:#3f8058">||</span> ALPHA_MARVEL
0107     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">'4'</span> <span style="font-weight:bold">if</span> <span style="color:#3f8058">!</span>ALPHA_GENERIC <span style="color:#3f8058">&amp;&amp;</span> <span style="color:#3f8058">!</span>ALPHA_MARVEL
0108     <span style="color:#27ae60">help</span>
0109 <span style="color:#da4453">      Support VGA on an arbitrary hose; needed for several platforms</span>
0110 <span style="color:#da4453">      which always have multiple hoses, and whose consoles support it.</span>
0111 
0112 <span style="font-weight:bold">endmenu</span>
0113 
0114 <span style="font-weight:bold">menu</span> <span style="color:#f44f4f">"ARC Architecture Configuration"</span>
0115 
0116 <span style="font-weight:bold">menu</span> <span style="color:#f44f4f">"ARC Platform/SoC/Board"</span>
0117 
0118 <span style="color:#7a7c7d">#New platform adds here</span>
0119 <span style="color:#27ae60">source</span> <span style="color:#f44f4f">"arch/arc/plat-eznps/Kconfig"</span>
0120 <span style="color:#27ae60">source</span> <span style="color:#f44f4f">'arch/arc/plat-hsdk/Kconfig'</span>
0121 
0122 <span style="font-weight:bold">endmenu</span>
0123 
0124 <span style="font-weight:bold">menu</span> <span style="color:#f44f4f">"ARC CPU Configuration"</span>
0125 
0126 <span style="font-weight:bold">choice</span>
0127     <span style="color:#27ae60">prompt</span> <span style="color:#f44f4f">"ARC Core"</span>
0128     <span style="color:#27ae60">default</span> ARC_CPU_HS <span style="font-weight:bold">if</span> ISA_ARCV2
0129     <span style="color:#27ae60">help</span>
0130 <span style="color:#da4453">      bla bla</span>
0131 
0132 <span style="font-weight:bold">if</span> ISA_ARCOMPACT
0133 
0134 <span style="font-weight:bold">config</span> ARC_CPU_750D
0135     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"ARC750D"</span>
0136     <span style="color:#27ae60">select</span> ARC_CANT_LLSC
0137     <span style="color:#27ae60">help</span>
0138 <span style="color:#da4453">      Support for ARC750 core</span>
0139 
0140 <span style="font-weight:bold">endif</span> <span style="color:#7a7c7d">#ISA_ARCOMPACT</span>
0141 
0142 <span style="font-weight:bold">endchoice</span>
0143 
0144 <span style="font-weight:bold">if</span> SMP
0145 
0146 <span style="font-weight:bold">config</span> NR_CPUS
0147     <span style="color:#2980b9">int</span> <span style="color:#f44f4f">"Maximum number of CPUs (2-4096)"</span>
0148     <span style="color:#27ae60">range</span> 2 4096
0149     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">"4"</span>
0150 
0151 <span style="font-weight:bold">endif</span> <span style="color:#7a7c7d">#SMP</span>
0152 
0153 <span style="font-weight:bold">config</span> ARC_MMU_V4
0154     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"MMU v4"</span>
0155     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> ISA_ARCV2
0156 
0157 <span style="font-weight:bold">endmenu</span>   <span style="color:#7a7c7d"># "ARC CPU Configuration"</span>
0158 
0159 <span style="font-weight:bold">menuconfig</span> ARC_PLAT_EZNPS
0160     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"</span><span style="color:#3daee9">\"</span><span style="color:#f44f4f">EZchip</span><span style="color:#3daee9">\"</span><span style="color:#f44f4f"> ARC dev platform"</span>
0161     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> ISA_ARCOMPACT
0162     <span style="color:#27ae60">select</span> CPU_BIG_ENDIAN
0163     <span style="color:#27ae60">select</span> CLKSRC_NPS <span style="font-weight:bold">if</span> <span style="color:#3f8058">!</span>PHYS_ADDR_T_64BIT
0164     <span style="color:#27ae60">help</span>
0165 <span style="color:#da4453">      Support for EZchip development platforms,</span>
0166 <span style="color:#da4453">      based on ARC700 cores.</span>
0167 <span style="color:#da4453">      We handle few flavors:</span>
0168 <span style="color:#da4453">        - Hardware Emulator AKA HE which is FPGA based chassis</span>
0169 <span style="color:#da4453">        - Simulator based on MetaWare nSIM</span>
0170 <span style="color:#da4453">        - NPS400 chip based on ASIC</span>
0171 
0172 <span style="color:#7a7c7d"># </span><span style="color:#3f8058;font-style:italic">SPDX-License-Identifier:</span><span style="color:#3f8058;font-style:italic"> </span><span style="color:#3f8058;font-style:italic">GPL-2.0-only</span>
0173 <span style="font-weight:bold">config</span> ARM64
0174     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> <span style="color:#27aeae;font-weight:bold">y</span>
0175     <span style="color:#27ae60">select</span> HAVE_DYNAMIC_FTRACE_WITH_REGS \
0176         <span style="font-weight:bold">if</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">cc-option</span><span style="font-weight:bold">,</span><span style="color:#2980b9">-fpatchable-function-entry=2</span><span style="color:#3daee9">)</span>
0177     <span style="color:#27ae60">select</span> HAVE_EFFICIENT_UNALIGNED_ACCESS
0178     <span style="color:#27ae60">help</span>
0179 <span style="color:#da4453">      ARM 64-bit (AArch64) Linux support.</span>
0180 
0181 <span style="font-weight:bold">config</span> PHYS_OFFSET
0182     <span style="color:#2980b9">hex</span> <span style="color:#f44f4f">"Physical address of main memory"</span> <span style="font-weight:bold">if</span> MMU
0183     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> <span style="color:#3f8058">!</span>ARM_PATCH_PHYS_VIRT
0184     <span style="color:#27ae60">default</span> DRAM_BASE <span style="font-weight:bold">if</span> <span style="color:#3f8058">!</span>MMU
0185     <span style="color:#27ae60">default</span> 0x00000000 <span style="font-weight:bold">if</span> ARCH_EBSA110 <span style="color:#3f8058">||</span> \
0186             ARCH_FOOTBRIDGE <span style="color:#3f8058">||</span> \
0187             ARCH_INTEGRATOR <span style="color:#3f8058">||</span> \
0188             ARCH_REALVIEW
0189     <span style="color:#27ae60">default</span> 0x10000000 <span style="font-weight:bold">if</span> ARCH_OMAP1 <span style="color:#3f8058">||</span> ARCH_RPC
0190     <span style="color:#27ae60">default</span> 0x20000000 <span style="font-weight:bold">if</span> ARCH_S5PV210
0191     <span style="color:#27ae60">default</span> 0xc0000000 <span style="font-weight:bold">if</span> ARCH_SA1100
0192     <span style="color:#27ae60">help</span>
0193 <span style="color:#da4453">      Please provide the physical address corresponding to the</span>
0194 <span style="color:#da4453">      location of main memory in your system.</span>
0195 
0196 <span style="font-weight:bold">comment</span> <span style="color:#f44f4f">"S3C2416 Boards"</span>
0197 
0198 <span style="font-weight:bold">config</span> KERNEL_RAM_BASE_ADDRESS
0199     <span style="color:#2980b9">hex</span> <span style="color:#f44f4f">"Virtual address of memory base"</span>
0200     <span style="color:#27ae60">default</span> 0xe0000000 <span style="font-weight:bold">if</span> SOC_TMS320C6455
0201     <span style="color:#27ae60">default</span> 0xe0000000 <span style="font-weight:bold">if</span> SOC_TMS320C6457
0202 
0203 <span style="font-weight:bold">config</span> CC_IS_GCC
0204     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">success</span><span style="font-weight:bold">,</span><span style="color:#2980b9">echo "</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC_VERSION_TEXT</span><span style="color:#3daee9">)</span><span style="color:#2980b9">" | grep -q gcc</span><span style="color:#3daee9">)</span>
0205 
0206 <span style="color:#da4453;text-decoration:underline">endif # error</span>
0207 
0208 <span style="color:#7a7c7d"># next line caused hang, see https://phabricator.kde.org/D18509</span>
0209 <span style="font-weight:bold">menu</span>
0210 
0211 <span style="color:#7a7c7d"># the next lines should all be fine</span>
0212 <span style="color:#2980b9">plain</span><span style="color:#3daee9">:=</span><span style="color:#f44f4f">plain_value</span>
0213      <span style="color:#2980b9">with_whitespace</span>     <span style="color:#3daee9">:=</span>    <span style="color:#f44f4f">plain value whitespace</span>
0214 <span style="color:#2980b9">value_with_expansion</span>     <span style="color:#3daee9">:=</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">ARCH</span><span style="color:#3daee9">)</span>
0215 <span style="color:#2980b9">plain_expansion_mix</span>      <span style="color:#3daee9">:=</span> <span style="color:#f44f4f">Linux/</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">ARCH</span><span style="color:#3daee9">)</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">KERNELVERSION</span><span style="color:#3daee9">)</span><span style="color:#f44f4f"> Kernel Configuration</span>
0216 
0217 <span style="color:#7a7c7d"># function definition</span>
0218 <span style="color:#2980b9">cc-option-bit</span>            <span style="color:#3daee9">=</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">if-success</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span><span style="color:#2980b9"> -Werror </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">1</span><span style="color:#3daee9">)</span><span style="color:#2980b9"> -E -x c /dev/null -o /dev/null</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">1</span><span style="color:#3daee9">))</span>
0219 
0220 <span style="color:#7a7c7d"># function call</span>
0221 <span style="color:#3daee9">$(</span><span style="color:#2980b9">cc-option-bit</span><span style="font-weight:bold">,</span><span style="color:#2980b9">-m64</span><span style="color:#3daee9">)</span>
0222 
0223 <span style="color:#7a7c7d"># function call and storing the result</span>
0224 <span style="color:#2980b9">m32-flag</span>         <span style="color:#3daee9">:=</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">cc-option-bit</span><span style="font-weight:bold">,</span><span style="color:#2980b9">-m32</span><span style="color:#3daee9">)</span>
0225 
0226 <span style="color:#7a7c7d"># call to known function</span>
0227 <span style="color:#2980b9">name</span>             <span style="color:#3daee9">:=</span> <span style="color:#3daee9">$(</span><span style="color:#7f8c8d">filename</span><span style="color:#3daee9">)</span>
0228 
0229 <span style="color:#7a7c7d"># call to known function with arguments</span>
0230 <span style="color:#3daee9">$(</span><span style="color:#7f8c8d">warning-if</span><span style="font-weight:bold">,</span><span style="color:#2980b9">y</span><span style="font-weight:bold">,</span><span style="color:#2980b9">hello world 1</span><span style="color:#3daee9">)</span>
0231 
0232 <span style="color:#7a7c7d"># ... with nested expansions</span>
0233 <span style="color:#3daee9">$(</span><span style="color:#7f8c8d">error-if</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">success</span><span style="font-weight:bold">,</span><span style="color:#2980b9"> </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">LD</span><span style="color:#3daee9">)</span><span style="color:#2980b9"> -v | grep -q gold</span><span style="color:#3daee9">)</span><span style="font-weight:bold">,</span><span style="color:#2980b9"> gold linker '</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">LD</span><span style="color:#3daee9">)</span><span style="color:#2980b9">' not supported</span><span style="color:#3daee9">)</span>
0234 
0235 <span style="color:#7a7c7d"># expansion in different contexts</span>
0236 <span style="font-weight:bold">config</span> FOO_<span style="color:#3daee9">$(</span><span style="color:#2980b9">BAR</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">BAZ</span><span style="color:#3daee9">))</span>
0237     <span style="color:#2980b9">int</span> <span style="color:#f44f4f">"</span><span style="color:#3daee9">$(</span><span style="color:#7f8c8d">filename</span><span style="color:#3daee9">)</span><span style="color:#f44f4f">"</span>
0238     <span style="color:#27ae60">default</span> <span style="color:#3daee9">$(</span><span style="color:#7f8c8d">lineno</span><span style="color:#3daee9">)</span> <span style="font-weight:bold">if</span> <span style="color:#3daee9">$(</span><span style="color:#7f8c8d">lineno</span><span style="color:#3daee9">)</span> <span style="color:#3f8058">>=</span> 5
0239 
0240 <span style="font-weight:bold">menu</span> <span style="color:#f44f4f">"A MENU"</span>
0241 <span style="color:#27ae60">visible</span> <span style="color:#27ae60">if</span> 01 <span style="color:#3f8058">></span> 00
0242 
0243 <span style="font-weight:bold">config</span> A_BOOL
0244     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> <span style="color:#27aeae;font-weight:bold">y</span> <span style="color:#3f8058">&amp;&amp;</span> <span style="color:#27aeae;font-weight:bold">m</span> <span style="color:#3f8058">||</span> !!<span style="color:#3f8058">(</span>!<span style="color:#3f8058">(</span>!!<span style="color:#27aeae;font-weight:bold">n</span><span style="color:#3f8058">))</span> <span style="color:#3f8058">||</span> <span style="color:#f44f4f">"</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">foo</span><span style="color:#3daee9">)</span><span style="color:#f44f4f">"</span>
0245 
0246 <span style="font-weight:bold">endmenu</span>
0247 
0248 <span style="color:#7a7c7d"># Advanced real world example taken from init/Kconfig in Linux 5.10:</span>
0249 <span style="color:#7a7c7d"># Invoke the system shell /bin/sh with a command to pipe a C program with an</span>
0250 <span style="color:#7a7c7d"># asm goto statement to the C compiler that is set by the environment. If the</span>
0251 <span style="color:#7a7c7d"># exit code is 0 then set the default value of CC_HAS_ASM_GOTO_OUTPUT to y,</span>
0252 <span style="color:#7a7c7d"># otherwise to n.</span>
0253 <span style="font-weight:bold">config</span> CC_HAS_ASM_GOTO_OUTPUT
0254     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> CC_HAS_ASM_GOTO
0255     <span style="color:#27ae60">def_</span><span style="color:#2980b9">bool</span> <span style="color:#3daee9">$(</span><span style="color:#2980b9">success</span><span style="font-weight:bold">,</span><span style="color:#2980b9">echo 'int foo(int x) { asm goto ("": "=r"(x) ::: bar); return x; bar: return 0; }' | </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span><span style="color:#2980b9"> -x c - -c -o /dev/null</span><span style="color:#3daee9">)</span>
0256 
0257 <span style="color:#7a7c7d"># Real world example with irregular indentation</span>
0258 <span style="font-weight:bold">config</span> W1_MASTER_DS2490
0259     <span style="color:#2980b9">tristate</span> <span style="color:#f44f4f">"DS2490 USB &lt;-> W1 transport layer for 1-wire"</span>
0260     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> USB
0261     <span style="color:#27ae60">help</span>
0262 <span style="color:#da4453">      Say Y here if you want to have a driver for DS2490 based USB &lt;-> W1 bridges,</span>
0263 <span style="color:#da4453">      for example DS9490*.</span>
0264 
0265 <span style="color:#da4453">      This support is also available as a module.  If so, the module</span>
0266 <span style="color:#da4453">      will be called ds2490.</span>
0267 
0268 <span style="color:#7a7c7d"># synthetic example</span>
0269 <span style="color:#2980b9">to_upper</span><span style="color:#3daee9">=</span><span style="color:#3daee9">$(</span><span style="color:#7f8c8d">shell</span><span style="font-weight:bold">,</span><span style="color:#2980b9">echo </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">1</span><span style="color:#3daee9">)</span><span style="color:#2980b9"> | tr [:lower:] [:upper:]</span><span style="color:#3daee9">)</span>
0270 
0271 <span style="font-weight:bold">config</span> ARGS_<span style="color:#3daee9">$(</span><span style="color:#2980b9">to_upper</span><span style="font-weight:bold">,</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">))</span>
0272     <span style="color:#2980b9">string</span> <span style="color:#f44f4f">"Arguments for the current compiler </span><span style="color:#3daee9">\"</span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span><span style="color:#3daee9">\"</span><span style="color:#f44f4f">"</span>
0273     <span style="color:#27ae60">help</span>
0274 <span style="color:#da4453">      This is a bad idea.</span>
0275 <span style="color:#da4453">      See &lt;</span><span style="color:#27ae60">file:Documentation/completely/made-up.rst</span><span style="color:#da4453">></span>
0276 
0277 <span style="color:#7a7c7d"># binary operator in expression of an if statement</span>
0278 <span style="font-weight:bold">if</span> CPU_SUPPORTS_CPUFREQ <span style="color:#3f8058">&amp;&amp;</span> MIPS_EXTERNAL_TIMER
0279 <span style="color:#27ae60">source</span> <span style="color:#f44f4f">"drivers/cpufreq/Kconfig"</span>
0280 <span style="font-weight:bold">endif</span>
0281 
0282 <span style="color:#7a7c7d"># alert on characters (here a colon) that are ignored (taken from axTLS 2.1.5)</span>
0283 <span style="font-weight:bold">config</span> CONFIG_LUA_CORE
0284     <span style="color:#2980b9">string</span> <span style="color:#f44f4f">"Location of Lua CORE"</span>
0285     <span style="color:#27ae60">default</span> <span style="color:#f44f4f">"/usr/local"</span>
0286     <span style="color:#27ae60">help</span><span style="color:#95da4c;background-color:#4d1f24;font-weight:bold">:</span>
0287 <span style="color:#da4453">        If the Lua exists on another directory then this needs to be changed</span>
0288 
0289 <span style="font-weight:bold">comment</span> <span style="color:#f44f4f">"Comment texts know expansions, too: </span><span style="color:#3daee9">$(</span><span style="color:#2980b9">CC</span><span style="color:#3daee9">)</span><span style="color:#f44f4f">, and the depends property:"</span>
0290     <span style="color:#27ae60">depends</span> <span style="color:#27ae60">on</span> A_BOOL
0291 
0292 <span style="color:#7a7c7d"># "boolean" is now a free variable name ...</span>
0293 <span style="color:#2980b9;text-decoration:line-through">boolean</span><span style="color:#3daee9">=</span><span style="color:#f44f4f">foo</span>
0294 <span style="color:#7a7c7d"># ... but it looks like a bad idea. This may be disputed.</span>
0295 
0296 <span style="font-weight:bold">menuconfig</span> MODULES
0297     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"Enable loadable module support"</span>
0298     <span style="color:#27ae60">modules</span>
0299 
0300 <span style="color:#7a7c7d"># the three modern options</span>
0301 <span style="font-weight:bold">config</span> OPTIONS
0302     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#27ae60;text-decoration:line-through">allnoconfig_y</span>
0303     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#27ae60">modules</span>
0304     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#27ae60;text-decoration:line-through">defconfig_list</span>
0305 
0306 <span style="color:#7a7c7d"># old option "env" and obsolete custom options</span>
0307 <span style="font-weight:bold">config</span> OPTIONS
0308     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#27ae60;text-decoration:line-through">env</span><span style="color:#3f8058;text-decoration:line-through">=</span><span style="color:#f44f4f;text-decoration:line-through">ARCH</span>
0309     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#95da4c;background-color:#4d1f24;font-weight:bold;font-style:italic">custom-without-argument</span>
0310     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#95da4c;background-color:#4d1f24;font-weight:bold;font-style:italic">custom-with-argument</span><span style="color:#3f8058;text-decoration:line-through">=</span><span style="color:#f44f4f;text-decoration:line-through">ABC</span>
0311 
0312 <span style="color:#7a7c7d"># old syntax</span>
0313 <span style="font-weight:bold">menu</span> <span style="text-decoration:line-through">OLD_STYLE_PROMPT</span>
0314 <span style="color:#27ae60">visible</span> <span style="color:#27ae60">if</span> CPU_SUPPORTS_CPUFREQ
0315 
0316 <span style="color:#7a7c7d"># busybox 1.31.1</span>
0317 <span style="color:#27ae60">source</span> <span style="color:#f44f4f;text-decoration:line-through">libbb/Config.in</span>
0318 
0319 <span style="color:#7a7c7d"># uClibc-ng-1.0.37</span>
0320 <span style="font-weight:bold">config</span> DESIRED_TARGET_ARCH
0321     <span style="color:#2980b9">string</span>
0322     <span style="font-weight:bold;text-decoration:line-through">option</span> <span style="color:#27ae60;text-decoration:line-through">env</span><span style="color:#3f8058;text-decoration:line-through">=</span><span style="color:#f44f4f;text-decoration:line-through">"ARCH"</span>
0323 
0324 <span style="font-weight:bold">config</span> OLD_HELP
0325     <span style="color:#2980b9">hex</span>
0326     <span style="color:#27ae60;text-decoration:line-through">---help---</span>
0327 <span style="color:#da4453">        old help property</span>
0328 <span style="color:#da4453">    </span><span style="color:#27ae60">default</span> 0x1CEC0FEE
0329 <span style="font-weight:bold">endmenu</span>
0330 
0331 <span style="color:#7a7c7d"># a few errors</span>
0332 <span style="color:#2980b9;text-decoration:line-through">allnoconfig_y</span>
0333 <span style="color:#da4453;text-decoration:underline">bool</span>
0334 <span style="color:#da4453;text-decoration:underline">def_bool</span>
0335 <span style="color:#da4453;text-decoration:underline">def_tristate</span>
0336 <span style="color:#da4453;text-decoration:underline">default</span>
0337 <span style="color:#2980b9;text-decoration:line-through">defconfig_list</span>
0338 <span style="color:#da4453;text-decoration:underline">depends</span>
0339 <span style="color:#da4453;text-decoration:underline">endchoice</span>
0340 <span style="color:#da4453;text-decoration:underline">endif</span>
0341 <span style="color:#da4453;text-decoration:underline">help</span>
0342 <span style="color:#da4453;text-decoration:underline">hex</span>
0343 <span style="color:#da4453;text-decoration:underline">imply</span>
0344 <span style="color:#da4453;text-decoration:underline">int</span>
0345 <span style="color:#da4453;text-decoration:underline">mainmenu</span>
0346 <span style="color:#da4453;text-decoration:underline">modules</span>
0347 <span style="color:#da4453;text-decoration:underline">on</span>
0348 <span style="color:#2980b9;text-decoration:line-through">option</span>
0349 <span style="color:#da4453;text-decoration:underline">optional</span>
0350 <span style="color:#da4453;text-decoration:underline">prompt</span>
0351 <span style="color:#da4453;text-decoration:underline">range</span>
0352 <span style="color:#da4453;text-decoration:underline">select</span>
0353 <span style="color:#da4453;text-decoration:underline">string</span>
0354 <span style="color:#da4453;text-decoration:underline">tristate</span>
0355 <span style="color:#da4453;text-decoration:underline">visible</span>
0356 
0357 <span style="font-weight:bold">config</span> OK
0358     <span style="color:#2980b9">bool</span> <span style="color:#f44f4f">"still OK"</span>
0359     <span style="color:#27ae60">help</span>
0360 <span style="color:#da4453">        still OK</span>
0361 <span style="color:#da4453;text-decoration:underline">now=fail</span>
0362 <span style="color:#2980b9">andNow</span><span style="color:#3daee9">=</span><span style="color:#f44f4f">OK</span>
0363 </pre></body></html>