3 mainmenu "Buildroot $BR2_VERSION Configuration"
5 config BR2_HAVE_DOT_CONFIG
11 option env="BR2_VERSION_FULL"
19 option env="BR2_EXTERNAL"
21 # Hidden boolean selected by pre-built packages for x86, when they
22 # need to run on x86-64 machines (example: pre-built external
23 # toolchains, binary tools like SAM-BA, etc.).
24 config BR2_HOSTARCH_NEEDS_IA32_LIBS
27 # Hidden boolean selected by packages that need to build 32 bits
28 # binaries with the host compiler, even on 64 bits build machines (e.g
30 config BR2_HOSTARCH_NEEDS_IA32_COMPILER
33 source "arch/Config.in"
41 default "wget --passive-ftp -nd -t 3"
44 string "Subversion (svn) command"
48 string "Bazaar (bzr) command"
60 string "Local files retrieval command"
64 string "Secure copy (scp) command"
68 string "Secure shell (ssh) command"
72 string "Mercurial (hg) command"
79 Command to be used to extract a gzip'ed file to stdout.
80 zcat is identical to gunzip -c except that the former may
81 not be available on your system.
82 Default is "gzip -d -c"
83 Other possible values include "gunzip -c" or "zcat".
86 string "bzcat command"
89 Command to be used to extract a bzip2'ed file to stdout.
90 bzcat is identical to bunzip2 -c except that the former may
91 not be available on your system.
93 Other possible values include "bunzip2 -c" or "bzip2 -d -c".
96 string "xzcat command"
99 Command to be used to extract a xz'ed file to stdout.
102 config BR2_TAR_OPTIONS
106 Options to pass to tar when extracting the sources.
107 E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
112 config BR2_DEFCONFIG_FROM_ENV
114 option env="BR2_DEFCONFIG"
117 string "Location to save buildroot config"
118 default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
119 default "$(CONFIG_DIR)/defconfig"
121 When running 'make savedefconfig', the defconfig file will be saved
125 string "Download dir"
126 default "$(TOPDIR)/dl"
128 Directory to store all the source files that we need to fetch.
129 If the Linux shell environment has defined the BUILDROOT_DL_DIR
130 environment variable, then this overrides this configuration item.
132 The default is $(TOPDIR)/dl
136 default "$(BASE_DIR)/host"
138 Directory to store all the binary files that are built for the host.
139 This includes the cross compilation toolchain when building the
140 internal buildroot toolchain.
142 The default is $(BASE_DIR)/host
144 menu "Mirrors and Download locations"
146 config BR2_PRIMARY_SITE
147 string "Primary download site"
150 Primary site to download from. If this option is set then buildroot
151 will try to download package source first from this site and try the
152 default if the file is not found.
153 Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
154 scp://[user@]host:path.
155 NOTE: This works for all packages using the central package
156 infrastructure (generic, autotools, cmake, ...)
158 config BR2_PRIMARY_SITE_ONLY
159 bool "Only allow downloads from primary download site"
160 depends on BR2_PRIMARY_SITE != ""
162 If this option is enabled, downloads will only be attempted
163 from the primary download site. Other locations, like the
164 package's official download location or the backup download
165 site, will not be considered. Therefore, if the package is
166 not present on the primary site, the download fails.
168 This is useful for project developers who want to ensure
169 that the project can be built even if the upstream tarball
172 if !BR2_PRIMARY_SITE_ONLY
174 config BR2_BACKUP_SITE
175 string "Backup download site"
176 default "http://sources.buildroot.net/"
178 Backup site to download from. If this option is set then buildroot
179 will fall back to download package sources from here if the
180 normal location fails.
182 config BR2_KERNEL_MIRROR
183 string "Kernel.org mirror"
184 default "http://www.kernel.org/pub/"
186 kernel.org is mirrored on a number of servers around the world.
187 The following allows you to select your preferred mirror.
189 Have a look on the kernel.org site for a list of mirrors, then enter
190 the URL to the base directory. Examples:
192 http://www.XX.kernel.org/pub (XX = country code)
193 http://mirror.aarnet.edu.au/pub/ftp.kernel.org
195 config BR2_GNU_MIRROR
196 string "GNU Software mirror"
197 default "http://ftp.gnu.org/pub/gnu"
199 GNU has multiple software mirrors scattered around the world.
200 The following allows you to select your preferred mirror.
202 Have a look on the gnu.org site for a list of mirrors, then enter
203 the URL to the base directory. Examples:
205 http://ftp.gnu.org/pub/gnu
206 http://mirror.aarnet.edu.au/pub/gnu
208 config BR2_DEBIAN_MIRROR
209 string "Debian Software mirror"
210 default "http://ftp.debian.org"
212 Debian has multiple software mirrors scattered around the world.
213 The following allows you to select your preferred mirror.
215 Usually, just add your country code like XX here:
216 http://ftp.XX.debian.org
220 config BR2_LUAROCKS_MIRROR
221 string "LuaRocks mirror"
222 default "http://luarocks.org/repositories/rocks"
226 See http://luarocks.org
231 int "Number of jobs to run simultaneously (0 for auto)"
234 Number of jobs to run simultaneously. If 0, determine
235 automatically according to number of CPUs on the host
239 bool "Enable compiler cache"
241 This option will enable the use of ccache, a compiler
242 cache. It will cache the result of previous builds to speed
243 up future builds. The cache is stored in
244 $HOME/.buildroot-ccache.
246 Note that Buildroot does not try to invalidate the cache
247 contents when the compiler changes in an incompatible
248 way. Therefore, if you make a change to the compiler version
249 and/or configuration, you are responsible for purging the
250 ccache cache by removing the $HOME/.buildroot-ccache
253 config BR2_CCACHE_DIR
254 string "Compiler cache location"
255 depends on BR2_CCACHE
256 default "$(HOME)/.buildroot-ccache"
258 Where ccache should store cached files.
260 config BR2_DEPRECATED
261 bool "Show packages that are deprecated or obsolete"
263 This option hides outdated/obsolete versions of packages.
267 config BR2_DEPRECATED_SINCE_2010_11
271 config BR2_DEPRECATED_SINCE_2012_11
275 config BR2_DEPRECATED_SINCE_2013_02
279 config BR2_DEPRECATED_SINCE_2013_05
283 config BR2_DEPRECATED_SINCE_2013_08
287 config BR2_DEPRECATED_SINCE_2013_11
291 config BR2_DEPRECATED_SINCE_2014_02
297 config BR2_ENABLE_DEBUG
298 bool "build packages with debugging symbols"
300 Build packages with debugging symbols enabled. All libraries
301 and binaries in the 'staging' directory will have debugging
302 symbols, which allows remote debugging even if libraries and
303 binaries are stripped on the target. Whether libraries and
304 binaries are stripped on the target is controlled by the
305 BR2_STRIP_* options below.
309 prompt "gcc debug level"
312 Set the debug level for gcc
317 Debug level 1 produces minimal information, enough
318 for making backtraces in parts of the program that
319 you don't plan to debug. This includes descriptions
320 of functions and external variables, but no information
321 about local variables and no line numbers.
326 The default gcc debug level is 2
331 Level 3 includes extra information, such as all the
332 macro definitions present in the program. Some debuggers
333 support macro expansion when you use -g3.
338 prompt "strip command for binaries on target"
339 default BR2_STRIP_strip
341 config BR2_STRIP_strip
343 depends on !BR2_PACKAGE_HOST_ELF2FLT
345 Binaries and libraries in the target filesystem will be
346 stripped using the normal 'strip' command. This allows to
347 save space, mainly by removing debugging symbols. Debugging
348 symbols on the target are needed for native debugging, but
349 not when remote debugging is used.
351 config BR2_STRIP_sstrip
353 select BR2_PACKAGE_SSTRIP_HOST
354 depends on !BR2_PACKAGE_HOST_ELF2FLT
356 Binaries and libraries in the target filesystem will be
357 stripped using the 'sstrip' command, which strips a little
358 bit more than the traditional 'strip' command. This allows to
359 save space, mainly by removing debugging symbols. Debugging
360 symbols on the target are needed for native debugging, but
361 not when remote debugging is used.
363 config BR2_STRIP_none
366 Do not strip binaries and libraries in the target
370 config BR2_STRIP_EXCLUDE_FILES
371 string "executables that should not be stripped"
372 depends on !BR2_STRIP_none
375 You may specify a space-separated list of binaries and libraries
376 here that should not be stripped on the target.
378 config BR2_STRIP_EXCLUDE_DIRS
379 string "directories that should be skipped when stripping"
380 depends on !BR2_STRIP_none
383 You may specify a space-separated list of directories that should
384 be skipped when stripping. Binaries and libraries in these
385 directories will not be touched.
386 The directories should be specified relative to the target directory,
387 without leading slash.
390 prompt "gcc optimization level"
391 default BR2_OPTIMIZE_S
393 Set the optimization level for gcc
395 config BR2_OPTIMIZE_0
396 bool "optimization level 0"
398 Do not optimize. This is the default.
400 config BR2_OPTIMIZE_1
401 bool "optimization level 1"
403 Optimize. Optimizing compilation takes somewhat more time,
404 and a lot more memory for a large function. With -O, the
405 compiler tries to reduce code size and execution time,
406 without performing any optimizations that take a great deal
407 of compilation time. -O turns on the following optimization
408 flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
409 -fcprop-registers -floop-optimize -fif-conversion
410 -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
411 -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
412 -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
413 -O also turns on -fomit-frame-pointer on machines where doing
414 so does not interfere with debugging.
416 config BR2_OPTIMIZE_2
417 bool "optimization level 2"
419 Optimize even more. GCC performs nearly all supported optimizations
420 that do not involve a space-speed tradeoff. The compiler does not
421 perform loop unrolling or function inlining when you specify -O2.
422 As compared to -O, this option increases both compilation time and
423 the performance of the generated code. -O2 turns on all optimization
424 flags specified by -O. It also turns on the following optimization
425 flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
426 -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
427 -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
428 -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
429 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
430 -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
431 -freorder-functions -falign-functions -falign-jumps -falign-loops
432 -falign-labels -ftree-vrp -ftree-pre
433 Please note the warning under -fgcse about invoking -O2 on programs
434 that use computed gotos.
436 config BR2_OPTIMIZE_3
437 bool "optimization level 3"
439 Optimize yet more. -O3 turns on all optimizations specified by -O2
440 and also turns on the -finline-functions, -funswitch-loops and
441 -fgcse-after-reload options.
443 config BR2_OPTIMIZE_S
444 bool "optimize for size"
446 Optimize for size. -Os enables all -O2 optimizations that do not
447 typically increase code size. It also performs further optimizations
448 designed to reduce code size. -Os disables the following optimization
449 flags: -falign-functions -falign-jumps -falign-loops -falign-labels
450 -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
451 -ftree-vect-loop-version
455 config BR2_ENABLE_SSP
456 bool "build code with Stack Smashing Protection"
457 depends on BR2_TOOLCHAIN_HAS_SSP
459 Enable stack smashing protection support using GCCs
460 -fstack-protector-all option.
462 See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
465 Note that this requires the toolchain to have SSP
466 support. This is always the case for glibc and eglibc
467 toolchain, but is optional in uClibc toolchains.
469 comment "enabling Stack Smashing Protection requires support in the toolchain"
470 depends on !BR2_TOOLCHAIN_HAS_SSP
472 config BR2_PREFER_STATIC_LIB
473 bool "prefer static libraries"
475 Where possible, build and use static libraries for the target.
476 This potentially increases your code size and should only be
477 used if you know what you do.
478 The default is to build dynamic libraries and use those on
479 the target filesystem.
481 WARNING: This is highly experimental at the moment.
483 config BR2_HAVE_DOCUMENTATION
484 bool "documentation on the target"
485 # We no longer want to support a toolchain on the target
486 depends on BR2_DEPRECATED_SINCE_2012_11
488 Install the documentation, including manual pages and info
489 pages, on the target.
490 If you say n here, your target will not contain any
493 config BR2_PACKAGE_OVERRIDE_FILE
494 string "location of a package override file"
495 default "$(TOPDIR)/local.mk"
497 A package override file is a short makefile that contains
498 variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
499 which allows to tell Buildroot to use an existing directory
500 as the source directory for a particular package. See the
501 Buildroot documentation for more details on this feature.
503 config BR2_GLOBAL_PATCH_DIR
504 string "global patch directories"
506 You may specify a space separated list of one or more directories
507 containing global package patches. For a specific version
508 <packageversion> of a specific package <packagename>, patches are
511 First, the default Buildroot patch set for the package is applied
512 from the package's directory in Buildroot.
514 Then for every directory - <global-patch-dir> - that exists in
515 BR2_GLOBAL_PATCH_DIR, if the directory
516 <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
517 *.patch files in this directory will be applied.
519 Otherwise, if the directory <global-patch-dir>/<packagename> exists,
520 then all *.patch files in the directory will be applied.
524 source "toolchain/Config.in"
526 source "system/Config.in"
528 source "linux/Config.in"
530 source "package/Config.in"
532 source "fs/Config.in"
534 source "boot/Config.in"
536 source "package/Config.in.host"
538 source "Config.in.legacy"
540 menu "User-provided options"
541 depends on BR2_EXTERNAL != "support/dummy-external"
543 source "$BR2_EXTERNAL/Config.in"