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