Commit | Line | Data |
---|---|---|
2d523c23 EA |
1 | # |
2 | ||
6a53b729 | 3 | mainmenu "Buildroot $BR2_VERSION Configuration" |
2d523c23 EA |
4 | |
5 | config BR2_HAVE_DOT_CONFIG | |
6 | bool | |
7 | default y | |
8 | ||
f5b8cd4a BRF |
9 | config BR2_VERSION |
10 | string | |
56c68bcd | 11 | option env="BR2_VERSION_FULL" |
f5b8cd4a | 12 | |
1d4104f0 FP |
13 | config BR2_HOSTARCH |
14 | string | |
15 | option env="HOSTARCH" | |
16 | ||
a4239f7f TP |
17 | config BR2_EXTERNAL |
18 | string | |
19 | option env="BR2_EXTERNAL" | |
20 | ||
70d6037e TP |
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 | |
25 | bool | |
26 | ||
0e4bc502 TP |
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 | |
29 | # bootloaders). | |
30 | config BR2_HOSTARCH_NEEDS_IA32_COMPILER | |
31 | bool | |
32 | ||
79ee3c1f | 33 | source "arch/Config.in" |
7d8a59b4 | 34 | |
8e5fb3fb EA |
35 | menu "Build options" |
36 | ||
15929265 TP |
37 | menu "Commands" |
38 | ||
2d523c23 | 39 | config BR2_WGET |
8e5fb3fb | 40 | string "Wget command" |
6871b165 | 41 | default "wget --passive-ftp -nd -t 3" |
2d523c23 | 42 | |
cf71111b MP |
43 | config BR2_SVN |
44 | string "Subversion (svn) command" | |
45 | default "svn" | |
e30cf26c | 46 | |
cf71111b MP |
47 | config BR2_BZR |
48 | string "Bazaar (bzr) command" | |
49 | default "bzr" | |
df03cdaf | 50 | |
85f54fbe | 51 | config BR2_GIT |
cf71111b MP |
52 | string "Git command" |
53 | default "git" | |
85f54fbe | 54 | |
15eb1faf GZ |
55 | config BR2_CVS |
56 | string "CVS command" | |
57 | default "cvs" | |
58 | ||
2690e76a DW |
59 | config BR2_LOCALFILES |
60 | string "Local files retrieval command" | |
61 | default "cp" | |
62 | ||
c61788f0 TDS |
63 | config BR2_SCP |
64 | string "Secure copy (scp) command" | |
65 | default "scp" | |
66 | ||
67 | config BR2_SSH | |
68 | string "Secure shell (ssh) command" | |
69 | default "ssh" | |
70 | ||
f694c076 TDS |
71 | config BR2_HG |
72 | string "Mercurial (hg) command" | |
73 | default "hg" | |
74 | ||
859b9137 BRF |
75 | config BR2_ZCAT |
76 | string "zcat command" | |
a9612bfd | 77 | default "gzip -d -c" |
859b9137 BRF |
78 | help |
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. | |
a9612bfd BRF |
82 | Default is "gzip -d -c" |
83 | Other possible values include "gunzip -c" or "zcat". | |
6e2823c1 BRF |
84 | |
85 | config BR2_BZCAT | |
86 | string "bzcat command" | |
87 | default "bzcat" | |
88 | help | |
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. | |
92 | Default is "bzcat" | |
93 | Other possible values include "bunzip2 -c" or "bzip2 -d -c". | |
859b9137 | 94 | |
177b4b4a AN |
95 | config BR2_XZCAT |
96 | string "xzcat command" | |
97 | default "xzcat" | |
98 | help | |
99 | Command to be used to extract a xz'ed file to stdout. | |
100 | Default is "xzcat" | |
101 | ||
ce90aae1 BRF |
102 | config BR2_TAR_OPTIONS |
103 | string "Tar options" | |
7df4de6c BRF |
104 | default "" |
105 | help | |
106 | Options to pass to tar when extracting the sources. | |
107 | E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files | |
108 | and to be verbose. | |
ce90aae1 | 109 | |
15929265 TP |
110 | endmenu |
111 | ||
4e0170d6 AVEM |
112 | config BR2_DEFCONFIG_FROM_ENV |
113 | string | |
114 | option env="BR2_DEFCONFIG" | |
115 | ||
116 | config 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" | |
120 | help | |
121 | When running 'make savedefconfig', the defconfig file will be saved | |
122 | in this location. | |
123 | ||
59a63a91 MF |
124 | config BR2_DL_DIR |
125 | string "Download dir" | |
be695dcc | 126 | default "$(TOPDIR)/dl" |
59a63a91 MF |
127 | help |
128 | Directory to store all the source files that we need to fetch. | |
67050e14 US |
129 | If the Linux shell environment has defined the BUILDROOT_DL_DIR |
130 | environment variable, then this overrides this configuration item. | |
59a63a91 | 131 | |
be695dcc | 132 | The default is $(TOPDIR)/dl |
4b0d5a80 | 133 | |
a2b4f7fb GZ |
134 | config BR2_HOST_DIR |
135 | string "Host dir" | |
136 | default "$(BASE_DIR)/host" | |
137 | help | |
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. | |
141 | ||
142 | The default is $(BASE_DIR)/host | |
143 | ||
8008007c TP |
144 | menu "Mirrors and Download locations" |
145 | ||
146 | config BR2_PRIMARY_SITE | |
147 | string "Primary download site" | |
148 | default "" | |
149 | help | |
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. | |
c61788f0 TDS |
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, ...) | |
8008007c | 157 | |
5a83e084 TDS |
158 | config BR2_PRIMARY_SITE_ONLY |
159 | bool "Only allow downloads from primary download site" | |
160 | depends on BR2_PRIMARY_SITE != "" | |
161 | help | |
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. | |
167 | ||
168 | This is useful for project developers who want to ensure | |
169 | that the project can be built even if the upstream tarball | |
170 | locations disappear. | |
171 | ||
172 | if !BR2_PRIMARY_SITE_ONLY | |
173 | ||
8008007c TP |
174 | config BR2_BACKUP_SITE |
175 | string "Backup download site" | |
176 | default "http://sources.buildroot.net/" | |
177 | help | |
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. | |
8008007c TP |
181 | |
182 | config BR2_KERNEL_MIRROR | |
183 | string "Kernel.org mirror" | |
184 | default "http://www.kernel.org/pub/" | |
185 | help | |
186 | kernel.org is mirrored on a number of servers around the world. | |
187 | The following allows you to select your preferred mirror. | |
188 | ||
189 | Have a look on the kernel.org site for a list of mirrors, then enter | |
190 | the URL to the base directory. Examples: | |
191 | ||
192 | http://www.XX.kernel.org/pub (XX = country code) | |
193 | http://mirror.aarnet.edu.au/pub/ftp.kernel.org | |
194 | ||
195 | config BR2_GNU_MIRROR | |
196 | string "GNU Software mirror" | |
197 | default "http://ftp.gnu.org/pub/gnu" | |
198 | help | |
199 | GNU has multiple software mirrors scattered around the world. | |
200 | The following allows you to select your preferred mirror. | |
201 | ||
202 | Have a look on the gnu.org site for a list of mirrors, then enter | |
203 | the URL to the base directory. Examples: | |
204 | ||
205 | http://ftp.gnu.org/pub/gnu | |
206 | http://mirror.aarnet.edu.au/pub/gnu | |
207 | ||
208 | config BR2_DEBIAN_MIRROR | |
209 | string "Debian Software mirror" | |
210 | default "http://ftp.debian.org" | |
211 | help | |
212 | Debian has multiple software mirrors scattered around the world. | |
213 | The following allows you to select your preferred mirror. | |
214 | ||
215 | Usually, just add your country code like XX here: | |
216 | http://ftp.XX.debian.org | |
217 | ||
5a83e084 TDS |
218 | endif |
219 | ||
72afb294 FP |
220 | config BR2_LUAROCKS_MIRROR |
221 | string "LuaRocks mirror" | |
222 | default "http://luarocks.org/repositories/rocks" | |
223 | help | |
224 | LuaRocks repository. | |
225 | ||
226 | See http://luarocks.org | |
227 | ||
8008007c | 228 | endmenu |
aa41d377 | 229 | |
8e5fb3fb | 230 | config BR2_JLEVEL |
5016aa02 NL |
231 | int "Number of jobs to run simultaneously (0 for auto)" |
232 | default "0" | |
8e5fb3fb | 233 | help |
5016aa02 NL |
234 | Number of jobs to run simultaneously. If 0, determine |
235 | automatically according to number of CPUs on the host | |
236 | system. | |
93ab6d30 | 237 | |
17b66aff TP |
238 | config BR2_CCACHE |
239 | bool "Enable compiler cache" | |
240 | help | |
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. | |
245 | ||
f044e037 TP |
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 | |
251 | directory. | |
252 | ||
43329076 TDS |
253 | config BR2_CCACHE_DIR |
254 | string "Compiler cache location" | |
255 | depends on BR2_CCACHE | |
256 | default "$(HOME)/.buildroot-ccache" | |
257 | help | |
258 | Where ccache should store cached files. | |
259 | ||
7779fd74 | 260 | config BR2_DEPRECATED |
5e1f034b | 261 | bool "Show packages that are deprecated or obsolete" |
7779fd74 | 262 | help |
5e1f034b | 263 | This option hides outdated/obsolete versions of packages. |
ba7c48f3 | 264 | |
ba4ad9d2 TDS |
265 | if BR2_DEPRECATED |
266 | ||
ba4ad9d2 TDS |
267 | config BR2_DEPRECATED_SINCE_2013_05 |
268 | bool | |
269 | default y | |
270 | ||
271 | config BR2_DEPRECATED_SINCE_2013_08 | |
272 | bool | |
273 | default y | |
274 | ||
275 | config BR2_DEPRECATED_SINCE_2013_11 | |
276 | bool | |
277 | default y | |
278 | ||
279 | config BR2_DEPRECATED_SINCE_2014_02 | |
280 | bool | |
281 | default y | |
282 | ||
283 | endif | |
284 | ||
41f6b79f JV |
285 | config BR2_ENABLE_DEBUG |
286 | bool "build packages with debugging symbols" | |
41f6b79f | 287 | help |
a9a34676 TP |
288 | Build packages with debugging symbols enabled. All libraries |
289 | and binaries in the 'staging' directory will have debugging | |
290 | symbols, which allows remote debugging even if libraries and | |
291 | binaries are stripped on the target. Whether libraries and | |
292 | binaries are stripped on the target is controlled by the | |
293 | BR2_STRIP_* options below. | |
41f6b79f JV |
294 | |
295 | if BR2_ENABLE_DEBUG | |
296 | choice | |
297 | prompt "gcc debug level" | |
298 | default BR2_DEBUG_2 | |
299 | help | |
300 | Set the debug level for gcc | |
301 | ||
302 | config BR2_DEBUG_1 | |
303 | bool "debug level 1" | |
304 | help | |
02a623dd PK |
305 | Debug level 1 produces minimal information, enough |
306 | for making backtraces in parts of the program that | |
307 | you don't plan to debug. This includes descriptions | |
41f6b79f JV |
308 | of functions and external variables, but no information |
309 | about local variables and no line numbers. | |
310 | ||
311 | config BR2_DEBUG_2 | |
312 | bool "debug level 2" | |
313 | help | |
314 | The default gcc debug level is 2 | |
315 | ||
316 | config BR2_DEBUG_3 | |
317 | bool "debug level 3" | |
318 | help | |
02a623dd | 319 | Level 3 includes extra information, such as all the |
41f6b79f JV |
320 | macro definitions present in the program. Some debuggers |
321 | support macro expansion when you use -g3. | |
322 | endchoice | |
323 | endif | |
324 | ||
bbd251a0 | 325 | choice |
a9a34676 | 326 | prompt "strip command for binaries on target" |
bbd251a0 | 327 | default BR2_STRIP_strip |
bbd251a0 BRF |
328 | |
329 | config BR2_STRIP_strip | |
330 | bool "strip" | |
9f2bf30e | 331 | depends on !BR2_PACKAGE_HOST_ELF2FLT |
bbd251a0 | 332 | help |
a9a34676 TP |
333 | Binaries and libraries in the target filesystem will be |
334 | stripped using the normal 'strip' command. This allows to | |
335 | save space, mainly by removing debugging symbols. Debugging | |
336 | symbols on the target are needed for native debugging, but | |
337 | not when remote debugging is used. | |
85f54fbe | 338 | |
bbd251a0 BRF |
339 | config BR2_STRIP_sstrip |
340 | bool "sstrip" | |
341 | select BR2_PACKAGE_SSTRIP_HOST | |
9f2bf30e | 342 | depends on !BR2_PACKAGE_HOST_ELF2FLT |
bbd251a0 | 343 | help |
a9a34676 TP |
344 | Binaries and libraries in the target filesystem will be |
345 | stripped using the 'sstrip' command, which strips a little | |
346 | bit more than the traditional '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. | |
85f54fbe | 350 | |
bbd251a0 BRF |
351 | config BR2_STRIP_none |
352 | bool "none" | |
353 | help | |
a9a34676 TP |
354 | Do not strip binaries and libraries in the target |
355 | filesystem. | |
bbd251a0 BRF |
356 | endchoice |
357 | ||
2a97045d TDS |
358 | config BR2_STRIP_EXCLUDE_FILES |
359 | string "executables that should not be stripped" | |
360 | depends on !BR2_STRIP_none | |
361 | default "" | |
362 | help | |
363 | You may specify a space-separated list of binaries and libraries | |
364 | here that should not be stripped on the target. | |
365 | ||
366 | config BR2_STRIP_EXCLUDE_DIRS | |
367 | string "directories that should be skipped when stripping" | |
368 | depends on !BR2_STRIP_none | |
369 | default "" | |
370 | help | |
371 | You may specify a space-separated list of directories that should | |
372 | be skipped when stripping. Binaries and libraries in these | |
373 | directories will not be touched. | |
374 | The directories should be specified relative to the target directory, | |
375 | without leading slash. | |
376 | ||
41f6b79f JV |
377 | choice |
378 | prompt "gcc optimization level" | |
7eb796ba | 379 | default BR2_OPTIMIZE_S |
923f42a3 | 380 | help |
41f6b79f JV |
381 | Set the optimization level for gcc |
382 | ||
383 | config BR2_OPTIMIZE_0 | |
384 | bool "optimization level 0" | |
385 | help | |
02a623dd | 386 | Do not optimize. This is the default. |
41f6b79f JV |
387 | |
388 | config BR2_OPTIMIZE_1 | |
389 | bool "optimization level 1" | |
390 | help | |
02a623dd PK |
391 | Optimize. Optimizing compilation takes somewhat more time, |
392 | and a lot more memory for a large function. With -O, the | |
393 | compiler tries to reduce code size and execution time, | |
394 | without performing any optimizations that take a great deal | |
395 | of compilation time. -O turns on the following optimization | |
396 | flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability | |
397 | -fcprop-registers -floop-optimize -fif-conversion | |
398 | -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts | |
399 | -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename | |
41f6b79f | 400 | -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants |
02a623dd | 401 | -O also turns on -fomit-frame-pointer on machines where doing |
41f6b79f JV |
402 | so does not interfere with debugging. |
403 | ||
404 | config BR2_OPTIMIZE_2 | |
405 | bool "optimization level 2" | |
406 | help | |
407 | Optimize even more. GCC performs nearly all supported optimizations | |
02a623dd PK |
408 | that do not involve a space-speed tradeoff. The compiler does not |
409 | perform loop unrolling or function inlining when you specify -O2. | |
410 | As compared to -O, this option increases both compilation time and | |
411 | the performance of the generated code. -O2 turns on all optimization | |
412 | flags specified by -O. It also turns on the following optimization | |
413 | flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls | |
414 | -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm | |
415 | -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop | |
416 | -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns | |
417 | -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove | |
418 | -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks | |
419 | -freorder-functions -falign-functions -falign-jumps -falign-loops | |
41f6b79f JV |
420 | -falign-labels -ftree-vrp -ftree-pre |
421 | Please note the warning under -fgcse about invoking -O2 on programs | |
422 | that use computed gotos. | |
423 | ||
424 | config BR2_OPTIMIZE_3 | |
425 | bool "optimization level 3" | |
426 | help | |
02a623dd PK |
427 | Optimize yet more. -O3 turns on all optimizations specified by -O2 |
428 | and also turns on the -finline-functions, -funswitch-loops and | |
41f6b79f JV |
429 | -fgcse-after-reload options. |
430 | ||
431 | config BR2_OPTIMIZE_S | |
432 | bool "optimize for size" | |
433 | help | |
02a623dd | 434 | Optimize for size. -Os enables all -O2 optimizations that do not |
41f6b79f | 435 | typically increase code size. It also performs further optimizations |
02a623dd PK |
436 | designed to reduce code size. -Os disables the following optimization |
437 | flags: -falign-functions -falign-jumps -falign-loops -falign-labels | |
41f6b79f JV |
438 | -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays |
439 | -ftree-vect-loop-version | |
02a623dd | 440 | |
41f6b79f | 441 | endchoice |
923f42a3 | 442 | |
c5866be0 TP |
443 | config BR2_ENABLE_SSP |
444 | bool "build code with Stack Smashing Protection" | |
445 | depends on BR2_TOOLCHAIN_HAS_SSP | |
446 | help | |
447 | Enable stack smashing protection support using GCCs | |
448 | -fstack-protector-all option. | |
449 | ||
450 | See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt | |
bed4e278 | 451 | for details. |
c5866be0 TP |
452 | |
453 | Note that this requires the toolchain to have SSP | |
454 | support. This is always the case for glibc and eglibc | |
455 | toolchain, but is optional in uClibc toolchains. | |
456 | ||
457 | comment "enabling Stack Smashing Protection requires support in the toolchain" | |
458 | depends on !BR2_TOOLCHAIN_HAS_SSP | |
459 | ||
3096f34d BRF |
460 | config BR2_PREFER_STATIC_LIB |
461 | bool "prefer static libraries" | |
3096f34d | 462 | help |
ece6fe05 BRF |
463 | Where possible, build and use static libraries for the target. |
464 | This potentially increases your code size and should only be | |
465 | used if you know what you do. | |
466 | The default is to build dynamic libraries and use those on | |
467 | the target filesystem. | |
3096f34d BRF |
468 | |
469 | WARNING: This is highly experimental at the moment. | |
470 | ||
ee0246e1 TP |
471 | config BR2_PACKAGE_OVERRIDE_FILE |
472 | string "location of a package override file" | |
473 | default "$(TOPDIR)/local.mk" | |
474 | help | |
475 | A package override file is a short makefile that contains | |
476 | variable definitions of the form <pkg>_OVERRIDE_SRCDIR, | |
477 | which allows to tell Buildroot to use an existing directory | |
478 | as the source directory for a particular package. See the | |
479 | Buildroot documentation for more details on this feature. | |
480 | ||
5538e476 | 481 | config BR2_GLOBAL_PATCH_DIR |
bc4f79d6 | 482 | string "global patch directories" |
5538e476 | 483 | help |
bc4f79d6 RB |
484 | You may specify a space separated list of one or more directories |
485 | containing global package patches. For a specific version | |
486 | <packageversion> of a specific package <packagename>, patches are | |
487 | applied as follows: | |
5538e476 | 488 | |
bc4f79d6 RB |
489 | First, the default Buildroot patch set for the package is applied |
490 | from the package's directory in Buildroot. | |
5538e476 | 491 | |
bc4f79d6 RB |
492 | Then for every directory - <global-patch-dir> - that exists in |
493 | BR2_GLOBAL_PATCH_DIR, if the directory | |
494 | <global-patch-dir>/<packagename>/<packageversion>/ exists, then all | |
495 | *.patch files in this directory will be applied. | |
5538e476 | 496 | |
bc4f79d6 | 497 | Otherwise, if the directory <global-patch-dir>/<packagename> exists, |
5538e476 SD |
498 | then all *.patch files in the directory will be applied. |
499 | ||
8e5fb3fb | 500 | endmenu |
2d523c23 | 501 | |
50100394 BRF |
502 | source "toolchain/Config.in" |
503 | ||
6c3e3ad4 | 504 | source "system/Config.in" |
beb43c7d | 505 | |
24403857 | 506 | source "linux/Config.in" |
50100394 | 507 | |
24403857 | 508 | source "package/Config.in" |
d06e8022 | 509 | |
05852415 TP |
510 | source "fs/Config.in" |
511 | ||
649b5b92 TP |
512 | source "boot/Config.in" |
513 | ||
24403857 | 514 | source "package/Config.in.host" |
ebcfa987 AVEM |
515 | |
516 | source "Config.in.legacy" | |
8eb8aaf9 | 517 | |
f4ea4b98 PK |
518 | menu "User-provided options" |
519 | depends on BR2_EXTERNAL != "support/dummy-external" | |
520 | ||
8eb8aaf9 | 521 | source "$BR2_EXTERNAL/Config.in" |
f4ea4b98 PK |
522 | |
523 | endmenu |