manual-text: make sure URLs are displayed if a link text was provided
[buildroot-gz.git] / Config.in
blob14ff55b1a7c384d09a87d3e6946195a7bd9724a5
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 packages in need of javac in order to build
27 # (example: classpath)
28 config BR2_NEEDS_HOST_JAVAC
29         bool
31 # Hidden boolean selected by packages in need of jar in order to build
32 # (example: classpath)
33 config BR2_NEEDS_HOST_JAR
34         bool
36 # Hidden boolean selected by pre-built packages for x86, when they
37 # need to run on x86-64 machines (example: pre-built external
38 # toolchains, binary tools like SAM-BA, etc.).
39 config BR2_HOSTARCH_NEEDS_IA32_LIBS
40         bool
42 # Hidden boolean selected by packages that need to build 32 bits
43 # binaries with the host compiler, even on 64 bits build machines (e.g
44 # bootloaders).
45 config BR2_HOSTARCH_NEEDS_IA32_COMPILER
46         bool
48 source "arch/Config.in"
50 menu "Build options"
52 menu "Commands"
54 config BR2_WGET
55         string "Wget command"
56         default "wget --passive-ftp -nd -t 3"
58 config BR2_SVN
59         string "Subversion (svn) command"
60         default "svn"
62 config BR2_BZR
63         string "Bazaar (bzr) command"
64         default "bzr"
66 config BR2_GIT
67         string "Git command"
68         default "git"
70 config BR2_CVS
71         string "CVS command"
72         default "cvs"
74 config BR2_LOCALFILES
75         string "Local files retrieval command"
76         default "cp"
78 config BR2_SCP
79         string "Secure copy (scp) command"
80         default "scp"
82 config BR2_SSH
83         string "Secure shell (ssh) command"
84         default "ssh"
86 config BR2_HG
87         string "Mercurial (hg) command"
88         default "hg"
90 config BR2_ZCAT
91         string "zcat command"
92         default "gzip -d -c"
93         help
94           Command to be used to extract a gzip'ed file to stdout.
95           zcat is identical to gunzip -c except that the former may
96           not be available on your system.
97           Default is "gzip -d -c"
98           Other possible values include "gunzip -c" or "zcat".
100 config BR2_BZCAT
101         string "bzcat command"
102         default "bzcat"
103         help
104           Command to be used to extract a bzip2'ed file to stdout.
105           bzcat is identical to bunzip2 -c except that the former may
106           not be available on your system.
107           Default is "bzcat"
108           Other possible values include "bunzip2 -c" or "bzip2 -d -c".
110 config BR2_XZCAT
111         string "xzcat command"
112         default "xzcat"
113         help
114           Command to be used to extract a xz'ed file to stdout.
115           Default is "xzcat"
117 config BR2_TAR_OPTIONS
118         string "Tar options"
119         default ""
120         help
121           Options to pass to tar when extracting the sources.
122           E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
123           and to be verbose.
125 endmenu
127 config BR2_DEFCONFIG_FROM_ENV
128         string
129         option env="BR2_DEFCONFIG"
131 config BR2_DEFCONFIG
132         string "Location to save buildroot config"
133         default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
134         default "$(CONFIG_DIR)/defconfig"
135         help
136           When running 'make savedefconfig', the defconfig file will be saved
137           in this location.
139 config BR2_DL_DIR
140         string "Download dir"
141         default "$(TOPDIR)/dl"
142         help
143           Directory to store all the source files that we need to fetch.
144           If the Linux shell environment has defined the BR2_DL_DIR
145           environment variable, then this overrides this configuration item.
147           The default is $(TOPDIR)/dl
149 config BR2_HOST_DIR
150         string "Host dir"
151         default "$(BASE_DIR)/host"
152         help
153           Directory to store all the binary files that are built for the host.
154           This includes the cross compilation toolchain when building the
155           internal buildroot toolchain.
157           The default is $(BASE_DIR)/host
159 menu "Mirrors and Download locations"
161 config BR2_PRIMARY_SITE
162         string "Primary download site"
163         default ""
164         help
165           Primary site to download from. If this option is set then buildroot
166           will try to download package source first from this site and try the
167           default if the file is not found.
168           Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
169           scp://[user@]host:path.
170           NOTE: This works for all packages using the central package
171           infrastructure (generic, autotools, cmake, ...)
173 config BR2_PRIMARY_SITE_ONLY
174         bool "Only allow downloads from primary download site"
175         depends on BR2_PRIMARY_SITE != ""
176         help
177           If this option is enabled, downloads will only be attempted
178           from the primary download site. Other locations, like the
179           package's official download location or the backup download
180           site, will not be considered. Therefore, if the package is
181           not present on the primary site, the download fails.
183           This is useful for project developers who want to ensure
184           that the project can be built even if the upstream tarball
185           locations disappear.
187 if !BR2_PRIMARY_SITE_ONLY
189 config BR2_BACKUP_SITE
190         string "Backup download site"
191         default "http://sources.buildroot.net"
192         help
193           Backup site to download from. If this option is set then buildroot
194           will fall back to download package sources from here if the
195           normal location fails.
197 config BR2_KERNEL_MIRROR
198         string "Kernel.org mirror"
199         default "https://www.kernel.org/pub"
200         help
201           kernel.org is mirrored on a number of servers around the world.
202           The following allows you to select your preferred mirror.
204           Have a look on the kernel.org site for a list of mirrors, then enter
205           the URL to the base directory.  Examples:
207              http://www.XX.kernel.org/pub (XX = country code)
208              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
210 config BR2_GNU_MIRROR
211         string "GNU Software mirror"
212         default "http://ftp.gnu.org/pub/gnu"
213         help
214           GNU has multiple software mirrors scattered around the world.
215           The following allows you to select your preferred mirror.
217           Have a look on the gnu.org site for a list of mirrors, then enter
218           the URL to the base directory.  Examples:
220              http://ftp.gnu.org/pub/gnu
221              http://mirror.aarnet.edu.au/pub/gnu
223 config BR2_DEBIAN_MIRROR
224         string "Debian Software mirror"
225         default "http://ftp.debian.org"
226         help
227           Debian has multiple software mirrors scattered around the world.
228           The following allows you to select your preferred mirror.
230           Usually, just add your country code like XX here:
231           http://ftp.XX.debian.org
233 endif
235 config BR2_LUAROCKS_MIRROR
236         string "LuaRocks mirror"
237         default "http://rocks.moonscript.org"
238         help
239           LuaRocks repository.
241           See http://luarocks.org
243 config BR2_CPAN_MIRROR
244         string "CPAN mirror (Perl packages)"
245         default "http://cpan.metacpan.org"
246         help
247           CPAN (Comprehensive Perl Archive Network) is a repository
248           of Perl packages. It has multiple software mirrors scattered
249           around the world. This option allows you to select a mirror.
251           The list of mirrors is available at:
252           http://search.cpan.org/mirror
254 endmenu
256 config BR2_JLEVEL
257         int "Number of jobs to run simultaneously (0 for auto)"
258         default "0"
259         help
260           Number of jobs to run simultaneously.  If 0, determine
261           automatically according to number of CPUs on the host
262           system.
264 config BR2_CCACHE
265         bool "Enable compiler cache"
266         help
267           This option will enable the use of ccache, a compiler
268           cache. It will cache the result of previous builds to speed
269           up future builds. By default, the cache is stored in
270           $HOME/.buildroot-ccache.
272           Note that Buildroot does not try to invalidate the cache
273           contents when the compiler changes in an incompatible
274           way. Therefore, if you make a change to the compiler version
275           and/or configuration, you are responsible for purging the
276           ccache cache by removing the $HOME/.buildroot-ccache
277           directory.
279 if BR2_CCACHE
281 config BR2_CCACHE_DIR
282         string "Compiler cache location"
283         default "$(HOME)/.buildroot-ccache"
284         help
285           Where ccache should store cached files.
287 config BR2_CCACHE_INITIAL_SETUP
288         string "Compiler cache initial setup"
289         help
290           Initial ccache settings to apply, such as --max-files or --max-size.
292           For example, if your project is known to require more space than the
293           default max cache size, then you might want to increase the cache size
294           to a suitable amount using the -M (--max-size) option.
296           The string you specify here is passed verbatim to ccache.  Refer to
297           ccache documentation for more details.
299           These initial settings are applied after ccache has been compiled.
301 endif
303 config BR2_DEPRECATED
304         bool "Show packages that are deprecated or obsolete"
305         help
306           This option hides outdated/obsolete versions of packages.
308 if BR2_DEPRECATED
310 config BR2_DEPRECATED_SINCE_2013_11
311         bool
312         default y
314 config BR2_DEPRECATED_SINCE_2014_02
315         bool
316         default y
318 config BR2_DEPRECATED_SINCE_2014_05
319         bool
320         default y
322 config BR2_DEPRECATED_SINCE_2014_08
323         bool
324         default y
326 endif
328 config BR2_ENABLE_DEBUG
329         bool "build packages with debugging symbols"
330         help
331           Build packages with debugging symbols enabled. All libraries
332           and binaries in the 'staging' directory will have debugging
333           symbols, which allows remote debugging even if libraries and
334           binaries are stripped on the target. Whether libraries and
335           binaries are stripped on the target is controlled by the
336           BR2_STRIP_* options below.
338 if BR2_ENABLE_DEBUG
339 choice
340         prompt "gcc debug level"
341         default BR2_DEBUG_2
342         help
343           Set the debug level for gcc
345 config BR2_DEBUG_1
346         bool "debug level 1"
347         help
348           Debug level 1 produces minimal information, enough
349           for making backtraces in parts of the program that
350           you don't plan to debug. This includes descriptions
351           of functions and external variables, but no information
352           about local variables and no line numbers.
354 config BR2_DEBUG_2
355         bool "debug level 2"
356         help
357           The default gcc debug level is 2
359 config BR2_DEBUG_3
360         bool "debug level 3"
361         help
362           Level 3 includes extra information, such as all the
363           macro definitions present in the program. Some debuggers
364           support macro expansion when you use -g3.
365 endchoice
366 endif
368 choice
369         prompt "strip command for binaries on target"
370         default BR2_STRIP_strip
372 config BR2_STRIP_strip
373         bool "strip"
374         depends on !BR2_PACKAGE_HOST_ELF2FLT
375         help
376           Binaries and libraries in the target filesystem will be
377           stripped using the normal 'strip' command. This allows to
378           save space, mainly by removing debugging symbols. Debugging
379           symbols on the target are needed for native debugging, but
380           not when remote debugging is used.
382 config BR2_STRIP_sstrip
383         bool "sstrip"
384         select BR2_PACKAGE_SSTRIP_HOST
385         depends on !BR2_PACKAGE_HOST_ELF2FLT
386         depends on BR2_DEPRECATED_SINCE_2014_05
387         help
388           Binaries and libraries in the target filesystem will be
389           stripped using the 'sstrip' command, which strips a little
390           bit more than the traditional 'strip' command. This allows to
391           save space, mainly by removing debugging symbols. Debugging
392           symbols on the target are needed for native debugging, but
393           not when remote debugging is used.
395 config BR2_STRIP_none
396         bool "none"
397         help
398           Do not strip binaries and libraries in the target
399           filesystem.
400 endchoice
402 config BR2_STRIP_EXCLUDE_FILES
403         string "executables that should not be stripped"
404         depends on !BR2_STRIP_none
405         default ""
406         help
407           You may specify a space-separated list of binaries and libraries
408           here that should not be stripped on the target.
410 config BR2_STRIP_EXCLUDE_DIRS
411         string "directories that should be skipped when stripping"
412         depends on !BR2_STRIP_none
413         default ""
414         help
415           You may specify a space-separated list of directories that should
416           be skipped when stripping. Binaries and libraries in these
417           directories will not be touched.
418           The directories should be specified relative to the target directory,
419           without leading slash.
421 choice
422         prompt "gcc optimization level"
423         default BR2_OPTIMIZE_S
424         help
425           Set the optimization level for gcc
427 config BR2_OPTIMIZE_0
428         bool "optimization level 0"
429         help
430           Do not optimize. This is the default.
432 config BR2_OPTIMIZE_1
433         bool "optimization level 1"
434         help
435           Optimize. Optimizing compilation takes somewhat more time,
436           and a lot more memory for a large function. With -O, the
437           compiler tries to reduce code size and execution time,
438           without performing any optimizations that take a great deal
439           of compilation time. -O turns on the following optimization
440           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
441           -fcprop-registers -floop-optimize -fif-conversion
442           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
443           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
444           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
445           -O also turns on -fomit-frame-pointer on machines where doing
446           so does not interfere with debugging.
448 config BR2_OPTIMIZE_2
449         bool "optimization level 2"
450         help
451           Optimize even more. GCC performs nearly all supported optimizations
452           that do not involve a space-speed tradeoff. The compiler does not
453           perform loop unrolling or function inlining when you specify -O2.
454           As compared to -O, this option increases both compilation time and
455           the performance of the generated code. -O2 turns on all optimization
456           flags specified by -O. It also turns on the following optimization
457           flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
458           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
459           -fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
460           -frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
461           -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
462           -fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
463           -freorder-functions -falign-functions -falign-jumps -falign-loops
464           -falign-labels -ftree-vrp -ftree-pre
465           Please note the warning under -fgcse about invoking -O2 on programs
466           that use computed gotos.
468 config BR2_OPTIMIZE_3
469         bool "optimization level 3"
470         help
471           Optimize yet more. -O3 turns on all optimizations specified by -O2
472           and also turns on the -finline-functions, -funswitch-loops and
473           -fgcse-after-reload options.
475 config BR2_OPTIMIZE_S
476         bool "optimize for size"
477         help
478           Optimize for size. -Os enables all -O2 optimizations that do not
479           typically increase code size. It also performs further optimizations
480           designed to reduce code size. -Os disables the following optimization
481           flags: -falign-functions -falign-jumps -falign-loops -falign-labels
482           -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
483           -ftree-vect-loop-version
485 endchoice
487 config BR2_GOOGLE_BREAKPAD_ENABLE
488         bool "Enable google-breakpad support"
489         select BR2_PACKAGE_GOOGLE_BREAKPAD
490         depends on BR2_INSTALL_LIBSTDCPP
491         depends on BR2_TOOLCHAIN_USES_GLIBC
492         depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
493         help
494           This option will enable the use of google breakpad, a
495           library and tool suite that allows you to distribute an
496           application to users with compiler-provided debugging
497           information removed, record crashes in compact "minidump"
498           files, send them back to your server and produce C and C++
499           stack traces from these minidumps.  Breakpad can also write
500           minidumps on request for programs that have not crashed.
502 if BR2_GOOGLE_BREAKPAD_ENABLE
504 config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
505         string "List of executables and libraries to extract symbols from"
506         default ""
507         help
508           You may specify a space-separated list of binaries and
509           libraries with full paths relative to $(TARGET_DIR) of which
510           debug symbols will be dumped for further use with google
511           breakpad.
513           A directory structure that can be used by minidump-stackwalk
514           will be created at:
516           $(STAGING_DIR)/usr/share/google-breakpad-symbols
518 endif
520 config BR2_ENABLE_SSP
521         bool "build code with Stack Smashing Protection"
522         depends on BR2_TOOLCHAIN_HAS_SSP
523         help
524           Enable stack smashing protection support using GCCs
525           -fstack-protector-all option.
527           See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
528           for details.
530           Note that this requires the toolchain to have SSP
531           support. This is always the case for glibc and eglibc
532           toolchain, but is optional in uClibc toolchains.
534 comment "enabling Stack Smashing Protection requires support in the toolchain"
535         depends on !BR2_TOOLCHAIN_HAS_SSP
537 config BR2_PREFER_STATIC_LIB
538         bool "prefer static libraries"
539         help
540           Where possible, build and use static libraries for the target.
541           This potentially increases your code size and should only be
542           used if you know what you do.
543           The default is to build dynamic libraries and use those on
544           the target filesystem.
546           WARNING: This is highly experimental at the moment.
548 config BR2_PACKAGE_OVERRIDE_FILE
549         string "location of a package override file"
550         default "$(CONFIG_DIR)/local.mk"
551         help
552           A package override file is a short makefile that contains
553           variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
554           which allows to tell Buildroot to use an existing directory
555           as the source directory for a particular package. See the
556           Buildroot documentation for more details on this feature.
558 config BR2_GLOBAL_PATCH_DIR
559         string "global patch directories"
560         help
561           You may specify a space separated list of one or more directories
562           containing global package patches. For a specific version
563           <packageversion> of a specific package <packagename>, patches are
564           applied as follows:
566           First, the default Buildroot patch set for the package is applied
567           from the package's directory in Buildroot.
569           Then for every directory - <global-patch-dir> - that exists in
570           BR2_GLOBAL_PATCH_DIR, if the directory
571           <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
572           *.patch files in this directory will be applied.
574           Otherwise, if the directory <global-patch-dir>/<packagename> exists,
575           then all *.patch files in the directory will be applied.
577 endmenu
579 source "toolchain/Config.in"
581 source "system/Config.in"
583 source "linux/Config.in"
585 source "package/Config.in"
587 source "fs/Config.in"
589 source "boot/Config.in"
591 source "package/Config.in.host"
593 source "Config.in.legacy"
595 menu "User-provided options"
596         depends on BR2_EXTERNAL != "support/dummy-external"
598 source "$BR2_EXTERNAL/Config.in"
600 endmenu