]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - Config.in
Config.in: Add BR2_DEPRECATED_SINCE_2015_08
[coffee/buildroot.git] / Config.in
1 #
2
3 mainmenu "Buildroot $BR2_VERSION Configuration"
4
5 config BR2_HAVE_DOT_CONFIG
6         bool
7         default y
8
9 config BR2_VERSION
10         string
11         option env="BR2_VERSION_FULL"
12
13 config BR2_HOSTARCH
14         string
15         option env="HOSTARCH"
16
17 config BR2_EXTERNAL
18         string
19         option env="BR2_EXTERNAL"
20
21 # Hidden boolean selected by packages in need of Java in order to build
22 # (example: xbmc)
23 config BR2_NEEDS_HOST_JAVA
24         bool
25
26 # Hidden boolean selected by packages in need of javac in order to build
27 # (example: classpath)
28 config BR2_NEEDS_HOST_JAVAC
29         bool
30
31 # Hidden boolean selected by packages in need of jar in order to build
32 # (example: classpath)
33 config BR2_NEEDS_HOST_JAR
34         bool
35
36 # Hidden boolean selected by pre-built packages for x86, when they
37 # need to run on x86-64 machines (example: pre-built external
38 # toolchains, binary tools like SAM-BA, etc.).
39 config BR2_HOSTARCH_NEEDS_IA32_LIBS
40         bool
41
42 # Hidden boolean selected by packages that need to build 32 bits
43 # binaries with the host compiler, even on 64 bits build machines (e.g
44 # bootloaders).
45 config BR2_HOSTARCH_NEEDS_IA32_COMPILER
46         bool
47
48 source "arch/Config.in"
49
50 menu "Build options"
51
52 menu "Commands"
53
54 config BR2_WGET
55         string "Wget command"
56         default "wget --passive-ftp -nd -t 3"
57
58 config BR2_SVN
59         string "Subversion (svn) command"
60         default "svn"
61
62 config BR2_BZR
63         string "Bazaar (bzr) command"
64         default "bzr"
65
66 config BR2_GIT
67         string "Git command"
68         default "git"
69
70 config BR2_CVS
71         string "CVS command"
72         default "cvs"
73
74 config BR2_LOCALFILES
75         string "Local files retrieval command"
76         default "cp"
77
78 config BR2_SCP
79         string "Secure copy (scp) command"
80         default "scp"
81
82 config BR2_SSH
83         string "Secure shell (ssh) command"
84         default "ssh"
85
86 config BR2_HG
87         string "Mercurial (hg) command"
88         default "hg"
89
90 config BR2_ZCAT
91         string "zcat command"
92         default "gzip -d -c"
93         help
94           Command to be used to extract a gzip'ed file to stdout.
95           zcat is identical to gunzip -c except that the former may
96           not be available on your system.
97           Default is "gzip -d -c"
98           Other possible values include "gunzip -c" or "zcat".
99
100 config BR2_BZCAT
101         string "bzcat command"
102         default "bzcat"
103         help
104           Command to be used to extract a bzip2'ed file to stdout.
105           bzcat is identical to bunzip2 -c except that the former may
106           not be available on your system.
107           Default is "bzcat"
108           Other possible values include "bunzip2 -c" or "bzip2 -d -c".
109
110 config BR2_XZCAT
111         string "xzcat command"
112         default "xzcat"
113         help
114           Command to be used to extract a xz'ed file to stdout.
115           Default is "xzcat"
116
117 config BR2_TAR_OPTIONS
118         string "Tar options"
119         default ""
120         help
121           Options to pass to tar when extracting the sources.
122           E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
123           and to be verbose.
124
125 endmenu
126
127 config BR2_DEFCONFIG_FROM_ENV
128         string
129         option env="BR2_DEFCONFIG"
130
131 config BR2_DEFCONFIG
132         string "Location to save buildroot config"
133         default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
134         default "$(CONFIG_DIR)/defconfig"
135         help
136           When running 'make savedefconfig', the defconfig file will be saved
137           in this location.
138
139 config BR2_DL_DIR
140         string "Download dir"
141         default "$(TOPDIR)/dl"
142         help
143           Directory to store all the source files that we need to fetch.
144           If the Linux shell environment has defined the BR2_DL_DIR
145           environment variable, then this overrides this configuration item.
146
147           The default is $(TOPDIR)/dl
148
149 config BR2_HOST_DIR
150         string "Host dir"
151         default "$(BASE_DIR)/host"
152         help
153           Directory to store all the binary files that are built for the host.
154           This includes the cross compilation toolchain when building the
155           internal buildroot toolchain.
156
157           The default is $(BASE_DIR)/host
158
159 menu "Mirrors and Download locations"
160
161 config BR2_PRIMARY_SITE
162         string "Primary download site"
163         default ""
164         help
165           Primary site to download from. If this option is set then buildroot
166           will try to download package source first from this site and try the
167           default if the file is not found.
168           Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
169           scp://[user@]host:path.
170
171 config BR2_PRIMARY_SITE_ONLY
172         bool "Only allow downloads from primary download site"
173         depends on BR2_PRIMARY_SITE != ""
174         help
175           If this option is enabled, downloads will only be attempted
176           from the primary download site. Other locations, like the
177           package's official download location or the backup download
178           site, will not be considered. Therefore, if the package is
179           not present on the primary site, the download fails.
180
181           This is useful for project developers who want to ensure
182           that the project can be built even if the upstream tarball
183           locations disappear.
184
185 if !BR2_PRIMARY_SITE_ONLY
186
187 config BR2_BACKUP_SITE
188         string "Backup download site"
189         default "http://sources.buildroot.net"
190         help
191           Backup site to download from. If this option is set then buildroot
192           will fall back to download package sources from here if the
193           normal location fails.
194
195 config BR2_KERNEL_MIRROR
196         string "Kernel.org mirror"
197         default "https://www.kernel.org/pub"
198         help
199           kernel.org is mirrored on a number of servers around the world.
200           The following allows you to select your preferred mirror.
201
202           Have a look on the kernel.org site for a list of mirrors, then enter
203           the URL to the base directory.  Examples:
204
205              http://www.XX.kernel.org/pub (XX = country code)
206              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
207
208 config BR2_GNU_MIRROR
209         string "GNU Software mirror"
210         default "http://ftp.gnu.org/pub/gnu"
211         help
212           GNU has multiple software mirrors scattered around the world.
213           The following allows you to select your preferred mirror.
214
215           Have a look on the gnu.org site for a list of mirrors, then enter
216           the URL to the base directory.  Examples:
217
218              http://ftp.gnu.org/pub/gnu
219              http://mirror.aarnet.edu.au/pub/gnu
220
221 endif
222
223 config BR2_LUAROCKS_MIRROR
224         string "LuaRocks mirror"
225         default "http://rocks.moonscript.org"
226         help
227           LuaRocks repository.
228
229           See http://luarocks.org
230
231 config BR2_CPAN_MIRROR
232         string "CPAN mirror (Perl packages)"
233         default "http://cpan.metacpan.org"
234         help
235           CPAN (Comprehensive Perl Archive Network) is a repository
236           of Perl packages. It has multiple software mirrors scattered
237           around the world. This option allows you to select a mirror.
238
239           The list of mirrors is available at:
240           http://search.cpan.org/mirror
241
242 endmenu
243
244 config BR2_JLEVEL
245         int "Number of jobs to run simultaneously (0 for auto)"
246         default "0"
247         help
248           Number of jobs to run simultaneously.  If 0, determine
249           automatically according to number of CPUs on the host
250           system.
251
252 config BR2_CCACHE
253         bool "Enable compiler cache"
254         help
255           This option will enable the use of ccache, a compiler
256           cache. It will cache the result of previous builds to speed
257           up future builds. By default, the cache is stored in
258           $HOME/.buildroot-ccache.
259
260           Note that Buildroot does not try to invalidate the cache
261           contents when the compiler changes in an incompatible
262           way. Therefore, if you make a change to the compiler version
263           and/or configuration, you are responsible for purging the
264           ccache cache by removing the $HOME/.buildroot-ccache
265           directory.
266
267 if BR2_CCACHE
268
269 config BR2_CCACHE_DIR
270         string "Compiler cache location"
271         default "$(HOME)/.buildroot-ccache"
272         help
273           Where ccache should store cached files.
274
275 config BR2_CCACHE_INITIAL_SETUP
276         string "Compiler cache initial setup"
277         help
278           Initial ccache settings to apply, such as --max-files or --max-size.
279
280           For example, if your project is known to require more space than the
281           default max cache size, then you might want to increase the cache size
282           to a suitable amount using the -M (--max-size) option.
283
284           The string you specify here is passed verbatim to ccache.  Refer to
285           ccache documentation for more details.
286
287           These initial settings are applied after ccache has been compiled.
288
289 endif
290
291 config BR2_DEPRECATED
292         bool "Show options and packages that are deprecated or obsolete"
293         help
294           This option shows outdated/obsolete versions of packages and
295           options that are otherwise hidden.
296
297 if BR2_DEPRECATED
298
299 config BR2_DEPRECATED_SINCE_2014_05
300         bool
301         default y
302
303 config BR2_DEPRECATED_SINCE_2014_08
304         bool
305         default y
306
307 config BR2_DEPRECATED_SINCE_2015_02
308         bool
309         default y
310
311 config BR2_DEPRECATED_SINCE_2015_05
312         bool
313         default y
314
315 config BR2_DEPRECATED_SINCE_2015_08
316         bool
317         default y
318
319 endif
320
321 config BR2_ENABLE_DEBUG
322         bool "build packages with debugging symbols"
323         help
324           Build packages with debugging symbols enabled. All libraries
325           and binaries in the 'staging' directory will have debugging
326           symbols, which allows remote debugging even if libraries and
327           binaries are stripped on the target. Whether libraries and
328           binaries are stripped on the target is controlled by the
329           BR2_STRIP_* options below.
330
331 if BR2_ENABLE_DEBUG
332 choice
333         prompt "gcc debug level"
334         default BR2_DEBUG_2
335         help
336           Set the debug level for gcc
337
338 config BR2_DEBUG_1
339         bool "debug level 1"
340         help
341           Debug level 1 produces minimal information, enough
342           for making backtraces in parts of the program that
343           you don't plan to debug. This includes descriptions
344           of functions and external variables, but no information
345           about local variables and no line numbers.
346
347 config BR2_DEBUG_2
348         bool "debug level 2"
349         help
350           The default gcc debug level is 2
351
352 config BR2_DEBUG_3
353         bool "debug level 3"
354         help
355           Level 3 includes extra information, such as all the
356           macro definitions present in the program. Some debuggers
357           support macro expansion when you use -g3.
358 endchoice
359 endif
360
361 choice
362         prompt "strip command for binaries on target"
363         default BR2_STRIP_strip
364
365 config BR2_STRIP_strip
366         bool "strip"
367         depends on !BR2_PACKAGE_HOST_ELF2FLT
368         help
369           Binaries and libraries in the target filesystem will be
370           stripped using the normal 'strip' command. This allows to
371           save space, mainly by removing debugging symbols. Debugging
372           symbols on the target are needed for native debugging, but
373           not when remote debugging is used.
374
375 config BR2_STRIP_sstrip
376         bool "sstrip"
377         select BR2_PACKAGE_SSTRIP_HOST
378         depends on !BR2_PACKAGE_HOST_ELF2FLT
379         depends on BR2_DEPRECATED_SINCE_2014_05
380         help
381           Binaries and libraries in the target filesystem will be
382           stripped using the 'sstrip' command, which strips a little
383           bit more than the traditional 'strip' command. This allows to
384           save space, mainly by removing debugging symbols. Debugging
385           symbols on the target are needed for native debugging, but
386           not when remote debugging is used.
387
388 config BR2_STRIP_none
389         bool "none"
390         help
391           Do not strip binaries and libraries in the target
392           filesystem.
393 endchoice
394
395 config BR2_STRIP_EXCLUDE_FILES
396         string "executables that should not be stripped"
397         depends on !BR2_STRIP_none
398         default ""
399         help
400           You may specify a space-separated list of binaries and libraries
401           here that should not be stripped on the target.
402
403 config BR2_STRIP_EXCLUDE_DIRS
404         string "directories that should be skipped when stripping"
405         depends on !BR2_STRIP_none
406         default ""
407         help
408           You may specify a space-separated list of directories that should
409           be skipped when stripping. Binaries and libraries in these
410           directories will not be touched.
411           The directories should be specified relative to the target directory,
412           without leading slash.
413
414 choice
415         prompt "gcc optimization level"
416         default BR2_OPTIMIZE_S
417         help
418           Set the optimization level for gcc
419
420 config BR2_OPTIMIZE_0
421         bool "optimization level 0"
422         help
423           Do not optimize. This is the default.
424
425 config BR2_OPTIMIZE_1
426         bool "optimization level 1"
427         help
428           Optimize. Optimizing compilation takes somewhat more time,
429           and a lot more memory for a large function. With -O, the
430           compiler tries to reduce code size and execution time,
431           without performing any optimizations that take a great deal
432           of compilation time. -O turns on the following optimization
433           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
434           -fcprop-registers -floop-optimize -fif-conversion
435           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
436           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
437           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
438           -O also turns on -fomit-frame-pointer on machines where doing
439           so does not interfere with debugging.
440
441 config BR2_OPTIMIZE_2
442         bool "optimization level 2"
443         help
444           Optimize even more. GCC performs nearly all supported optimizations
445           that do not involve a space-speed tradeoff. The compiler does not
446           perform loop unrolling or function inlining when you specify -O2.
447           As compared to -O, this option increases both compilation time and
448           the performance of the generated code. -O2 turns on all optimization
449           flags specified by -O. It also turns on the following optimization
450           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
451           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
452           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
453           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
454           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
455           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
456           -freorder-functions -falign-functions -falign-jumps -falign-loops
457           -falign-labels -ftree-vrp -ftree-pre
458           Please note the warning under -fgcse about invoking -O2 on programs
459           that use computed gotos.
460
461 config BR2_OPTIMIZE_3
462         bool "optimization level 3"
463         help
464           Optimize yet more. -O3 turns on all optimizations specified by -O2
465           and also turns on the -finline-functions, -funswitch-loops and
466           -fgcse-after-reload options.
467
468 config BR2_OPTIMIZE_S
469         bool "optimize for size"
470         help
471           Optimize for size. -Os enables all -O2 optimizations that do not
472           typically increase code size. It also performs further optimizations
473           designed to reduce code size. -Os disables the following optimization
474           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
475           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
476           -ftree-vect-loop-version
477
478 endchoice
479
480 config BR2_GOOGLE_BREAKPAD_ENABLE
481         bool "Enable google-breakpad support"
482         select BR2_PACKAGE_GOOGLE_BREAKPAD
483         depends on BR2_INSTALL_LIBSTDCPP
484         depends on BR2_TOOLCHAIN_USES_GLIBC
485         depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
486         help
487           This option will enable the use of google breakpad, a
488           library and tool suite that allows you to distribute an
489           application to users with compiler-provided debugging
490           information removed, record crashes in compact "minidump"
491           files, send them back to your server and produce C and C++
492           stack traces from these minidumps.  Breakpad can also write
493           minidumps on request for programs that have not crashed.
494
495 if BR2_GOOGLE_BREAKPAD_ENABLE
496
497 config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
498         string "List of executables and libraries to extract symbols from"
499         default ""
500         help
501           You may specify a space-separated list of binaries and
502           libraries with full paths relative to $(TARGET_DIR) of which
503           debug symbols will be dumped for further use with google
504           breakpad.
505
506           A directory structure that can be used by minidump-stackwalk
507           will be created at:
508
509           $(STAGING_DIR)/usr/share/google-breakpad-symbols
510
511 endif
512
513 config BR2_ENABLE_SSP
514         bool "build code with Stack Smashing Protection"
515         depends on BR2_TOOLCHAIN_HAS_SSP
516         help
517           Enable stack smashing protection support using GCCs
518           -fstack-protector-all option.
519
520           See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
521           for details.
522
523           Note that this requires the toolchain to have SSP
524           support. This is always the case for glibc and eglibc
525           toolchain, but is optional in uClibc toolchains.
526
527 comment "enabling Stack Smashing Protection requires support in the toolchain"
528         depends on !BR2_TOOLCHAIN_HAS_SSP
529
530 choice
531         bool "libraries"
532         default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
533         default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
534         help
535           Select the type of libraries you want to use on the target.
536
537           The default is to build dynamic libraries and use those on
538           the target filesystem, except when the architecture and/or
539           the selected binary format does not support shared
540           libraries.
541
542 config BR2_STATIC_LIBS
543         bool "static only"
544         help
545           Build and use only static libraries. No shared libraries
546           will be instaled on the target. This potentially increases
547           your code size and should only be used if you know what you
548           are doing. Note that some packages may not be available when
549           this option is enabled, due to their need for dynamic
550           library support.
551
552 config BR2_SHARED_LIBS
553         bool "shared only"
554         depends on BR2_BINFMT_SUPPORTS_SHARED
555         help
556           Build and use only shared libraries. This is the recommended
557           solution as it saves space and build time.
558
559 config BR2_SHARED_STATIC_LIBS
560         bool "both static and shared"
561         depends on BR2_BINFMT_SUPPORTS_SHARED
562         help
563           Build both shared and static libraries, but link executables
564           dynamically. While building both shared and static libraries
565           take more time and more disk space, having static libraries
566           may be useful to link some of the applications statically.
567
568 endchoice
569
570
571 config BR2_PACKAGE_OVERRIDE_FILE
572         string "location of a package override file"
573         default "$(CONFIG_DIR)/local.mk"
574         help
575           A package override file is a short makefile that contains
576           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
577           which allows to tell Buildroot to use an existing directory
578           as the source directory for a particular package. See the
579           Buildroot documentation for more details on this feature.
580
581 config BR2_GLOBAL_PATCH_DIR
582         string "global patch directories"
583         help
584           You may specify a space separated list of one or more directories
585           containing global package patches. For a specific version
586           <packageversion> of a specific package <packagename>, patches are
587           applied as follows:
588
589           First, the default Buildroot patch set for the package is applied
590           from the package's directory in Buildroot.
591
592           Then for every directory - <global-patch-dir> - that exists in
593           BR2_GLOBAL_PATCH_DIR, if the directory
594           <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
595           *.patch files in this directory will be applied.
596
597           Otherwise, if the directory <global-patch-dir>/<packagename> exists,
598           then all *.patch files in the directory will be applied.
599
600 menu "Advanced"
601
602 config BR2_COMPILER_PARANOID_UNSAFE_PATH
603         bool "paranoid check of library/header paths"
604         help
605           By default, when this option is disabled, when the Buildroot
606           cross-compiler will encounter an unsafe library or header
607           path (such as /usr/include, or /usr/lib), the compiler will
608           display a warning.
609
610           By enabling this option, this warning is turned into an
611           error, which will completely abort the build when such
612           unsafe paths are encountered.
613
614           Note that this mechanism is available for both the internal
615           toolchain (through gcc and binutils patches) and external
616           toolchain backends (through the external toolchain wrapper).
617
618 endmenu
619
620 endmenu
621
622 source "toolchain/Config.in"
623
624 source "system/Config.in"
625
626 source "linux/Config.in"
627
628 source "package/Config.in"
629
630 source "fs/Config.in"
631
632 source "boot/Config.in"
633
634 source "package/Config.in.host"
635
636 source "Config.in.legacy"
637
638 menu "User-provided options"
639         depends on BR2_EXTERNAL != "support/dummy-external"
640
641 source "$BR2_EXTERNAL/Config.in"
642
643 endmenu