3 mainmenu "Buildroot $BR2_VERSION Configuration"
5 config BR2_HAVE_DOT_CONFIG
11 option env="BR2_VERSION_FULL"
17 # Hidden boolean selected by pre-built packages for x86, when they
18 # need to run on x86-64 machines (example: pre-built external
19 # toolchains, binary tools like SAM-BA, etc.).
20 config BR2_HOSTARCH_NEEDS_IA32_LIBS
23 source "arch/Config.in"
31 default "wget --passive-ftp -nd -t 3"
34 string "Subversion (svn) command"
38 string "Bazaar (bzr) command"
46 string "Local files retrieval command"
50 string "Secure copy (scp) command"
54 string "Secure shell (ssh) command"
58 string "Mercurial (hg) command"
65 Command to be used to extract a gzip'ed file to stdout.
66 zcat is identical to gunzip -c except that the former may
67 not be available on your system.
68 Default is "gzip -d -c"
69 Other possible values include "gunzip -c" or "zcat".
72 string "bzcat command"
75 Command to be used to extract a bzip2'ed file to stdout.
76 bzcat is identical to bunzip2 -c except that the former may
77 not be available on your system.
79 Other possible values include "bunzip2 -c" or "bzip2 -d -c".
82 string "xzcat command"
85 Command to be used to extract a xz'ed file to stdout.
88 config BR2_TAR_OPTIONS
92 Options to pass to tar when extracting the sources.
93 E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
98 config BR2_DEFCONFIG_FROM_ENV
100 option env="BR2_DEFCONFIG"
103 string "Location to save buildroot config"
104 default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
105 default "$(CONFIG_DIR)/defconfig"
107 When running 'make savedefconfig', the defconfig file will be saved
111 string "Download dir"
112 default "$(TOPDIR)/dl"
114 Directory to store all the source files that we need to fetch.
115 If the Linux shell environment has defined the BUILDROOT_DL_DIR
116 environment variable, then this overrides this configuration item.
118 The default is $(TOPDIR)/dl
122 default "$(BASE_DIR)/host"
124 Directory to store all the binary files that are built for the host.
125 This includes the cross compilation toolchain when building the
126 internal buildroot toolchain.
128 The default is $(BASE_DIR)/host
130 menu "Mirrors and Download locations"
132 config BR2_PRIMARY_SITE
133 string "Primary download site"
136 Primary site to download from. If this option is set then buildroot
137 will try to download package source first from this site and try the
138 default if the file is not found.
139 Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
140 scp://[user@]host:path.
141 NOTE: This works for all packages using the central package
142 infrastructure (generic, autotools, cmake, ...)
144 config BR2_PRIMARY_SITE_ONLY
145 bool "Only allow downloads from primary download site"
146 depends on BR2_PRIMARY_SITE != ""
148 If this option is enabled, downloads will only be attempted
149 from the primary download site. Other locations, like the
150 package's official download location or the backup download
151 site, will not be considered. Therefore, if the package is
152 not present on the primary site, the download fails.
154 This is useful for project developers who want to ensure
155 that the project can be built even if the upstream tarball
158 if !BR2_PRIMARY_SITE_ONLY
160 config BR2_BACKUP_SITE
161 string "Backup download site"
162 default "http://sources.buildroot.net/"
164 Backup site to download from. If this option is set then buildroot
165 will fall back to download package sources from here if the
166 normal location fails.
168 config BR2_KERNEL_MIRROR
169 string "Kernel.org mirror"
170 default "http://www.kernel.org/pub/"
172 kernel.org is mirrored on a number of servers around the world.
173 The following allows you to select your preferred mirror.
175 Have a look on the kernel.org site for a list of mirrors, then enter
176 the URL to the base directory. Examples:
178 http://www.XX.kernel.org/pub (XX = country code)
179 http://mirror.aarnet.edu.au/pub/ftp.kernel.org
181 config BR2_GNU_MIRROR
182 string "GNU Software mirror"
183 default "http://ftp.gnu.org/pub/gnu"
185 GNU has multiple software mirrors scattered around the world.
186 The following allows you to select your preferred mirror.
188 Have a look on the gnu.org site for a list of mirrors, then enter
189 the URL to the base directory. Examples:
191 http://ftp.gnu.org/pub/gnu
192 http://mirror.aarnet.edu.au/pub/gnu
194 config BR2_DEBIAN_MIRROR
195 string "Debian Software mirror"
196 default "http://ftp.debian.org"
198 Debian has multiple software mirrors scattered around the world.
199 The following allows you to select your preferred mirror.
201 Usually, just add your country code like XX here:
202 http://ftp.XX.debian.org
209 int "Number of jobs to run simultaneously (0 for auto)"
212 Number of jobs to run simultaneously. If 0, determine
213 automatically according to number of CPUs on the host
217 bool "Enable compiler cache"
219 This option will enable the use of ccache, a compiler
220 cache. It will cache the result of previous builds to speed
221 up future builds. The cache is stored in
222 $HOME/.buildroot-ccache.
224 Note that Buildroot does not try to invalidate the cache
225 contents when the compiler changes in an incompatible
226 way. Therefore, if you make a change to the compiler version
227 and/or configuration, you are responsible for purging the
228 ccache cache by removing the $HOME/.buildroot-ccache
231 config BR2_CCACHE_DIR
232 string "Compiler cache location"
233 depends on BR2_CCACHE
234 default "$(HOME)/.buildroot-ccache"
236 Where ccache should store cached files.
238 config BR2_DEPRECATED
239 bool "Show packages that are deprecated or obsolete"
241 This option hides outdated/obsolete versions of packages.
243 config BR2_ENABLE_DEBUG
244 bool "build packages with debugging symbols"
246 Build packages with debugging symbols enabled. All libraries
247 and binaries in the 'staging' directory will have debugging
248 symbols, which allows remote debugging even if libraries and
249 binaries are stripped on the target. Whether libraries and
250 binaries are stripped on the target is controlled by the
251 BR2_STRIP_* options below.
255 prompt "gcc debug level"
258 Set the debug level for gcc
263 Debug level 1 produces minimal information, enough
264 for making backtraces in parts of the program that
265 you don't plan to debug. This includes descriptions
266 of functions and external variables, but no information
267 about local variables and no line numbers.
272 The default gcc debug level is 2
277 Level 3 includes extra information, such as all the
278 macro definitions present in the program. Some debuggers
279 support macro expansion when you use -g3.
284 prompt "strip command for binaries on target"
285 default BR2_STRIP_strip
287 config BR2_STRIP_strip
289 depends on !BR2_ELF2FLT
291 Binaries and libraries in the target filesystem will be
292 stripped using the normal 'strip' command. This allows to
293 save space, mainly by removing debugging symbols. Debugging
294 symbols on the target are needed for native debugging, but
295 not when remote debugging is used.
297 config BR2_STRIP_sstrip
299 select BR2_PACKAGE_SSTRIP_HOST
300 depends on !BR2_ELF2FLT
302 Binaries and libraries in the target filesystem will be
303 stripped using the 'sstrip' command, which strips a little
304 bit more than the traditional 'strip' command. This allows to
305 save space, mainly by removing debugging symbols. Debugging
306 symbols on the target are needed for native debugging, but
307 not when remote debugging is used.
309 config BR2_STRIP_none
312 Do not strip binaries and libraries in the target
316 config BR2_STRIP_EXCLUDE_FILES
317 string "executables that should not be stripped"
318 depends on !BR2_STRIP_none
321 You may specify a space-separated list of binaries and libraries
322 here that should not be stripped on the target.
324 config BR2_STRIP_EXCLUDE_DIRS
325 string "directories that should be skipped when stripping"
326 depends on !BR2_STRIP_none
329 You may specify a space-separated list of directories that should
330 be skipped when stripping. Binaries and libraries in these
331 directories will not be touched.
332 The directories should be specified relative to the target directory,
333 without leading slash.
336 prompt "gcc optimization level"
337 default BR2_OPTIMIZE_S
339 Set the optimization level for gcc
341 config BR2_OPTIMIZE_0
342 bool "optimization level 0"
344 Do not optimize. This is the default.
346 config BR2_OPTIMIZE_1
347 bool "optimization level 1"
349 Optimize. Optimizing compilation takes somewhat more time,
350 and a lot more memory for a large function. With -O, the
351 compiler tries to reduce code size and execution time,
352 without performing any optimizations that take a great deal
353 of compilation time. -O turns on the following optimization
354 flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
355 -fcprop-registers -floop-optimize -fif-conversion
356 -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
357 -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
358 -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
359 -O also turns on -fomit-frame-pointer on machines where doing
360 so does not interfere with debugging.
362 config BR2_OPTIMIZE_2
363 bool "optimization level 2"
365 Optimize even more. GCC performs nearly all supported optimizations
366 that do not involve a space-speed tradeoff. The compiler does not
367 perform loop unrolling or function inlining when you specify -O2.
368 As compared to -O, this option increases both compilation time and
369 the performance of the generated code. -O2 turns on all optimization
370 flags specified by -O. It also turns on the following optimization
371 flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
372 -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
373 -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
374 -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
375 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
376 -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
377 -freorder-functions -falign-functions -falign-jumps -falign-loops
378 -falign-labels -ftree-vrp -ftree-pre
379 Please note the warning under -fgcse about invoking -O2 on programs
380 that use computed gotos.
382 config BR2_OPTIMIZE_3
383 bool "optimization level 3"
385 Optimize yet more. -O3 turns on all optimizations specified by -O2
386 and also turns on the -finline-functions, -funswitch-loops and
387 -fgcse-after-reload options.
389 config BR2_OPTIMIZE_S
390 bool "optimize for size"
392 Optimize for size. -Os enables all -O2 optimizations that do not
393 typically increase code size. It also performs further optimizations
394 designed to reduce code size. -Os disables the following optimization
395 flags: -falign-functions -falign-jumps -falign-loops -falign-labels
396 -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
397 -ftree-vect-loop-version
401 config BR2_PREFER_STATIC_LIB
402 bool "prefer static libraries"
404 Where possible, build and use static libraries for the target.
405 This potentially increases your code size and should only be
406 used if you know what you do.
407 The default is to build dynamic libraries and use those on
408 the target filesystem.
410 WARNING: This is highly experimental at the moment.
412 config BR2_HAVE_DOCUMENTATION
413 bool "documentation on the target"
414 # We no longer want to support a toolchain on the target
415 depends on BR2_DEPRECATED
417 Install the documentation, including manual pages and info
418 pages, on the target.
419 If you say n here, your target will not contain any
422 config BR2_PACKAGE_OVERRIDE_FILE
423 string "location of a package override file"
424 default "$(TOPDIR)/local.mk"
426 A package override file is a short makefile that contains
427 variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
428 which allows to tell Buildroot to use an existing directory
429 as the source directory for a particular package. See the
430 Buildroot documentation for more details on this feature.
432 config BR2_GLOBAL_PATCH_DIR
433 string "global patch directory"
435 You may specify a directory containing global package patches.
436 For a specific version <packageversion> of a specific package
437 <packagename>, patches are applied as follows.
439 First, the default Buildroot patch set for the package is applied.
441 If the directory $(BR2_GLOBAL_PATCH_DIR)/<packagename>/<packageversion>
442 exists, then all *.patch files in the directory will be applied.
444 Otherwise, if the directory $(BR2_GLOBAL_PATCH_DIR)/<packagename> exists,
445 then all *.patch files in the directory will be applied.
449 source "toolchain/Config.in"
451 source "system/Config.in"
453 source "package/Config.in"
455 source "package/Config.in.host"
457 source "fs/Config.in"
459 source "boot/Config.in"
461 source "linux/Config.in"
463 source "Config.in.legacy"