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