package/tinc: bump version to 1.0.28
[buildroot-gz.git] / Config.in
blob1dd2bb36b3bac31a05a9833a70e415ad32f6ba5d
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 config symbols for packages to check system gcc version
22 config BR2_HOST_GCC_VERSION
23         string
24         option env="HOST_GCC_VERSION"
26 config BR2_HOST_GCC_AT_LEAST_4_6
27         bool
28         default y if BR2_HOST_GCC_VERSION = "4 6"
30 config BR2_HOST_GCC_AT_LEAST_4_7
31         bool
32         default y if BR2_HOST_GCC_VERSION = "4 7"
33         select BR2_HOST_GCC_AT_LEAST_4_6
35 config BR2_HOST_GCC_AT_LEAST_4_8
36         bool
37         default y if BR2_HOST_GCC_VERSION = "4 8"
38         select BR2_HOST_GCC_AT_LEAST_4_7
40 config BR2_HOST_GCC_AT_LEAST_4_9
41         bool
42         default y if BR2_HOST_GCC_VERSION = "4 9"
43         select BR2_HOST_GCC_AT_LEAST_4_8
45 config BR2_HOST_GCC_AT_LEAST_5
46         bool
47         default y if BR2_HOST_GCC_VERSION = "5"
48         select BR2_HOST_GCC_AT_LEAST_4_9
50 # Hidden boolean selected by packages in need of Java in order to build
51 # (example: xbmc)
52 config BR2_NEEDS_HOST_JAVA
53         bool
55 # Hidden boolean selected by packages in need of javac in order to build
56 # (example: classpath)
57 config BR2_NEEDS_HOST_JAVAC
58         bool
60 # Hidden boolean selected by packages in need of jar in order to build
61 # (example: classpath)
62 config BR2_NEEDS_HOST_JAR
63         bool
65 # Hidden boolean selected by pre-built packages for x86, when they
66 # need to run on x86-64 machines (example: pre-built external
67 # toolchains, binary tools like SAM-BA, etc.).
68 config BR2_HOSTARCH_NEEDS_IA32_LIBS
69         bool
71 # Hidden boolean selected by packages that need to build 32 bits
72 # binaries with the host compiler, even on 64 bits build machines (e.g
73 # bootloaders).
74 config BR2_HOSTARCH_NEEDS_IA32_COMPILER
75         bool
77 source "arch/Config.in"
79 menu "Build options"
81 menu "Commands"
83 config BR2_WGET
84         string "Wget command"
85         default "wget --passive-ftp -nd -t 3"
87 config BR2_SVN
88         string "Subversion (svn) command"
89         default "svn"
91 config BR2_BZR
92         string "Bazaar (bzr) command"
93         default "bzr"
95 config BR2_GIT
96         string "Git command"
97         default "git"
99 config BR2_CVS
100         string "CVS command"
101         default "cvs"
103 config BR2_LOCALFILES
104         string "Local files retrieval command"
105         default "cp"
107 config BR2_SCP
108         string "Secure copy (scp) command"
109         default "scp"
111 config BR2_SSH
112         string "Secure shell (ssh) command"
113         default "ssh"
115 config BR2_HG
116         string "Mercurial (hg) command"
117         default "hg"
119 config BR2_ZCAT
120         string "zcat command"
121         default "gzip -d -c"
122         help
123           Command to be used to extract a gzip'ed file to stdout. zcat
124           is identical to gunzip -c except that the former may not be
125           available on your system.
126           Default is "gzip -d -c"
127           Other possible values include "gunzip -c" or "zcat".
129 config BR2_BZCAT
130         string "bzcat command"
131         default "bzcat"
132         help
133           Command to be used to extract a bzip2'ed file to stdout.
134           bzcat is identical to bunzip2 -c except that the former may
135           not be available on your system.
136           Default is "bzcat"
137           Other possible values include "bunzip2 -c" or "bzip2 -d -c".
139 config BR2_XZCAT
140         string "xzcat command"
141         default "xzcat"
142         help
143           Command to be used to extract a xz'ed file to stdout.
144           Default is "xzcat"
146 config BR2_TAR_OPTIONS
147         string "Tar options"
148         default ""
149         help
150           Options to pass to tar when extracting the sources.
151           E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
152           and to be verbose.
154 endmenu
156 config BR2_DEFCONFIG_FROM_ENV
157         string
158         option env="BR2_DEFCONFIG"
160 config BR2_DEFCONFIG
161         string "Location to save buildroot config"
162         default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
163         default "$(CONFIG_DIR)/defconfig"
164         help
165           When running 'make savedefconfig', the defconfig file will be
166           saved in this location.
168 config BR2_DL_DIR
169         string "Download dir"
170         default "$(TOPDIR)/dl"
171         help
172           Directory to store all the source files that we need to fetch.
173           If the Linux shell environment has defined the BR2_DL_DIR
174           environment variable, then this overrides this configuration
175           item.
177           The default is $(TOPDIR)/dl
179 config BR2_HOST_DIR
180         string "Host dir"
181         default "$(BASE_DIR)/host"
182         help
183           Directory to store all the binary files that are built for the
184           host. This includes the cross compilation toolchain when
185           building the internal buildroot toolchain.
187           The default is $(BASE_DIR)/host
189 menu "Mirrors and Download locations"
191 config BR2_PRIMARY_SITE
192         string "Primary download site"
193         default ""
194         help
195           Primary site to download from. If this option is set then
196           buildroot will try to download package source first from this
197           site and try the default if the file is not found.
198           Valid URIs are:
199             - URIs recognized by $(WGET)
200             - local URIs of the form file://absolutepath
201             - scp URIs of the form scp://[user@]host:path.
203 config BR2_PRIMARY_SITE_ONLY
204         bool "Only allow downloads from primary download site"
205         depends on BR2_PRIMARY_SITE != ""
206         help
207           If this option is enabled, downloads will only be attempted
208           from the primary download site. Other locations, like the
209           package's official download location or the backup download
210           site, will not be considered. Therefore, if the package is not
211           present on the primary site, the download fails.
213           This is useful for project developers who want to ensure that
214           the project can be built even if the upstream tarball
215           locations disappear.
217 if !BR2_PRIMARY_SITE_ONLY
219 config BR2_BACKUP_SITE
220         string "Backup download site"
221         default "http://sources.buildroot.net"
222         help
223           Backup site to download from. If this option is set then
224           buildroot will fall back to download package sources from here
225           if the normal location fails.
227 config BR2_KERNEL_MIRROR
228         string "Kernel.org mirror"
229         default "https://cdn.kernel.org/pub"
230         help
231           kernel.org is mirrored on a number of servers around the
232           world. The following allows you to select your preferred
233           mirror. By default, a CDN is used, which automatically
234           redirects to a mirror geographically close to you.
236           Have a look on the kernel.org site for a list of mirrors, then
237           enter the URL to the base directory. Examples:
239              http://www.XX.kernel.org/pub (XX = country code)
240              http://mirror.aarnet.edu.au/pub/ftp.kernel.org
242 config BR2_GNU_MIRROR
243         string "GNU Software mirror"
244         default "http://ftpmirror.gnu.org"
245         help
246           GNU has multiple software mirrors scattered around the
247           world. The following allows you to select your preferred
248           mirror. By default, a generic address is used, which
249           automatically selects an up-to-date and local mirror.
251           Have a look on the gnu.org site for a list of mirrors, then
252           enter the URL to the base directory. Examples:
254              http://ftp.gnu.org/pub/gnu
255              http://mirror.aarnet.edu.au/pub/gnu
257 config BR2_LUAROCKS_MIRROR
258         string "LuaRocks mirror"
259         default "http://rocks.moonscript.org"
260         help
261           LuaRocks repository.
263           See http://luarocks.org
265 config BR2_CPAN_MIRROR
266         string "CPAN mirror (Perl packages)"
267         default "http://cpan.metacpan.org"
268         help
269           CPAN (Comprehensive Perl Archive Network) is a repository of
270           Perl packages. It has multiple software mirrors scattered
271           around the world. This option allows you to select a mirror.
273           The list of mirrors is available at:
274           http://search.cpan.org/mirror
276 endif
278 endmenu
280 config BR2_JLEVEL
281         int "Number of jobs to run simultaneously (0 for auto)"
282         default "0"
283         help
284           Number of jobs to run simultaneously. If 0, determine
285           automatically according to number of CPUs on the host system.
287 config BR2_CCACHE
288         bool "Enable compiler cache"
289         help
290           This option will enable the use of ccache, a compiler cache.
291           It will cache the result of previous builds to speed up future
292           builds. By default, the cache is stored in
293           $HOME/.buildroot-ccache.
295           Note that Buildroot does not try to invalidate the cache
296           contents when the compiler changes in an incompatible way.
297           Therefore, if you make a change to the compiler version and/or
298           configuration, you are responsible for purging the ccache
299           cache by removing the $HOME/.buildroot-ccache directory.
301 if BR2_CCACHE
303 config BR2_CCACHE_DIR
304         string "Compiler cache location"
305         default "$(HOME)/.buildroot-ccache"
306         help
307           Where ccache should store cached files.
309 config BR2_CCACHE_INITIAL_SETUP
310         string "Compiler cache initial setup"
311         help
312           Initial ccache settings to apply, such as --max-files or
313           --max-size.
315           For example, if your project is known to require more space
316           than the default max cache size, then you might want to
317           increase the cache size to a suitable amount using the -M
318           (--max-size) option.
320           The string you specify here is passed verbatim to ccache.
321           Refer to ccache documentation for more details.
323           These initial settings are applied after ccache has been
324           compiled.
326 config BR2_CCACHE_USE_BASEDIR
327         bool "Use relative paths"
328         default y
329         help
330           Allow ccache to convert absolute paths within the output
331           directory into relative paths.
333           During the build, many -I include directives are given with an
334           absolute path. These absolute paths end up in the hashes that
335           are computed by ccache. Therefore, when you build from a
336           different directory, the hash will be different and the cached
337           object will not be used.
339           To improve cache performance, set this option to y. This
340           allows ccache to rewrite absolute paths within the output
341           directory into relative paths. Note that only paths within the
342           output directory will be rewritten; therefore, if you change
343           BR2_HOST_DIR to point outside the output directory and
344           subsequently move it to a different location, this will lead
345           to cache misses.
347           This option has as a result that the debug information in the
348           object files also has only relative paths. Therefore, make
349           sure you cd to the build directory before starting gdb. See
350           the section "COMPILING IN DIFFERENT DIRECTORIES" in the ccache
351           manual for more information.
353 endif
355 config BR2_DEPRECATED
356         bool "Show options and packages that are deprecated or obsolete"
357         help
358           This option shows outdated/obsolete versions of packages and
359           options that are otherwise hidden.
361 if BR2_DEPRECATED
363 config BR2_DEPRECATED_SINCE_2015_05
364         bool
365         default y
367 config BR2_DEPRECATED_SINCE_2015_08
368         bool
369         default y
371 config BR2_DEPRECATED_SINCE_2015_11
372         bool
373         default y
375 config BR2_DEPRECATED_SINCE_2016_02
376         bool
377         default y
379 config BR2_DEPRECATED_SINCE_2016_05
380         bool
381         default y
383 endif
385 config BR2_ENABLE_DEBUG
386         bool "build packages with debugging symbols"
387         help
388           Build packages with debugging symbols enabled. All libraries
389           and binaries in the 'staging' directory will have debugging
390           symbols, which allows remote debugging even if libraries and
391           binaries are stripped on the target. Whether libraries and
392           binaries are stripped on the target is controlled by the
393           BR2_STRIP_* options below.
395 if BR2_ENABLE_DEBUG
396 choice
397         prompt "gcc debug level"
398         default BR2_DEBUG_2
399         help
400           Set the debug level for gcc
402 config BR2_DEBUG_1
403         bool "debug level 1"
404         help
405           Debug level 1 produces minimal information, enough for making
406           backtraces in parts of the program that you don't plan to
407           debug. This includes descriptions of functions and external
408           variables, but no information about local variables and no
409           line numbers.
411 config BR2_DEBUG_2
412         bool "debug level 2"
413         help
414           The default gcc debug level is 2
416 config BR2_DEBUG_3
417         bool "debug level 3"
418         help
419           Level 3 includes extra information, such as all the macro
420           definitions present in the program. Some debuggers support
421           macro expansion when you use -g3.
422 endchoice
423 endif
425 choice
426         prompt "strip command for binaries on target"
427         default BR2_STRIP_strip
429 config BR2_STRIP_strip
430         bool "strip"
431         depends on !BR2_PACKAGE_HOST_ELF2FLT
432         help
433           Binaries and libraries in the target filesystem will be
434           stripped using the normal 'strip' command. This allows to save
435           space, mainly by removing debugging symbols. Debugging symbols
436           on the target are needed for native debugging, but not when
437           remote debugging is used.
439 config BR2_STRIP_none
440         bool "none"
441         help
442           Do not strip binaries and libraries in the target filesystem.
443 endchoice
445 config BR2_STRIP_EXCLUDE_FILES
446         string "executables that should not be stripped"
447         depends on !BR2_STRIP_none
448         default ""
449         help
450           You may specify a space-separated list of binaries and
451           libraries here that should not be stripped on the target.
453 config BR2_STRIP_EXCLUDE_DIRS
454         string "directories that should be skipped when stripping"
455         depends on !BR2_STRIP_none
456         default ""
457         help
458           You may specify a space-separated list of directories that
459           should be skipped when stripping. Binaries and libraries in
460           these directories will not be touched. The directories should
461           be specified relative to the target directory, without leading
462           slash.
464 choice
465         prompt "gcc optimization level"
466         default BR2_OPTIMIZE_S
467         help
468           Set the optimization level for gcc
470 config BR2_OPTIMIZE_0
471         bool "optimization level 0"
472         help
473           Do not optimize. This is the default.
475 config BR2_OPTIMIZE_1
476         bool "optimization level 1"
477         help
478           Optimize. Optimizing compilation takes somewhat more time, and
479           a lot more memory for a large function. With -O, the compiler
480           tries to reduce code size and execution time, without
481           performing any optimizations that take a great deal of
482           compilation time. -O turns on the following optimization
483           flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
484           -fcprop-registers -floop-optimize -fif-conversion
485           -fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
486           -ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
487           -ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants. -O
488           also turns on -fomit-frame-pointer on machines where doing so
489           does not interfere with debugging.
491 config BR2_OPTIMIZE_2
492         bool "optimization level 2"
493         help
494           Optimize even more. GCC performs nearly all supported
495           optimizations that do not involve a space-speed tradeoff. The
496           compiler does not perform loop unrolling or function inlining
497           when you specify -O2. As compared to -O, this option increases
498           both compilation time and the performance of the generated
499           code. -O2 turns on all optimization flags specified by -O. It
500           also turns on the following optimization flags:
501           -fthread-jumps -fcrossjumping -foptimize-sibling-calls
502           -fcse-follow-jumps -fcse-skip-blocks -fgcse  -fgcse-lm
503           -fexpensive-optimizations -fstrength-reduce
504           -frerun-cse-after-loop -frerun-loop-opt -fcaller-saves
505           -fpeephole2 -fschedule-insns -fschedule-insns2
506           -fsched-interblock -fsched-spec -fregmove -fstrict-aliasing
507           -fdelete-null-pointer-checks -freorder-blocks
508           -freorder-functions -falign-functions -falign-jumps
509           -falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
510           note the warning under -fgcse about invoking -O2 on programs
511           that use computed gotos.
513 config BR2_OPTIMIZE_3
514         bool "optimization level 3"
515         help
516           Optimize yet more. -O3 turns on all optimizations specified by
517           -O2 and also turns on the -finline-functions, -funswitch-loops
518           and -fgcse-after-reload options.
520 config BR2_OPTIMIZE_G
521         bool "optimize for debugging"
522         depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
523         help
524           Optimize for debugging. This enables optimizations that do not
525           interfere with debugging. It should be the optimization level
526           of choice for the standard edit-compile-debug cycle, offering
527           a reasonable level of optimization while maintaining fast
528           compilation and a good debugging experience.
530 config BR2_OPTIMIZE_S
531         bool "optimize for size"
532         help
533           Optimize for size. -Os enables all -O2 optimizations that do
534           not typically increase code size. It also performs further
535           optimizations designed to reduce code size. -Os disables the
536           following optimization flags: -falign-functions -falign-jumps
537           -falign-loops -falign-labels -freorder-blocks
538           -freorder-blocks-and-partition -fprefetch-loop-arrays
539           -ftree-vect-loop-version
541 endchoice
543 config BR2_GOOGLE_BREAKPAD_ENABLE
544         bool "Enable google-breakpad support"
545         select BR2_PACKAGE_GOOGLE_BREAKPAD
546         depends on BR2_INSTALL_LIBSTDCPP
547         depends on BR2_TOOLCHAIN_USES_GLIBC
548         depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
549         help
550           This option will enable the use of google breakpad, a library
551           and tool suite that allows you to distribute an application to
552           users with compiler-provided debugging information removed,
553           record crashes in compact "minidump" files, send them back to
554           your server and produce C and C++ stack traces from these
555           minidumps. Breakpad can also write minidumps on request for
556           programs that have not crashed.
558 if BR2_GOOGLE_BREAKPAD_ENABLE
560 config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
561         string "List of executables and libraries to extract symbols from"
562         default ""
563         help
564           You may specify a space-separated list of binaries and
565           libraries with full paths relative to $(TARGET_DIR) of which
566           debug symbols will be dumped for further use with google
567           breakpad.
569           A directory structure that can be used by minidump-stackwalk
570           will be created at:
572           $(STAGING_DIR)/usr/share/google-breakpad-symbols
574 endif
576 choice
577         bool "build code with Stack Smashing Protection"
578         default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
579         depends on BR2_TOOLCHAIN_HAS_SSP
580         help
581           Enable stack smashing protection support using GCC's
582           -fstack-protector option family.
584           See
585           http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
586           for details.
588           Note that this requires the toolchain to have SSP support.
589           This is always the case for glibc and eglibc toolchain, but is
590           optional in uClibc toolchains.
592 config BR2_SSP_NONE
593         bool "None"
594         help
595           Disable stack-smashing protection.
597 config BR2_SSP_REGULAR
598         bool "-fstack-protector"
599         help
600           Emit extra code to check for buffer overflows, such as stack
601           smashing attacks. This is done by adding a guard variable to
602           functions with vulnerable objects. This includes functions
603           that call alloca, and functions with buffers larger than 8
604           bytes. The guards are initialized when a function is entered
605           and then checked when the function exits. If a guard check
606           fails, an error message is printed and the program exits.
608 config BR2_SSP_STRONG
609         bool "-fstack-protector-strong"
610         depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
611         help
612           Like -fstack-protector but includes additional functions to be
613           protected - those that have local array definitions, or have
614           references to local frame addresses.
616 comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9"
617         depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
619 config BR2_SSP_ALL
620         bool "-fstack-protector-all"
621         help
622           Like -fstack-protector except that all functions are
623           protected. This option might have a significant performance
624           impact on the compiled binaries.
626 endchoice
628 comment "Stack Smashing Protection needs a toolchain w/ SSP"
629         depends on !BR2_TOOLCHAIN_HAS_SSP
631 choice
632         bool "libraries"
633         default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
634         default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
635         help
636           Select the type of libraries you want to use on the target.
638           The default is to build dynamic libraries and use those on the
639           target filesystem, except when the architecture and/or the
640           selected binary format does not support shared libraries.
642 config BR2_STATIC_LIBS
643         bool "static only"
644         help
645           Build and use only static libraries. No shared libraries will
646           be instaled on the target. This potentially increases your
647           code size and should only be used if you know what you are
648           doing. Note that some packages may not be available when this
649           option is enabled, due to their need for dynamic library
650           support.
652 config BR2_SHARED_LIBS
653         bool "shared only"
654         depends on BR2_BINFMT_SUPPORTS_SHARED
655         help
656           Build and use only shared libraries. This is the recommended
657           solution as it saves space and build time.
659 config BR2_SHARED_STATIC_LIBS
660         bool "both static and shared"
661         depends on BR2_BINFMT_SUPPORTS_SHARED
662         help
663           Build both shared and static libraries, but link executables
664           dynamically. While building both shared and static libraries
665           take more time and more disk space, having static libraries
666           may be useful to link some of the applications statically.
668 endchoice
671 config BR2_PACKAGE_OVERRIDE_FILE
672         string "location of a package override file"
673         default "$(CONFIG_DIR)/local.mk"
674         help
675           A package override file is a short makefile that contains
676           variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
677           allows to tell Buildroot to use an existing directory as the
678           source directory for a particular package. See the Buildroot
679           documentation for more details on this feature.
681 config BR2_GLOBAL_PATCH_DIR
682         string "global patch directories"
683         help
684           You may specify a space separated list of one or more
685           directories containing global package patches. For a specific
686           version <packageversion> of a specific package <packagename>,
687           patches are applied as follows:
689           First, the default Buildroot patch set for the package is
690           applied from the package's directory in Buildroot.
692           Then for every directory - <global-patch-dir> - that exists in
693           BR2_GLOBAL_PATCH_DIR, if the directory
694           <global-patch-dir>/<packagename>/<packageversion>/ exists,
695           then all *.patch files in this directory will be applied.
697           Otherwise, if the directory <global-patch-dir>/<packagename>
698           exists, then all *.patch files in the directory will be
699           applied.
701 menu "Advanced"
703 config BR2_COMPILER_PARANOID_UNSAFE_PATH
704         bool "paranoid check of library/header paths"
705         default y
706         help
707           By default, when this option is disabled, when the Buildroot
708           cross-compiler will encounter an unsafe library or header path
709           (such as /usr/include, or /usr/lib), the compiler will display
710           a warning.
712           By enabling this option, this warning is turned into an error,
713           which will completely abort the build when such unsafe paths
714           are encountered.
716           Note that this mechanism is available for both the internal
717           toolchain (through the toolchain wrapper and binutils patches)
718           and external toolchain backends (through the toolchain wrapper).
720 endmenu
722 endmenu
724 source "toolchain/Config.in"
726 source "system/Config.in"
728 source "linux/Config.in"
730 source "package/Config.in"
732 source "fs/Config.in"
734 source "boot/Config.in"
736 source "package/Config.in.host"
738 source "Config.in.legacy"
740 menu "User-provided options"
741         depends on BR2_EXTERNAL != "support/dummy-external"
743 source "$BR2_EXTERNAL/Config.in"
745 endmenu