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