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