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