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