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