]> Git Repo - buildroot-mgba.git/blame - Config.in
core: always pass full path to strip command
[buildroot-mgba.git] / Config.in
CommitLineData
2d523c23
EA
1#
2
6a53b729 3mainmenu "Buildroot $BR2_VERSION Configuration"
2d523c23
EA
4
5config BR2_HAVE_DOT_CONFIG
6 bool
7 default y
8
f5b8cd4a
BRF
9config BR2_VERSION
10 string
56c68bcd 11 option env="BR2_VERSION_FULL"
f5b8cd4a 12
1d4104f0
FP
13config BR2_HOSTARCH
14 string
15 option env="HOSTARCH"
16
4802db3d
YM
17config BR2_BUILD_DIR
18 string
19 option env="BUILD_DIR"
20
12825f7a
AV
21# Hidden config symbols for packages to check system gcc version
22config BR2_HOST_GCC_VERSION
23 string
24 option env="HOST_GCC_VERSION"
25
e488b56c
TP
26config BR2_HOST_GCC_AT_LEAST_4_5
27 bool
28 default y if BR2_HOST_GCC_VERSION = "4 5"
29
8fce6d7c
BK
30config BR2_HOST_GCC_AT_LEAST_4_6
31 bool
32 default y if BR2_HOST_GCC_VERSION = "4 6"
e488b56c 33 select BR2_HOST_GCC_AT_LEAST_4_5
8fce6d7c 34
12825f7a
AV
35config BR2_HOST_GCC_AT_LEAST_4_7
36 bool
37 default y if BR2_HOST_GCC_VERSION = "4 7"
8fce6d7c 38 select BR2_HOST_GCC_AT_LEAST_4_6
12825f7a
AV
39
40config BR2_HOST_GCC_AT_LEAST_4_8
41 bool
42 default y if BR2_HOST_GCC_VERSION = "4 8"
43 select BR2_HOST_GCC_AT_LEAST_4_7
44
45config BR2_HOST_GCC_AT_LEAST_4_9
46 bool
47 default y if BR2_HOST_GCC_VERSION = "4 9"
48 select BR2_HOST_GCC_AT_LEAST_4_8
49
50config BR2_HOST_GCC_AT_LEAST_5
51 bool
52 default y if BR2_HOST_GCC_VERSION = "5"
53 select BR2_HOST_GCC_AT_LEAST_4_9
54
3d217578
MB
55config BR2_HOST_GCC_AT_LEAST_6
56 bool
57 default y if BR2_HOST_GCC_VERSION = "6"
58 select BR2_HOST_GCC_AT_LEAST_5
59
aac3d2b4
MH
60# Hidden boolean selected by packages in need of Java in order to build
61# (example: xbmc)
0721c713 62config BR2_NEEDS_HOST_JAVA
aac3d2b4
MH
63 bool
64
8f9da282
MH
65# Hidden boolean selected by packages in need of javac in order to build
66# (example: classpath)
67config BR2_NEEDS_HOST_JAVAC
68 bool
69
70# Hidden boolean selected by packages in need of jar in order to build
71# (example: classpath)
72config BR2_NEEDS_HOST_JAR
73 bool
74
70d6037e
TP
75# Hidden boolean selected by pre-built packages for x86, when they
76# need to run on x86-64 machines (example: pre-built external
77# toolchains, binary tools like SAM-BA, etc.).
78config BR2_HOSTARCH_NEEDS_IA32_LIBS
79 bool
80
0e4bc502
TP
81# Hidden boolean selected by packages that need to build 32 bits
82# binaries with the host compiler, even on 64 bits build machines (e.g
83# bootloaders).
84config BR2_HOSTARCH_NEEDS_IA32_COMPILER
85 bool
86
de0df997
YM
87# Hidden boolean selected by packages that need the host to have an
88# UTF8 locale.
89config BR2_NEEDS_HOST_UTF8_LOCALE
90 bool
91
79ee3c1f 92source "arch/Config.in"
7d8a59b4 93
8e5fb3fb
EA
94menu "Build options"
95
15929265
TP
96menu "Commands"
97
2d523c23 98config BR2_WGET
8e5fb3fb 99 string "Wget command"
6871b165 100 default "wget --passive-ftp -nd -t 3"
2d523c23 101
cf71111b
MP
102config BR2_SVN
103 string "Subversion (svn) command"
104 default "svn"
e30cf26c 105
cf71111b
MP
106config BR2_BZR
107 string "Bazaar (bzr) command"
108 default "bzr"
df03cdaf 109
85f54fbe 110config BR2_GIT
cf71111b
MP
111 string "Git command"
112 default "git"
85f54fbe 113
15eb1faf
GZ
114config BR2_CVS
115 string "CVS command"
116 default "cvs"
117
2690e76a
DW
118config BR2_LOCALFILES
119 string "Local files retrieval command"
120 default "cp"
121
c61788f0
TDS
122config BR2_SCP
123 string "Secure copy (scp) command"
124 default "scp"
125
126config BR2_SSH
127 string "Secure shell (ssh) command"
128 default "ssh"
129
f694c076
TDS
130config BR2_HG
131 string "Mercurial (hg) command"
132 default "hg"
133
859b9137
BRF
134config BR2_ZCAT
135 string "zcat command"
a9612bfd 136 default "gzip -d -c"
859b9137 137 help
65f9b937
MK
138 Command to be used to extract a gzip'ed file to stdout. zcat
139 is identical to gunzip -c except that the former may not be
140 available on your system.
a9612bfd
BRF
141 Default is "gzip -d -c"
142 Other possible values include "gunzip -c" or "zcat".
6e2823c1
BRF
143
144config BR2_BZCAT
145 string "bzcat command"
146 default "bzcat"
147 help
148 Command to be used to extract a bzip2'ed file to stdout.
149 bzcat is identical to bunzip2 -c except that the former may
150 not be available on your system.
151 Default is "bzcat"
152 Other possible values include "bunzip2 -c" or "bzip2 -d -c".
859b9137 153
177b4b4a
AN
154config BR2_XZCAT
155 string "xzcat command"
156 default "xzcat"
157 help
158 Command to be used to extract a xz'ed file to stdout.
159 Default is "xzcat"
160
f165032e
BS
161config BR2_LZCAT
162 string "lzcat command"
163 default "lzip -d -c"
164 help
165 Command to be used to extract a lzip'ed file to stdout.
166 Default is "lzip -d -c"
167
ce90aae1
BRF
168config BR2_TAR_OPTIONS
169 string "Tar options"
7df4de6c
BRF
170 default ""
171 help
172 Options to pass to tar when extracting the sources.
173 E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
174 and to be verbose.
ce90aae1 175
15929265
TP
176endmenu
177
4e0170d6
AVEM
178config BR2_DEFCONFIG_FROM_ENV
179 string
180 option env="BR2_DEFCONFIG"
181
182config BR2_DEFCONFIG
183 string "Location to save buildroot config"
184 default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
185 default "$(CONFIG_DIR)/defconfig"
186 help
65f9b937
MK
187 When running 'make savedefconfig', the defconfig file will be
188 saved in this location.
4e0170d6 189
59a63a91
MF
190config BR2_DL_DIR
191 string "Download dir"
be695dcc 192 default "$(TOPDIR)/dl"
59a63a91
MF
193 help
194 Directory to store all the source files that we need to fetch.
6768021c 195 If the Linux shell environment has defined the BR2_DL_DIR
65f9b937
MK
196 environment variable, then this overrides this configuration
197 item.
59a63a91 198
be695dcc 199 The default is $(TOPDIR)/dl
4b0d5a80 200
a2b4f7fb
GZ
201config BR2_HOST_DIR
202 string "Host dir"
203 default "$(BASE_DIR)/host"
204 help
65f9b937
MK
205 Directory to store all the binary files that are built for the
206 host. This includes the cross compilation toolchain when
207 building the internal buildroot toolchain.
a2b4f7fb
GZ
208
209 The default is $(BASE_DIR)/host
210
8008007c
TP
211menu "Mirrors and Download locations"
212
213config BR2_PRIMARY_SITE
214 string "Primary download site"
215 default ""
216 help
65f9b937
MK
217 Primary site to download from. If this option is set then
218 buildroot will try to download package source first from this
219 site and try the default if the file is not found.
4a9d9807
JP
220 Valid URIs are:
221 - URIs recognized by $(WGET)
222 - local URIs of the form file://absolutepath
223 - scp URIs of the form scp://[user@]host:path.
8008007c 224
5a83e084
TDS
225config BR2_PRIMARY_SITE_ONLY
226 bool "Only allow downloads from primary download site"
227 depends on BR2_PRIMARY_SITE != ""
228 help
229 If this option is enabled, downloads will only be attempted
230 from the primary download site. Other locations, like the
231 package's official download location or the backup download
65f9b937
MK
232 site, will not be considered. Therefore, if the package is not
233 present on the primary site, the download fails.
5a83e084 234
65f9b937
MK
235 This is useful for project developers who want to ensure that
236 the project can be built even if the upstream tarball
5a83e084
TDS
237 locations disappear.
238
239if !BR2_PRIMARY_SITE_ONLY
240
8008007c
TP
241config BR2_BACKUP_SITE
242 string "Backup download site"
4a9eb20d 243 default "http://sources.buildroot.net"
8008007c 244 help
65f9b937
MK
245 Backup site to download from. If this option is set then
246 buildroot will fall back to download package sources from here
247 if the normal location fails.
8008007c
TP
248
249config BR2_KERNEL_MIRROR
250 string "Kernel.org mirror"
de76cb7d 251 default "https://cdn.kernel.org/pub"
8008007c 252 help
de76cb7d 253 kernel.org is mirrored on a number of servers around the
65f9b937 254 world. The following allows you to select your preferred
de76cb7d
AB
255 mirror. By default, a CDN is used, which automatically
256 redirects to a mirror geographically close to you.
8008007c 257
65f9b937
MK
258 Have a look on the kernel.org site for a list of mirrors, then
259 enter the URL to the base directory. Examples:
8008007c
TP
260
261 http://www.XX.kernel.org/pub (XX = country code)
262 http://mirror.aarnet.edu.au/pub/ftp.kernel.org
263
264config BR2_GNU_MIRROR
265 string "GNU Software mirror"
3999f0ad 266 default "http://ftpmirror.gnu.org"
8008007c 267 help
3999f0ad 268 GNU has multiple software mirrors scattered around the
65f9b937 269 world. The following allows you to select your preferred
3999f0ad
TP
270 mirror. By default, a generic address is used, which
271 automatically selects an up-to-date and local mirror.
8008007c 272
65f9b937
MK
273 Have a look on the gnu.org site for a list of mirrors, then
274 enter the URL to the base directory. Examples:
8008007c
TP
275
276 http://ftp.gnu.org/pub/gnu
277 http://mirror.aarnet.edu.au/pub/gnu
278
72afb294
FP
279config BR2_LUAROCKS_MIRROR
280 string "LuaRocks mirror"
0b8411af 281 default "http://rocks.moonscript.org"
72afb294
FP
282 help
283 LuaRocks repository.
284
285 See http://luarocks.org
286
9fbb1699
FP
287config BR2_CPAN_MIRROR
288 string "CPAN mirror (Perl packages)"
32567d12 289 default "http://cpan.metacpan.org"
9fbb1699 290 help
65f9b937
MK
291 CPAN (Comprehensive Perl Archive Network) is a repository of
292 Perl packages. It has multiple software mirrors scattered
9fbb1699
FP
293 around the world. This option allows you to select a mirror.
294
295 The list of mirrors is available at:
296 http://search.cpan.org/mirror
297
3318a5a7
YM
298endif
299
8008007c 300endmenu
aa41d377 301
8e5fb3fb 302config BR2_JLEVEL
5016aa02
NL
303 int "Number of jobs to run simultaneously (0 for auto)"
304 default "0"
8e5fb3fb 305 help
65f9b937
MK
306 Number of jobs to run simultaneously. If 0, determine
307 automatically according to number of CPUs on the host system.
93ab6d30 308
17b66aff
TP
309config BR2_CCACHE
310 bool "Enable compiler cache"
311 help
65f9b937
MK
312 This option will enable the use of ccache, a compiler cache.
313 It will cache the result of previous builds to speed up future
314 builds. By default, the cache is stored in
17b66aff
TP
315 $HOME/.buildroot-ccache.
316
f044e037 317 Note that Buildroot does not try to invalidate the cache
65f9b937
MK
318 contents when the compiler changes in an incompatible way.
319 Therefore, if you make a change to the compiler version and/or
320 configuration, you are responsible for purging the ccache
321 cache by removing the $HOME/.buildroot-ccache directory.
f044e037 322
dd79f2df
DM
323if BR2_CCACHE
324
43329076
TDS
325config BR2_CCACHE_DIR
326 string "Compiler cache location"
43329076
TDS
327 default "$(HOME)/.buildroot-ccache"
328 help
329 Where ccache should store cached files.
330
dd79f2df
DM
331config BR2_CCACHE_INITIAL_SETUP
332 string "Compiler cache initial setup"
333 help
65f9b937
MK
334 Initial ccache settings to apply, such as --max-files or
335 --max-size.
dd79f2df 336
65f9b937
MK
337 For example, if your project is known to require more space
338 than the default max cache size, then you might want to
339 increase the cache size to a suitable amount using the -M
340 (--max-size) option.
dd79f2df 341
65f9b937
MK
342 The string you specify here is passed verbatim to ccache.
343 Refer to ccache documentation for more details.
dd79f2df 344
65f9b937
MK
345 These initial settings are applied after ccache has been
346 compiled.
dd79f2df 347
1e97b278
AV
348config BR2_CCACHE_USE_BASEDIR
349 bool "Use relative paths"
350 default y
351 help
352 Allow ccache to convert absolute paths within the output
353 directory into relative paths.
354
65f9b937
MK
355 During the build, many -I include directives are given with an
356 absolute path. These absolute paths end up in the hashes that
357 are computed by ccache. Therefore, when you build from a
358 different directory, the hash will be different and the cached
359 object will not be used.
1e97b278
AV
360
361 To improve cache performance, set this option to y. This
362 allows ccache to rewrite absolute paths within the output
65f9b937
MK
363 directory into relative paths. Note that only paths within the
364 output directory will be rewritten; therefore, if you change
365 BR2_HOST_DIR to point outside the output directory and
1e97b278
AV
366 subsequently move it to a different location, this will lead
367 to cache misses.
368
369 This option has as a result that the debug information in the
370 object files also has only relative paths. Therefore, make
371 sure you cd to the build directory before starting gdb. See
65f9b937
MK
372 the section "COMPILING IN DIFFERENT DIRECTORIES" in the ccache
373 manual for more information.
1e97b278 374
dd79f2df
DM
375endif
376
41f6b79f
JV
377config BR2_ENABLE_DEBUG
378 bool "build packages with debugging symbols"
41f6b79f 379 help
a9a34676
TP
380 Build packages with debugging symbols enabled. All libraries
381 and binaries in the 'staging' directory will have debugging
382 symbols, which allows remote debugging even if libraries and
383 binaries are stripped on the target. Whether libraries and
384 binaries are stripped on the target is controlled by the
385 BR2_STRIP_* options below.
41f6b79f
JV
386
387if BR2_ENABLE_DEBUG
388choice
389 prompt "gcc debug level"
390 default BR2_DEBUG_2
391 help
392 Set the debug level for gcc
393
394config BR2_DEBUG_1
395 bool "debug level 1"
396 help
65f9b937
MK
397 Debug level 1 produces minimal information, enough for making
398 backtraces in parts of the program that you don't plan to
399 debug. This includes descriptions of functions and external
400 variables, but no information about local variables and no
401 line numbers.
41f6b79f
JV
402
403config BR2_DEBUG_2
404 bool "debug level 2"
405 help
406 The default gcc debug level is 2
407
408config BR2_DEBUG_3
409 bool "debug level 3"
410 help
65f9b937
MK
411 Level 3 includes extra information, such as all the macro
412 definitions present in the program. Some debuggers support
413 macro expansion when you use -g3.
41f6b79f
JV
414endchoice
415endif
416
bbd251a0 417choice
a9a34676 418 prompt "strip command for binaries on target"
bbd251a0 419 default BR2_STRIP_strip
bbd251a0
BRF
420
421config BR2_STRIP_strip
422 bool "strip"
9f2bf30e 423 depends on !BR2_PACKAGE_HOST_ELF2FLT
bbd251a0 424 help
a9a34676 425 Binaries and libraries in the target filesystem will be
65f9b937
MK
426 stripped using the normal 'strip' command. This allows to save
427 space, mainly by removing debugging symbols. Debugging symbols
428 on the target are needed for native debugging, but not when
429 remote debugging is used.
85f54fbe 430
bbd251a0
BRF
431config BR2_STRIP_none
432 bool "none"
433 help
65f9b937 434 Do not strip binaries and libraries in the target filesystem.
bbd251a0
BRF
435endchoice
436
2a97045d
TDS
437config BR2_STRIP_EXCLUDE_FILES
438 string "executables that should not be stripped"
439 depends on !BR2_STRIP_none
440 default ""
441 help
65f9b937
MK
442 You may specify a space-separated list of binaries and
443 libraries here that should not be stripped on the target.
2a97045d
TDS
444
445config BR2_STRIP_EXCLUDE_DIRS
446 string "directories that should be skipped when stripping"
447 depends on !BR2_STRIP_none
448 default ""
449 help
65f9b937
MK
450 You may specify a space-separated list of directories that
451 should be skipped when stripping. Binaries and libraries in
452 these directories will not be touched. The directories should
453 be specified relative to the target directory, without leading
454 slash.
2a97045d 455
41f6b79f
JV
456choice
457 prompt "gcc optimization level"
7eb796ba 458 default BR2_OPTIMIZE_S
923f42a3 459 help
41f6b79f
JV
460 Set the optimization level for gcc
461
462config BR2_OPTIMIZE_0
463 bool "optimization level 0"
464 help
02a623dd 465 Do not optimize. This is the default.
41f6b79f
JV
466
467config BR2_OPTIMIZE_1
468 bool "optimization level 1"
469 help
65f9b937
MK
470 Optimize. Optimizing compilation takes somewhat more time, and
471 a lot more memory for a large function. With -O, the compiler
472 tries to reduce code size and execution time, without
473 performing any optimizations that take a great deal of
474 compilation time. -O turns on the following optimization
02a623dd
PK
475 flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
476 -fcprop-registers -floop-optimize -fif-conversion
477 -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
478 -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
65f9b937
MK
479 -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants. -O
480 also turns on -fomit-frame-pointer on machines where doing so
481 does not interfere with debugging.
41f6b79f
JV
482
483config BR2_OPTIMIZE_2
484 bool "optimization level 2"
485 help
65f9b937
MK
486 Optimize even more. GCC performs nearly all supported
487 optimizations that do not involve a space-speed tradeoff. The
488 compiler does not perform loop unrolling or function inlining
489 when you specify -O2. As compared to -O, this option increases
490 both compilation time and the performance of the generated
491 code. -O2 turns on all optimization flags specified by -O. It
492 also turns on the following optimization flags:
493 -fthread-jumps -fcrossjumping -foptimize-sibling-calls
02a623dd 494 -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
65f9b937
MK
495 -fexpensive-optimizations -fstrength-reduce
496 -frerun-cse-after-loop -frerun-loop-opt -fcaller-saves
497 -fpeephole2 -fschedule-insns -fschedule-insns2
498 -fsched-interblock -fsched-spec -fregmove -fstrict-aliasing
499 -fdelete-null-pointer-checks -freorder-blocks
500 -freorder-functions -falign-functions -falign-jumps
501 -falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
502 note the warning under -fgcse about invoking -O2 on programs
41f6b79f
JV
503 that use computed gotos.
504
505config BR2_OPTIMIZE_3
506 bool "optimization level 3"
507 help
65f9b937
MK
508 Optimize yet more. -O3 turns on all optimizations specified by
509 -O2 and also turns on the -finline-functions, -funswitch-loops
510 and -fgcse-after-reload options.
41f6b79f 511
5ff84592
MK
512config BR2_OPTIMIZE_G
513 bool "optimize for debugging"
514 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
515 help
516 Optimize for debugging. This enables optimizations that do not
65f9b937
MK
517 interfere with debugging. It should be the optimization level
518 of choice for the standard edit-compile-debug cycle, offering
519 a reasonable level of optimization while maintaining fast
520 compilation and a good debugging experience.
41f6b79f
JV
521
522config BR2_OPTIMIZE_S
523 bool "optimize for size"
524 help
65f9b937
MK
525 Optimize for size. -Os enables all -O2 optimizations that do
526 not typically increase code size. It also performs further
527 optimizations designed to reduce code size. -Os disables the
528 following optimization flags: -falign-functions -falign-jumps
529 -falign-loops -falign-labels -freorder-blocks
530 -freorder-blocks-and-partition -fprefetch-loop-arrays
41f6b79f 531 -ftree-vect-loop-version
02a623dd 532
41f6b79f 533endchoice
923f42a3 534
09a1a10f
PH
535config BR2_GOOGLE_BREAKPAD_ENABLE
536 bool "Enable google-breakpad support"
537 select BR2_PACKAGE_GOOGLE_BREAKPAD
538 depends on BR2_INSTALL_LIBSTDCPP
282ffecb
RN
539 depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
540 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
e9ffb3b8 541 depends on BR2_USE_WCHAR
0bb3983c 542 depends on BR2_TOOLCHAIN_HAS_THREADS
e9ffb3b8 543 depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
09a1a10f
PH
544 depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
545 help
65f9b937
MK
546 This option will enable the use of google breakpad, a library
547 and tool suite that allows you to distribute an application to
548 users with compiler-provided debugging information removed,
549 record crashes in compact "minidump" files, send them back to
550 your server and produce C and C++ stack traces from these
551 minidumps. Breakpad can also write minidumps on request for
552 programs that have not crashed.
09a1a10f
PH
553
554if BR2_GOOGLE_BREAKPAD_ENABLE
555
556config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
557 string "List of executables and libraries to extract symbols from"
558 default ""
559 help
560 You may specify a space-separated list of binaries and
561 libraries with full paths relative to $(TARGET_DIR) of which
562 debug symbols will be dumped for further use with google
563 breakpad.
564
565 A directory structure that can be used by minidump-stackwalk
566 will be created at:
567
568 $(STAGING_DIR)/usr/share/google-breakpad-symbols
569
570endif
571
d29c7196 572choice
c5866be0 573 bool "build code with Stack Smashing Protection"
d29c7196 574 default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
c5866be0
TP
575 depends on BR2_TOOLCHAIN_HAS_SSP
576 help
d29c7196
SN
577 Enable stack smashing protection support using GCC's
578 -fstack-protector option family.
c5866be0 579
65f9b937
MK
580 See
581 http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
bed4e278 582 for details.
c5866be0 583
65f9b937
MK
584 Note that this requires the toolchain to have SSP support.
585 This is always the case for glibc and eglibc toolchain, but is
586 optional in uClibc toolchains.
c5866be0 587
d29c7196
SN
588config BR2_SSP_NONE
589 bool "None"
590 help
591 Disable stack-smashing protection.
592
593config BR2_SSP_REGULAR
594 bool "-fstack-protector"
595 help
596 Emit extra code to check for buffer overflows, such as stack
597 smashing attacks. This is done by adding a guard variable to
598 functions with vulnerable objects. This includes functions
599 that call alloca, and functions with buffers larger than 8
600 bytes. The guards are initialized when a function is entered
601 and then checked when the function exits. If a guard check
602 fails, an error message is printed and the program exits.
603
604config BR2_SSP_STRONG
605 bool "-fstack-protector-strong"
606 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
607 help
608 Like -fstack-protector but includes additional functions to be
609 protected - those that have local array definitions, or have
610 references to local frame addresses.
611
612comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9"
613 depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
614
615config BR2_SSP_ALL
616 bool "-fstack-protector-all"
617 help
618 Like -fstack-protector except that all functions are
619 protected. This option might have a significant performance
620 impact on the compiled binaries.
621
622endchoice
623
624comment "Stack Smashing Protection needs a toolchain w/ SSP"
c5866be0
TP
625 depends on !BR2_TOOLCHAIN_HAS_SSP
626
158001f5
TP
627choice
628 bool "libraries"
f1d3e098 629 default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
158001f5
TP
630 default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
631 help
632 Select the type of libraries you want to use on the target.
633
65f9b937
MK
634 The default is to build dynamic libraries and use those on the
635 target filesystem, except when the architecture and/or the
636 selected binary format does not support shared libraries.
158001f5 637
665e13c8 638config BR2_STATIC_LIBS
158001f5 639 bool "static only"
3096f34d 640 help
65f9b937 641 Build and use only static libraries. No shared libraries will
d9312d63 642 be installed on the target. This potentially increases your
65f9b937
MK
643 code size and should only be used if you know what you are
644 doing. Note that some packages may not be available when this
645 option is enabled, due to their need for dynamic library
646 support.
3096f34d 647
158001f5
TP
648config BR2_SHARED_LIBS
649 bool "shared only"
650 depends on BR2_BINFMT_SUPPORTS_SHARED
651 help
652 Build and use only shared libraries. This is the recommended
653 solution as it saves space and build time.
654
655config BR2_SHARED_STATIC_LIBS
656 bool "both static and shared"
657 depends on BR2_BINFMT_SUPPORTS_SHARED
658 help
659 Build both shared and static libraries, but link executables
660 dynamically. While building both shared and static libraries
661 take more time and more disk space, having static libraries
662 may be useful to link some of the applications statically.
7d9c0df0 663
158001f5 664endchoice
7d9c0df0 665
3096f34d 666
ee0246e1
TP
667config BR2_PACKAGE_OVERRIDE_FILE
668 string "location of a package override file"
eda3d0e1 669 default "$(CONFIG_DIR)/local.mk"
ee0246e1
TP
670 help
671 A package override file is a short makefile that contains
65f9b937
MK
672 variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
673 allows to tell Buildroot to use an existing directory as the
674 source directory for a particular package. See the Buildroot
675 documentation for more details on this feature.
ee0246e1 676
5538e476 677config BR2_GLOBAL_PATCH_DIR
bc4f79d6 678 string "global patch directories"
5538e476 679 help
65f9b937
MK
680 You may specify a space separated list of one or more
681 directories containing global package patches. For a specific
682 version <packageversion> of a specific package <packagename>,
683 patches are applied as follows:
5538e476 684
65f9b937
MK
685 First, the default Buildroot patch set for the package is
686 applied from the package's directory in Buildroot.
5538e476 687
bc4f79d6
RB
688 Then for every directory - <global-patch-dir> - that exists in
689 BR2_GLOBAL_PATCH_DIR, if the directory
65f9b937
MK
690 <global-patch-dir>/<packagename>/<packageversion>/ exists,
691 then all *.patch files in this directory will be applied.
5538e476 692
65f9b937
MK
693 Otherwise, if the directory <global-patch-dir>/<packagename>
694 exists, then all *.patch files in the directory will be
695 applied.
5538e476 696
4ac8f78d
TP
697menu "Advanced"
698
699config BR2_COMPILER_PARANOID_UNSAFE_PATH
700 bool "paranoid check of library/header paths"
61c8854c 701 default y
4ac8f78d
TP
702 help
703 By default, when this option is disabled, when the Buildroot
65f9b937
MK
704 cross-compiler will encounter an unsafe library or header path
705 (such as /usr/include, or /usr/lib), the compiler will display
706 a warning.
4ac8f78d 707
65f9b937
MK
708 By enabling this option, this warning is turned into an error,
709 which will completely abort the build when such unsafe paths
710 are encountered.
4ac8f78d
TP
711
712 Note that this mechanism is available for both the internal
f9d311ed
RN
713 toolchain (through the toolchain wrapper and binutils patches)
714 and external toolchain backends (through the toolchain wrapper).
4ac8f78d 715
71574a65
GC
716config BR2_REPRODUCIBLE
717 bool "Make the build reproducible (experimental)"
a446ab74
JG
718 help
719 This option will remove all sources of non-reproducibility
720 from the build process. For a given Buildroot configuration,
721 this allows to generate exactly identical binaries from one
722 build to the other, including on different machines.
723
bedb1610
JP
724 The current implementation is restricted to builds with the
725 same output directory. Many (absolute) paths are recorded in
726 intermediary files, and it is very likely that some of these
727 paths leak into the target rootfs. If you build with the
728 same O=... path, however, the result is identical.
729
a446ab74
JG
730 This is labeled as an experimental feature, as not all
731 packages behave properly to ensure reproducibility.
71574a65 732
8e5fb3fb 733endmenu
2d523c23 734
1ac2cdd7
YM
735endmenu
736
50100394
BRF
737source "toolchain/Config.in"
738
6c3e3ad4 739source "system/Config.in"
beb43c7d 740
24403857 741source "linux/Config.in"
50100394 742
24403857 743source "package/Config.in"
d06e8022 744
05852415
TP
745source "fs/Config.in"
746
649b5b92
TP
747source "boot/Config.in"
748
24403857 749source "package/Config.in.host"
ebcfa987
AVEM
750
751source "Config.in.legacy"
8eb8aaf9 752
4802db3d 753source "$BR2_BUILD_DIR/.br2-external.in"
This page took 0.652408 seconds and 4 git commands to generate.