]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - Config.in
Add BR2_DEPRECATED_SINCE_2015_02
[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           NOTE: This works for all packages using the central package
171           infrastructure (generic, autotools, cmake, ...)
172
173 config BR2_PRIMARY_SITE_ONLY
174         bool "Only allow downloads from primary download site"
175         depends on BR2_PRIMARY_SITE != ""
176         help
177           If this option is enabled, downloads will only be attempted
178           from the primary download site. Other locations, like the
179           package's official download location or the backup download
180           site, will not be considered. Therefore, if the package is
181           not present on the primary site, the download fails.
182
183           This is useful for project developers who want to ensure
184           that the project can be built even if the upstream tarball
185           locations disappear.
186
187 if !BR2_PRIMARY_SITE_ONLY
188
189 config BR2_BACKUP_SITE
190         string "Backup download site"
191         default "http://sources.buildroot.net"
192         help
193           Backup site to download from. If this option is set then buildroot
194           will fall back to download package sources from here if the
195           normal location fails.
196
197 config BR2_KERNEL_MIRROR
198         string "Kernel.org mirror"
199         default "https://www.kernel.org/pub"
200         help
201           kernel.org is mirrored on a number of servers around the world.
202           The following allows you to select your preferred mirror.
203
204           Have a look on the kernel.org site for a list of mirrors, then enter
205           the URL to the base directory.  Examples:
206
207              http://www.XX.kernel.org/pub (XX = country code)
208              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
209
210 config BR2_GNU_MIRROR
211         string "GNU Software mirror"
212         default "http://ftp.gnu.org/pub/gnu"
213         help
214           GNU has multiple software mirrors scattered around the world.
215           The following allows you to select your preferred mirror.
216
217           Have a look on the gnu.org site for a list of mirrors, then enter
218           the URL to the base directory.  Examples:
219
220              http://ftp.gnu.org/pub/gnu
221              http://mirror.aarnet.edu.au/pub/gnu
222
223 endif
224
225 config BR2_LUAROCKS_MIRROR
226         string "LuaRocks mirror"
227         default "http://rocks.moonscript.org"
228         help
229           LuaRocks repository.
230
231           See http://luarocks.org
232
233 config BR2_CPAN_MIRROR
234         string "CPAN mirror (Perl packages)"
235         default "http://cpan.metacpan.org"
236         help
237           CPAN (Comprehensive Perl Archive Network) is a repository
238           of Perl packages. It has multiple software mirrors scattered
239           around the world. This option allows you to select a mirror.
240
241           The list of mirrors is available at:
242           http://search.cpan.org/mirror
243
244 endmenu
245
246 config BR2_JLEVEL
247         int "Number of jobs to run simultaneously (0 for auto)"
248         default "0"
249         help
250           Number of jobs to run simultaneously.  If 0, determine
251           automatically according to number of CPUs on the host
252           system.
253
254 config BR2_CCACHE
255         bool "Enable compiler cache"
256         help
257           This option will enable the use of ccache, a compiler
258           cache. It will cache the result of previous builds to speed
259           up future builds. By default, the cache is stored in
260           $HOME/.buildroot-ccache.
261
262           Note that Buildroot does not try to invalidate the cache
263           contents when the compiler changes in an incompatible
264           way. Therefore, if you make a change to the compiler version
265           and/or configuration, you are responsible for purging the
266           ccache cache by removing the $HOME/.buildroot-ccache
267           directory.
268
269 if BR2_CCACHE
270
271 config BR2_CCACHE_DIR
272         string "Compiler cache location"
273         default "$(HOME)/.buildroot-ccache"
274         help
275           Where ccache should store cached files.
276
277 config BR2_CCACHE_INITIAL_SETUP
278         string "Compiler cache initial setup"
279         help
280           Initial ccache settings to apply, such as --max-files or --max-size.
281
282           For example, if your project is known to require more space than the
283           default max cache size, then you might want to increase the cache size
284           to a suitable amount using the -M (--max-size) option.
285
286           The string you specify here is passed verbatim to ccache.  Refer to
287           ccache documentation for more details.
288
289           These initial settings are applied after ccache has been compiled.
290
291 endif
292
293 config BR2_DEPRECATED
294         bool "Show options and packages that are deprecated or obsolete"
295         help
296           This option shows outdated/obsolete versions of packages and
297           options that are otherwise hidden.
298
299 if BR2_DEPRECATED
300
301 config BR2_DEPRECATED_SINCE_2013_11
302         bool
303         default y
304
305 config BR2_DEPRECATED_SINCE_2014_02
306         bool
307         default y
308
309 config BR2_DEPRECATED_SINCE_2014_05
310         bool
311         default y
312
313 config BR2_DEPRECATED_SINCE_2014_08
314         bool
315         default y
316
317 config BR2_DEPRECATED_SINCE_2015_02
318         bool
319         default y
320
321 endif
322
323 config BR2_ENABLE_DEBUG
324         bool "build packages with debugging symbols"
325         help
326           Build packages with debugging symbols enabled. All libraries
327           and binaries in the 'staging' directory will have debugging
328           symbols, which allows remote debugging even if libraries and
329           binaries are stripped on the target. Whether libraries and
330           binaries are stripped on the target is controlled by the
331           BR2_STRIP_* options below.
332
333 if BR2_ENABLE_DEBUG
334 choice
335         prompt "gcc debug level"
336         default BR2_DEBUG_2
337         help
338           Set the debug level for gcc
339
340 config BR2_DEBUG_1
341         bool "debug level 1"
342         help
343           Debug level 1 produces minimal information, enough
344           for making backtraces in parts of the program that
345           you don't plan to debug. This includes descriptions
346           of functions and external variables, but no information
347           about local variables and no line numbers.
348
349 config BR2_DEBUG_2
350         bool "debug level 2"
351         help
352           The default gcc debug level is 2
353
354 config BR2_DEBUG_3
355         bool "debug level 3"
356         help
357           Level 3 includes extra information, such as all the
358           macro definitions present in the program. Some debuggers
359           support macro expansion when you use -g3.
360 endchoice
361 endif
362
363 choice
364         prompt "strip command for binaries on target"
365         default BR2_STRIP_strip
366
367 config BR2_STRIP_strip
368         bool "strip"
369         depends on !BR2_PACKAGE_HOST_ELF2FLT
370         help
371           Binaries and libraries in the target filesystem will be
372           stripped using the normal 'strip' command. This allows to
373           save space, mainly by removing debugging symbols. Debugging
374           symbols on the target are needed for native debugging, but
375           not when remote debugging is used.
376
377 config BR2_STRIP_sstrip
378         bool "sstrip"
379         select BR2_PACKAGE_SSTRIP_HOST
380         depends on !BR2_PACKAGE_HOST_ELF2FLT
381         depends on BR2_DEPRECATED_SINCE_2014_05
382         help
383           Binaries and libraries in the target filesystem will be
384           stripped using the 'sstrip' command, which strips a little
385           bit more than the traditional 'strip' command. This allows to
386           save space, mainly by removing debugging symbols. Debugging
387           symbols on the target are needed for native debugging, but
388           not when remote debugging is used.
389
390 config BR2_STRIP_none
391         bool "none"
392         help
393           Do not strip binaries and libraries in the target
394           filesystem.
395 endchoice
396
397 config BR2_STRIP_EXCLUDE_FILES
398         string "executables that should not be stripped"
399         depends on !BR2_STRIP_none
400         default ""
401         help
402           You may specify a space-separated list of binaries and libraries
403           here that should not be stripped on the target.
404
405 config BR2_STRIP_EXCLUDE_DIRS
406         string "directories that should be skipped when stripping"
407         depends on !BR2_STRIP_none
408         default ""
409         help
410           You may specify a space-separated list of directories that should
411           be skipped when stripping. Binaries and libraries in these
412           directories will not be touched.
413           The directories should be specified relative to the target directory,
414           without leading slash.
415
416 choice
417         prompt "gcc optimization level"
418         default BR2_OPTIMIZE_S
419         help
420           Set the optimization level for gcc
421
422 config BR2_OPTIMIZE_0
423         bool "optimization level 0"
424         help
425           Do not optimize. This is the default.
426
427 config BR2_OPTIMIZE_1
428         bool "optimization level 1"
429         help
430           Optimize. Optimizing compilation takes somewhat more time,
431           and a lot more memory for a large function. With -O, the
432           compiler tries to reduce code size and execution time,
433           without performing any optimizations that take a great deal
434           of compilation time. -O turns on the following optimization
435           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
436           -fcprop-registers -floop-optimize -fif-conversion
437           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
438           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
439           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
440           -O also turns on -fomit-frame-pointer on machines where doing
441           so does not interfere with debugging.
442
443 config BR2_OPTIMIZE_2
444         bool "optimization level 2"
445         help
446           Optimize even more. GCC performs nearly all supported optimizations
447           that do not involve a space-speed tradeoff. The compiler does not
448           perform loop unrolling or function inlining when you specify -O2.
449           As compared to -O, this option increases both compilation time and
450           the performance of the generated code. -O2 turns on all optimization
451           flags specified by -O. It also turns on the following optimization
452           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
453           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
454           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
455           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
456           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
457           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
458           -freorder-functions -falign-functions -falign-jumps -falign-loops
459           -falign-labels -ftree-vrp -ftree-pre
460           Please note the warning under -fgcse about invoking -O2 on programs
461           that use computed gotos.
462
463 config BR2_OPTIMIZE_3
464         bool "optimization level 3"
465         help
466           Optimize yet more. -O3 turns on all optimizations specified by -O2
467           and also turns on the -finline-functions, -funswitch-loops and
468           -fgcse-after-reload options.
469
470 config BR2_OPTIMIZE_S
471         bool "optimize for size"
472         help
473           Optimize for size. -Os enables all -O2 optimizations that do not
474           typically increase code size. It also performs further optimizations
475           designed to reduce code size. -Os disables the following optimization
476           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
477           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
478           -ftree-vect-loop-version
479
480 endchoice
481
482 config BR2_GOOGLE_BREAKPAD_ENABLE
483         bool "Enable google-breakpad support"
484         select BR2_PACKAGE_GOOGLE_BREAKPAD
485         depends on BR2_INSTALL_LIBSTDCPP
486         depends on BR2_TOOLCHAIN_USES_GLIBC
487         depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
488         help
489           This option will enable the use of google breakpad, a
490           library and tool suite that allows you to distribute an
491           application to users with compiler-provided debugging
492           information removed, record crashes in compact "minidump"
493           files, send them back to your server and produce C and C++
494           stack traces from these minidumps.  Breakpad can also write
495           minidumps on request for programs that have not crashed.
496
497 if BR2_GOOGLE_BREAKPAD_ENABLE
498
499 config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
500         string "List of executables and libraries to extract symbols from"
501         default ""
502         help
503           You may specify a space-separated list of binaries and
504           libraries with full paths relative to $(TARGET_DIR) of which
505           debug symbols will be dumped for further use with google
506           breakpad.
507
508           A directory structure that can be used by minidump-stackwalk
509           will be created at:
510
511           $(STAGING_DIR)/usr/share/google-breakpad-symbols
512
513 endif
514
515 config BR2_ENABLE_SSP
516         bool "build code with Stack Smashing Protection"
517         depends on BR2_TOOLCHAIN_HAS_SSP
518         help
519           Enable stack smashing protection support using GCCs
520           -fstack-protector-all option.
521
522           See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
523           for details.
524
525           Note that this requires the toolchain to have SSP
526           support. This is always the case for glibc and eglibc
527           toolchain, but is optional in uClibc toolchains.
528
529 comment "enabling Stack Smashing Protection requires support in the toolchain"
530         depends on !BR2_TOOLCHAIN_HAS_SSP
531
532 config BR2_PREFER_STATIC_LIB
533         bool "build statically linked applications, no dynamic libraries"
534         help
535           Build all applications for the target statically linked.
536           This potentially increases your filesystem size and should only be
537           used if you know what you do.
538
539           Note that some applications cannot be build statically and so are
540           intentionally disabled.
541
542           The default (if this option is disabled) is to build dynamic
543           libraries and dynamically link applications to use those on the
544           target filesystem.
545
546
547 config BR2_PACKAGE_OVERRIDE_FILE
548         string "location of a package override file"
549         default "$(CONFIG_DIR)/local.mk"
550         help
551           A package override file is a short makefile that contains
552           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
553           which allows to tell Buildroot to use an existing directory
554           as the source directory for a particular package. See the
555           Buildroot documentation for more details on this feature.
556
557 config BR2_GLOBAL_PATCH_DIR
558         string "global patch directories"
559         help
560           You may specify a space separated list of one or more directories
561           containing global package patches. For a specific version
562           <packageversion> of a specific package <packagename>, patches are
563           applied as follows:
564
565           First, the default Buildroot patch set for the package is applied
566           from the package's directory in Buildroot.
567
568           Then for every directory - <global-patch-dir> - that exists in
569           BR2_GLOBAL_PATCH_DIR, if the directory
570           <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
571           *.patch files in this directory will be applied.
572
573           Otherwise, if the directory <global-patch-dir>/<packagename> exists,
574           then all *.patch files in the directory will be applied.
575
576 endmenu
577
578 source "toolchain/Config.in"
579
580 source "system/Config.in"
581
582 source "linux/Config.in"
583
584 source "package/Config.in"
585
586 source "fs/Config.in"
587
588 source "boot/Config.in"
589
590 source "package/Config.in.host"
591
592 source "Config.in.legacy"
593
594 menu "User-provided options"
595         depends on BR2_EXTERNAL != "support/dummy-external"
596
597 source "$BR2_EXTERNAL/Config.in"
598
599 endmenu