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 packages in need of Java in order to build
23 config BR2_NEEDS_HOST_JAVA
26 # Hidden boolean selected by pre-built packages for x86, when they
27 # need to run on x86-64 machines (example: pre-built external
28 # toolchains, binary tools like SAM-BA, etc.).
29 config BR2_HOSTARCH_NEEDS_IA32_LIBS
32 # Hidden boolean selected by packages that need to build 32 bits
33 # binaries with the host compiler, even on 64 bits build machines (e.g
35 config BR2_HOSTARCH_NEEDS_IA32_COMPILER
38 source "arch/Config.in"
46 default "wget --passive-ftp -nd -t 3"
49 string "Subversion (svn) command"
53 string "Bazaar (bzr) command"
65 string "Local files retrieval command"
69 string "Secure copy (scp) command"
73 string "Secure shell (ssh) command"
77 string "Mercurial (hg) command"
84 Command to be used to extract a gzip'ed file to stdout.
85 zcat is identical to gunzip -c except that the former may
86 not be available on your system.
87 Default is "gzip -d -c"
88 Other possible values include "gunzip -c" or "zcat".
91 string "bzcat command"
94 Command to be used to extract a bzip2'ed file to stdout.
95 bzcat is identical to bunzip2 -c except that the former may
96 not be available on your system.
98 Other possible values include "bunzip2 -c" or "bzip2 -d -c".
101 string "xzcat command"
104 Command to be used to extract a xz'ed file to stdout.
107 config BR2_TAR_OPTIONS
111 Options to pass to tar when extracting the sources.
112 E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
117 config BR2_DEFCONFIG_FROM_ENV
119 option env="BR2_DEFCONFIG"
122 string "Location to save buildroot config"
123 default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
124 default "$(CONFIG_DIR)/defconfig"
126 When running 'make savedefconfig', the defconfig file will be saved
130 string "Download dir"
131 default "$(TOPDIR)/dl"
133 Directory to store all the source files that we need to fetch.
134 If the Linux shell environment has defined the BR2_DL_DIR
135 environment variable, then this overrides this configuration item.
137 The default is $(TOPDIR)/dl
141 default "$(BASE_DIR)/host"
143 Directory to store all the binary files that are built for the host.
144 This includes the cross compilation toolchain when building the
145 internal buildroot toolchain.
147 The default is $(BASE_DIR)/host
149 menu "Mirrors and Download locations"
151 config BR2_PRIMARY_SITE
152 string "Primary download site"
155 Primary site to download from. If this option is set then buildroot
156 will try to download package source first from this site and try the
157 default if the file is not found.
158 Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
159 scp://[user@]host:path.
160 NOTE: This works for all packages using the central package
161 infrastructure (generic, autotools, cmake, ...)
163 config BR2_PRIMARY_SITE_ONLY
164 bool "Only allow downloads from primary download site"
165 depends on BR2_PRIMARY_SITE != ""
167 If this option is enabled, downloads will only be attempted
168 from the primary download site. Other locations, like the
169 package's official download location or the backup download
170 site, will not be considered. Therefore, if the package is
171 not present on the primary site, the download fails.
173 This is useful for project developers who want to ensure
174 that the project can be built even if the upstream tarball
177 if !BR2_PRIMARY_SITE_ONLY
179 config BR2_BACKUP_SITE
180 string "Backup download site"
181 default "http://sources.buildroot.net"
183 Backup site to download from. If this option is set then buildroot
184 will fall back to download package sources from here if the
185 normal location fails.
187 config BR2_KERNEL_MIRROR
188 string "Kernel.org mirror"
189 default "https://www.kernel.org/pub"
191 kernel.org is mirrored on a number of servers around the world.
192 The following allows you to select your preferred mirror.
194 Have a look on the kernel.org site for a list of mirrors, then enter
195 the URL to the base directory. Examples:
197 http://www.XX.kernel.org/pub (XX = country code)
198 http://mirror.aarnet.edu.au/pub/ftp.kernel.org
200 config BR2_GNU_MIRROR
201 string "GNU Software mirror"
202 default "http://ftp.gnu.org/pub/gnu"
204 GNU has multiple software mirrors scattered around the world.
205 The following allows you to select your preferred mirror.
207 Have a look on the gnu.org site for a list of mirrors, then enter
208 the URL to the base directory. Examples:
210 http://ftp.gnu.org/pub/gnu
211 http://mirror.aarnet.edu.au/pub/gnu
213 config BR2_DEBIAN_MIRROR
214 string "Debian Software mirror"
215 default "http://ftp.debian.org"
217 Debian has multiple software mirrors scattered around the world.
218 The following allows you to select your preferred mirror.
220 Usually, just add your country code like XX here:
221 http://ftp.XX.debian.org
225 config BR2_LUAROCKS_MIRROR
226 string "LuaRocks mirror"
227 default "http://luarocks.org/repositories/rocks"
231 See http://luarocks.org
233 config BR2_CPAN_MIRROR
234 string "CPAN mirror (Perl packages)"
235 default "http://search.cpan.org/CPAN"
237 CPAN (Comprehensive Perl Archive Network) is a repository
238 of Perl packages. It has multiple software mirrors scattered
239 around the world. This option allows you to select a mirror.
241 The list of mirrors is available at:
242 http://search.cpan.org/mirror
247 int "Number of jobs to run simultaneously (0 for auto)"
250 Number of jobs to run simultaneously. If 0, determine
251 automatically according to number of CPUs on the host
255 bool "Enable compiler cache"
257 This option will enable the use of ccache, a compiler
258 cache. It will cache the result of previous builds to speed
259 up future builds. The cache is stored in
260 $HOME/.buildroot-ccache.
262 Note that Buildroot does not try to invalidate the cache
263 contents when the compiler changes in an incompatible
264 way. Therefore, if you make a change to the compiler version
265 and/or configuration, you are responsible for purging the
266 ccache cache by removing the $HOME/.buildroot-ccache
269 config BR2_CCACHE_DIR
270 string "Compiler cache location"
271 depends on BR2_CCACHE
272 default "$(HOME)/.buildroot-ccache"
274 Where ccache should store cached files.
276 config BR2_DEPRECATED
277 bool "Show packages that are deprecated or obsolete"
279 This option hides outdated/obsolete versions of packages.
283 config BR2_DEPRECATED_SINCE_2013_08
287 config BR2_DEPRECATED_SINCE_2013_11
291 config BR2_DEPRECATED_SINCE_2014_02
295 config BR2_DEPRECATED_SINCE_2014_05
301 config BR2_ENABLE_DEBUG
302 bool "build packages with debugging symbols"
304 Build packages with debugging symbols enabled. All libraries
305 and binaries in the 'staging' directory will have debugging
306 symbols, which allows remote debugging even if libraries and
307 binaries are stripped on the target. Whether libraries and
308 binaries are stripped on the target is controlled by the
309 BR2_STRIP_* options below.
313 prompt "gcc debug level"
316 Set the debug level for gcc
321 Debug level 1 produces minimal information, enough
322 for making backtraces in parts of the program that
323 you don't plan to debug. This includes descriptions
324 of functions and external variables, but no information
325 about local variables and no line numbers.
330 The default gcc debug level is 2
335 Level 3 includes extra information, such as all the
336 macro definitions present in the program. Some debuggers
337 support macro expansion when you use -g3.
342 prompt "strip command for binaries on target"
343 default BR2_STRIP_strip
345 config BR2_STRIP_strip
347 depends on !BR2_PACKAGE_HOST_ELF2FLT
349 Binaries and libraries in the target filesystem will be
350 stripped using the normal 'strip' command. This allows to
351 save space, mainly by removing debugging symbols. Debugging
352 symbols on the target are needed for native debugging, but
353 not when remote debugging is used.
355 config BR2_STRIP_sstrip
357 select BR2_PACKAGE_SSTRIP_HOST
358 depends on !BR2_PACKAGE_HOST_ELF2FLT
359 depends on BR2_DEPRECATED_SINCE_2014_05
361 Binaries and libraries in the target filesystem will be
362 stripped using the 'sstrip' command, which strips a little
363 bit more than the traditional 'strip' command. This allows to
364 save space, mainly by removing debugging symbols. Debugging
365 symbols on the target are needed for native debugging, but
366 not when remote debugging is used.
368 config BR2_STRIP_none
371 Do not strip binaries and libraries in the target
375 config BR2_STRIP_EXCLUDE_FILES
376 string "executables that should not be stripped"
377 depends on !BR2_STRIP_none
380 You may specify a space-separated list of binaries and libraries
381 here that should not be stripped on the target.
383 config BR2_STRIP_EXCLUDE_DIRS
384 string "directories that should be skipped when stripping"
385 depends on !BR2_STRIP_none
388 You may specify a space-separated list of directories that should
389 be skipped when stripping. Binaries and libraries in these
390 directories will not be touched.
391 The directories should be specified relative to the target directory,
392 without leading slash.
395 prompt "gcc optimization level"
396 default BR2_OPTIMIZE_S
398 Set the optimization level for gcc
400 config BR2_OPTIMIZE_0
401 bool "optimization level 0"
403 Do not optimize. This is the default.
405 config BR2_OPTIMIZE_1
406 bool "optimization level 1"
408 Optimize. Optimizing compilation takes somewhat more time,
409 and a lot more memory for a large function. With -O, the
410 compiler tries to reduce code size and execution time,
411 without performing any optimizations that take a great deal
412 of compilation time. -O turns on the following optimization
413 flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
414 -fcprop-registers -floop-optimize -fif-conversion
415 -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
416 -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
417 -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
418 -O also turns on -fomit-frame-pointer on machines where doing
419 so does not interfere with debugging.
421 config BR2_OPTIMIZE_2
422 bool "optimization level 2"
424 Optimize even more. GCC performs nearly all supported optimizations
425 that do not involve a space-speed tradeoff. The compiler does not
426 perform loop unrolling or function inlining when you specify -O2.
427 As compared to -O, this option increases both compilation time and
428 the performance of the generated code. -O2 turns on all optimization
429 flags specified by -O. It also turns on the following optimization
430 flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
431 -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
432 -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
433 -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
434 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
435 -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
436 -freorder-functions -falign-functions -falign-jumps -falign-loops
437 -falign-labels -ftree-vrp -ftree-pre
438 Please note the warning under -fgcse about invoking -O2 on programs
439 that use computed gotos.
441 config BR2_OPTIMIZE_3
442 bool "optimization level 3"
444 Optimize yet more. -O3 turns on all optimizations specified by -O2
445 and also turns on the -finline-functions, -funswitch-loops and
446 -fgcse-after-reload options.
448 config BR2_OPTIMIZE_S
449 bool "optimize for size"
451 Optimize for size. -Os enables all -O2 optimizations that do not
452 typically increase code size. It also performs further optimizations
453 designed to reduce code size. -Os disables the following optimization
454 flags: -falign-functions -falign-jumps -falign-loops -falign-labels
455 -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
456 -ftree-vect-loop-version
460 config BR2_ENABLE_SSP
461 bool "build code with Stack Smashing Protection"
462 depends on BR2_TOOLCHAIN_HAS_SSP
464 Enable stack smashing protection support using GCCs
465 -fstack-protector-all option.
467 See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
470 Note that this requires the toolchain to have SSP
471 support. This is always the case for glibc and eglibc
472 toolchain, but is optional in uClibc toolchains.
474 comment "enabling Stack Smashing Protection requires support in the toolchain"
475 depends on !BR2_TOOLCHAIN_HAS_SSP
477 config BR2_PREFER_STATIC_LIB
478 bool "prefer static libraries"
480 Where possible, build and use static libraries for the target.
481 This potentially increases your code size and should only be
482 used if you know what you do.
483 The default is to build dynamic libraries and use those on
484 the target filesystem.
486 WARNING: This is highly experimental at the moment.
488 config BR2_PACKAGE_OVERRIDE_FILE
489 string "location of a package override file"
490 default "$(CONFIG_DIR)/local.mk"
492 A package override file is a short makefile that contains
493 variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
494 which allows to tell Buildroot to use an existing directory
495 as the source directory for a particular package. See the
496 Buildroot documentation for more details on this feature.
498 config BR2_GLOBAL_PATCH_DIR
499 string "global patch directories"
501 You may specify a space separated list of one or more directories
502 containing global package patches. For a specific version
503 <packageversion> of a specific package <packagename>, patches are
506 First, the default Buildroot patch set for the package is applied
507 from the package's directory in Buildroot.
509 Then for every directory - <global-patch-dir> - that exists in
510 BR2_GLOBAL_PATCH_DIR, if the directory
511 <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
512 *.patch files in this directory will be applied.
514 Otherwise, if the directory <global-patch-dir>/<packagename> exists,
515 then all *.patch files in the directory will be applied.
519 source "toolchain/Config.in"
521 source "system/Config.in"
523 source "linux/Config.in"
525 source "package/Config.in"
527 source "fs/Config.in"
529 source "boot/Config.in"
531 source "package/Config.in.host"
533 source "Config.in.legacy"
535 menu "User-provided options"
536 depends on BR2_EXTERNAL != "support/dummy-external"
538 source "$BR2_EXTERNAL/Config.in"