]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - Config.in
infra: replace BUILDROOT_DL_DIR with BR2_DL_DIR.
[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 BR2_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_2013_05
268         bool
269         default y
270
271 config BR2_DEPRECATED_SINCE_2013_08
272         bool
273         default y
274
275 config BR2_DEPRECATED_SINCE_2013_11
276         bool
277         default y
278
279 config BR2_DEPRECATED_SINCE_2014_02
280         bool
281         default y
282
283 endif
284
285 config BR2_ENABLE_DEBUG
286         bool "build packages with debugging symbols"
287         help
288           Build packages with debugging symbols enabled. All libraries
289           and binaries in the 'staging' directory will have debugging
290           symbols, which allows remote debugging even if libraries and
291           binaries are stripped on the target. Whether libraries and
292           binaries are stripped on the target is controlled by the
293           BR2_STRIP_* options below.
294
295 if BR2_ENABLE_DEBUG
296 choice
297         prompt "gcc debug level"
298         default BR2_DEBUG_2
299         help
300           Set the debug level for gcc
301
302 config BR2_DEBUG_1
303         bool "debug level 1"
304         help
305           Debug level 1 produces minimal information, enough
306           for making backtraces in parts of the program that
307           you don't plan to debug. This includes descriptions
308           of functions and external variables, but no information
309           about local variables and no line numbers.
310
311 config BR2_DEBUG_2
312         bool "debug level 2"
313         help
314           The default gcc debug level is 2
315
316 config BR2_DEBUG_3
317         bool "debug level 3"
318         help
319           Level 3 includes extra information, such as all the
320           macro definitions present in the program. Some debuggers
321           support macro expansion when you use -g3.
322 endchoice
323 endif
324
325 choice
326         prompt "strip command for binaries on target"
327         default BR2_STRIP_strip
328
329 config BR2_STRIP_strip
330         bool "strip"
331         depends on !BR2_PACKAGE_HOST_ELF2FLT
332         help
333           Binaries and libraries in the target filesystem will be
334           stripped using the normal 'strip' command. This allows to
335           save space, mainly by removing debugging symbols. Debugging
336           symbols on the target are needed for native debugging, but
337           not when remote debugging is used.
338
339 config BR2_STRIP_sstrip
340         bool "sstrip"
341         select BR2_PACKAGE_SSTRIP_HOST
342         depends on !BR2_PACKAGE_HOST_ELF2FLT
343         help
344           Binaries and libraries in the target filesystem will be
345           stripped using the 'sstrip' command, which strips a little
346           bit more than the traditional 'strip' command. This allows to
347           save space, mainly by removing debugging symbols. Debugging
348           symbols on the target are needed for native debugging, but
349           not when remote debugging is used.
350
351 config BR2_STRIP_none
352         bool "none"
353         help
354           Do not strip binaries and libraries in the target
355           filesystem.
356 endchoice
357
358 config BR2_STRIP_EXCLUDE_FILES
359         string "executables that should not be stripped"
360         depends on !BR2_STRIP_none
361         default ""
362         help
363           You may specify a space-separated list of binaries and libraries
364           here that should not be stripped on the target.
365
366 config BR2_STRIP_EXCLUDE_DIRS
367         string "directories that should be skipped when stripping"
368         depends on !BR2_STRIP_none
369         default ""
370         help
371           You may specify a space-separated list of directories that should
372           be skipped when stripping. Binaries and libraries in these
373           directories will not be touched.
374           The directories should be specified relative to the target directory,
375           without leading slash.
376
377 choice
378         prompt "gcc optimization level"
379         default BR2_OPTIMIZE_S
380         help
381           Set the optimization level for gcc
382
383 config BR2_OPTIMIZE_0
384         bool "optimization level 0"
385         help
386           Do not optimize. This is the default.
387
388 config BR2_OPTIMIZE_1
389         bool "optimization level 1"
390         help
391           Optimize. Optimizing compilation takes somewhat more time,
392           and a lot more memory for a large function. With -O, the
393           compiler tries to reduce code size and execution time,
394           without performing any optimizations that take a great deal
395           of compilation time. -O turns on the following optimization
396           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
397           -fcprop-registers -floop-optimize -fif-conversion
398           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
399           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
400           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
401           -O also turns on -fomit-frame-pointer on machines where doing
402           so does not interfere with debugging.
403
404 config BR2_OPTIMIZE_2
405         bool "optimization level 2"
406         help
407           Optimize even more. GCC performs nearly all supported optimizations
408           that do not involve a space-speed tradeoff. The compiler does not
409           perform loop unrolling or function inlining when you specify -O2.
410           As compared to -O, this option increases both compilation time and
411           the performance of the generated code. -O2 turns on all optimization
412           flags specified by -O. It also turns on the following optimization
413           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
414           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
415           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
416           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
417           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
418           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
419           -freorder-functions -falign-functions -falign-jumps -falign-loops
420           -falign-labels -ftree-vrp -ftree-pre
421           Please note the warning under -fgcse about invoking -O2 on programs
422           that use computed gotos.
423
424 config BR2_OPTIMIZE_3
425         bool "optimization level 3"
426         help
427           Optimize yet more. -O3 turns on all optimizations specified by -O2
428           and also turns on the -finline-functions, -funswitch-loops and
429           -fgcse-after-reload options.
430
431 config BR2_OPTIMIZE_S
432         bool "optimize for size"
433         help
434           Optimize for size. -Os enables all -O2 optimizations that do not
435           typically increase code size. It also performs further optimizations
436           designed to reduce code size. -Os disables the following optimization
437           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
438           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
439           -ftree-vect-loop-version
440
441 endchoice
442
443 config BR2_ENABLE_SSP
444         bool "build code with Stack Smashing Protection"
445         depends on BR2_TOOLCHAIN_HAS_SSP
446         help
447           Enable stack smashing protection support using GCCs
448           -fstack-protector-all option.
449
450           See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
451           for details.
452
453           Note that this requires the toolchain to have SSP
454           support. This is always the case for glibc and eglibc
455           toolchain, but is optional in uClibc toolchains.
456
457 comment "enabling Stack Smashing Protection requires support in the toolchain"
458         depends on !BR2_TOOLCHAIN_HAS_SSP
459
460 config BR2_PREFER_STATIC_LIB
461         bool "prefer static libraries"
462         help
463           Where possible, build and use static libraries for the target.
464           This potentially increases your code size and should only be
465           used if you know what you do.
466           The default is to build dynamic libraries and use those on
467           the target filesystem.
468
469           WARNING: This is highly experimental at the moment.
470
471 config BR2_PACKAGE_OVERRIDE_FILE
472         string "location of a package override file"
473         default "$(TOPDIR)/local.mk"
474         help
475           A package override file is a short makefile that contains
476           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
477           which allows to tell Buildroot to use an existing directory
478           as the source directory for a particular package. See the
479           Buildroot documentation for more details on this feature.
480
481 config BR2_GLOBAL_PATCH_DIR
482         string "global patch directories"
483         help
484           You may specify a space separated list of one or more directories
485           containing global package patches. For a specific version
486           <packageversion> of a specific package <packagename>, patches are
487           applied as follows:
488
489           First, the default Buildroot patch set for the package is applied
490           from the package's directory in Buildroot.
491
492           Then for every directory - <global-patch-dir> - that exists in
493           BR2_GLOBAL_PATCH_DIR, if the directory
494           <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
495           *.patch files in this directory will be applied.
496
497           Otherwise, if the directory <global-patch-dir>/<packagename> exists,
498           then all *.patch files in the directory will be applied.
499
500 endmenu
501
502 source "toolchain/Config.in"
503
504 source "system/Config.in"
505
506 source "linux/Config.in"
507
508 source "package/Config.in"
509
510 source "fs/Config.in"
511
512 source "boot/Config.in"
513
514 source "package/Config.in.host"
515
516 source "Config.in.legacy"
517
518 menu "User-provided options"
519         depends on BR2_EXTERNAL != "support/dummy-external"
520
521 source "$BR2_EXTERNAL/Config.in"
522
523 endmenu