qt: ensure that target dir exists before installing there
[buildroot-gz.git] / Config.in
blob5823274515e8b58c71f68453028f0e1539deef58
3 mainmenu "Buildroot $BR2_VERSION Configuration"
5 config BR2_HAVE_DOT_CONFIG
6         bool
7         default y
9 config BR2_VERSION
10         string
11         option env="BR2_VERSION_FULL"
13 config BR2_HOSTARCH
14         string
15         option env="HOSTARCH"
17 config BR2_EXTERNAL
18         string
19         option env="BR2_EXTERNAL"
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
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
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
38 source "arch/Config.in"
40 menu "Build options"
42 menu "Commands"
44 config BR2_WGET
45         string "Wget command"
46         default "wget --passive-ftp -nd -t 3"
48 config BR2_SVN
49         string "Subversion (svn) command"
50         default "svn"
52 config BR2_BZR
53         string "Bazaar (bzr) command"
54         default "bzr"
56 config BR2_GIT
57         string "Git command"
58         default "git"
60 config BR2_CVS
61         string "CVS command"
62         default "cvs"
64 config BR2_LOCALFILES
65         string "Local files retrieval command"
66         default "cp"
68 config BR2_SCP
69         string "Secure copy (scp) command"
70         default "scp"
72 config BR2_SSH
73         string "Secure shell (ssh) command"
74         default "ssh"
76 config BR2_HG
77         string "Mercurial (hg) command"
78         default "hg"
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".
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".
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"
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.
115 endmenu
117 config BR2_DEFCONFIG_FROM_ENV
118         string
119         option env="BR2_DEFCONFIG"
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.
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.
137           The default is $(TOPDIR)/dl
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.
147           The default is $(BASE_DIR)/host
149 menu "Mirrors and Download locations"
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, ...)
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.
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.
177 if !BR2_PRIMARY_SITE_ONLY
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.
187 config BR2_KERNEL_MIRROR
188         string "Kernel.org mirror"
189         default "http://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.
194           Have a look on the kernel.org site for a list of mirrors, then enter
195           the URL to the base directory.  Examples:
197              http://www.XX.kernel.org/pub (XX = country code)
198              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
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.
207           Have a look on the gnu.org site for a list of mirrors, then enter
208           the URL to the base directory.  Examples:
210              http://ftp.gnu.org/pub/gnu
211              http://mirror.aarnet.edu.au/pub/gnu
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.
220           Usually, just add your country code like XX here:
221           http://ftp.XX.debian.org
223 endif
225 config BR2_LUAROCKS_MIRROR
226         string "LuaRocks mirror"
227         default "http://luarocks.org/repositories/rocks"
228         help
229           LuaRocks repository.
231           See http://luarocks.org
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.
241           The list of mirrors is available at:
242           http://search.cpan.org/mirror
244 endmenu
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.
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.
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.
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.
276 config BR2_DEPRECATED
277         bool "Show packages that are deprecated or obsolete"
278         help
279           This option hides outdated/obsolete versions of packages.
281 if BR2_DEPRECATED
283 config BR2_DEPRECATED_SINCE_2013_05
284         bool
285         default y
287 config BR2_DEPRECATED_SINCE_2013_08
288         bool
289         default y
291 config BR2_DEPRECATED_SINCE_2013_11
292         bool
293         default y
295 config BR2_DEPRECATED_SINCE_2014_02
296         bool
297         default y
299 config BR2_DEPRECATED_SINCE_2014_05
300         bool
301         default y
303 endif
305 config BR2_ENABLE_DEBUG
306         bool "build packages with debugging symbols"
307         help
308           Build packages with debugging symbols enabled. All libraries
309           and binaries in the 'staging' directory will have debugging
310           symbols, which allows remote debugging even if libraries and
311           binaries are stripped on the target. Whether libraries and
312           binaries are stripped on the target is controlled by the
313           BR2_STRIP_* options below.
315 if BR2_ENABLE_DEBUG
316 choice
317         prompt "gcc debug level"
318         default BR2_DEBUG_2
319         help
320           Set the debug level for gcc
322 config BR2_DEBUG_1
323         bool "debug level 1"
324         help
325           Debug level 1 produces minimal information, enough
326           for making backtraces in parts of the program that
327           you don't plan to debug. This includes descriptions
328           of functions and external variables, but no information
329           about local variables and no line numbers.
331 config BR2_DEBUG_2
332         bool "debug level 2"
333         help
334           The default gcc debug level is 2
336 config BR2_DEBUG_3
337         bool "debug level 3"
338         help
339           Level 3 includes extra information, such as all the
340           macro definitions present in the program. Some debuggers
341           support macro expansion when you use -g3.
342 endchoice
343 endif
345 choice
346         prompt "strip command for binaries on target"
347         default BR2_STRIP_strip
349 config BR2_STRIP_strip
350         bool "strip"
351         depends on !BR2_PACKAGE_HOST_ELF2FLT
352         help
353           Binaries and libraries in the target filesystem will be
354           stripped using the normal '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.
359 config BR2_STRIP_sstrip
360         bool "sstrip"
361         select BR2_PACKAGE_SSTRIP_HOST
362         depends on !BR2_PACKAGE_HOST_ELF2FLT
363         help
364           Binaries and libraries in the target filesystem will be
365           stripped using the 'sstrip' command, which strips a little
366           bit more than the traditional 'strip' command. This allows to
367           save space, mainly by removing debugging symbols. Debugging
368           symbols on the target are needed for native debugging, but
369           not when remote debugging is used.
371 config BR2_STRIP_none
372         bool "none"
373         help
374           Do not strip binaries and libraries in the target
375           filesystem.
376 endchoice
378 config BR2_STRIP_EXCLUDE_FILES
379         string "executables that should not be stripped"
380         depends on !BR2_STRIP_none
381         default ""
382         help
383           You may specify a space-separated list of binaries and libraries
384           here that should not be stripped on the target.
386 config BR2_STRIP_EXCLUDE_DIRS
387         string "directories that should be skipped when stripping"
388         depends on !BR2_STRIP_none
389         default ""
390         help
391           You may specify a space-separated list of directories that should
392           be skipped when stripping. Binaries and libraries in these
393           directories will not be touched.
394           The directories should be specified relative to the target directory,
395           without leading slash.
397 choice
398         prompt "gcc optimization level"
399         default BR2_OPTIMIZE_S
400         help
401           Set the optimization level for gcc
403 config BR2_OPTIMIZE_0
404         bool "optimization level 0"
405         help
406           Do not optimize. This is the default.
408 config BR2_OPTIMIZE_1
409         bool "optimization level 1"
410         help
411           Optimize. Optimizing compilation takes somewhat more time,
412           and a lot more memory for a large function. With -O, the
413           compiler tries to reduce code size and execution time,
414           without performing any optimizations that take a great deal
415           of compilation time. -O turns on the following optimization
416           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
417           -fcprop-registers -floop-optimize -fif-conversion
418           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
419           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
420           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
421           -O also turns on -fomit-frame-pointer on machines where doing
422           so does not interfere with debugging.
424 config BR2_OPTIMIZE_2
425         bool "optimization level 2"
426         help
427           Optimize even more. GCC performs nearly all supported optimizations
428           that do not involve a space-speed tradeoff. The compiler does not
429           perform loop unrolling or function inlining when you specify -O2.
430           As compared to -O, this option increases both compilation time and
431           the performance of the generated code. -O2 turns on all optimization
432           flags specified by -O. It also turns on the following optimization
433           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
434           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
435           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
436           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
437           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
438           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
439           -freorder-functions -falign-functions -falign-jumps -falign-loops
440           -falign-labels -ftree-vrp -ftree-pre
441           Please note the warning under -fgcse about invoking -O2 on programs
442           that use computed gotos.
444 config BR2_OPTIMIZE_3
445         bool "optimization level 3"
446         help
447           Optimize yet more. -O3 turns on all optimizations specified by -O2
448           and also turns on the -finline-functions, -funswitch-loops and
449           -fgcse-after-reload options.
451 config BR2_OPTIMIZE_S
452         bool "optimize for size"
453         help
454           Optimize for size. -Os enables all -O2 optimizations that do not
455           typically increase code size. It also performs further optimizations
456           designed to reduce code size. -Os disables the following optimization
457           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
458           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
459           -ftree-vect-loop-version
461 endchoice
463 config BR2_ENABLE_SSP
464         bool "build code with Stack Smashing Protection"
465         depends on BR2_TOOLCHAIN_HAS_SSP
466         help
467           Enable stack smashing protection support using GCCs
468           -fstack-protector-all option.
470           See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
471           for details.
473           Note that this requires the toolchain to have SSP
474           support. This is always the case for glibc and eglibc
475           toolchain, but is optional in uClibc toolchains.
477 comment "enabling Stack Smashing Protection requires support in the toolchain"
478         depends on !BR2_TOOLCHAIN_HAS_SSP
480 config BR2_PREFER_STATIC_LIB
481         bool "prefer static libraries"
482         help
483           Where possible, build and use static libraries for the target.
484           This potentially increases your code size and should only be
485           used if you know what you do.
486           The default is to build dynamic libraries and use those on
487           the target filesystem.
489           WARNING: This is highly experimental at the moment.
491 config BR2_PACKAGE_OVERRIDE_FILE
492         string "location of a package override file"
493         default "$(CONFIG_DIR)/local.mk"
494         help
495           A package override file is a short makefile that contains
496           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
497           which allows to tell Buildroot to use an existing directory
498           as the source directory for a particular package. See the
499           Buildroot documentation for more details on this feature.
501 config BR2_GLOBAL_PATCH_DIR
502         string "global patch directories"
503         help
504           You may specify a space separated list of one or more directories
505           containing global package patches. For a specific version
506           <packageversion> of a specific package <packagename>, patches are
507           applied as follows:
509           First, the default Buildroot patch set for the package is applied
510           from the package's directory in Buildroot.
512           Then for every directory - <global-patch-dir> - that exists in
513           BR2_GLOBAL_PATCH_DIR, if the directory
514           <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
515           *.patch files in this directory will be applied.
517           Otherwise, if the directory <global-patch-dir>/<packagename> exists,
518           then all *.patch files in the directory will be applied.
520 endmenu
522 source "toolchain/Config.in"
524 source "system/Config.in"
526 source "linux/Config.in"
528 source "package/Config.in"
530 source "fs/Config.in"
532 source "boot/Config.in"
534 source "package/Config.in.host"
536 source "Config.in.legacy"
538 menu "User-provided options"
539         depends on BR2_EXTERNAL != "support/dummy-external"
541 source "$BR2_EXTERNAL/Config.in"
543 endmenu