]> Git Repo - buildroot-mgba.git/blobdiff - Config.in
mjpegtools: add optional support for png/sdl/sdl_gfx/X11/gtk2
[buildroot-mgba.git] / Config.in
index bcf9feb10544203fb53f3989887df40797f48b2f..f5b6c7346b6acbf7fbc20f67d685a17c5a04a9df 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -1,6 +1,6 @@
 #
 
-mainmenu "Buildroot2 Configuration"
+mainmenu "Buildroot $BR2_VERSION Configuration"
 
 config BR2_HAVE_DOT_CONFIG
        bool
@@ -8,10 +8,44 @@ config BR2_HAVE_DOT_CONFIG
 
 config BR2_VERSION
        string
-       default "2010.08-rc1"
+       option env="BR2_VERSION_FULL"
 
-source "target/Config.in.arch"
-source "target/device/Config.in"
+config BR2_HOSTARCH
+       string
+       option env="HOSTARCH"
+
+config BR2_EXTERNAL
+       string
+       option env="BR2_EXTERNAL"
+
+# Hidden boolean selected by packages in need of Java in order to build
+# (example: xbmc)
+config BR2_NEEDS_HOST_JAVA
+       bool
+
+# Hidden boolean selected by packages in need of javac in order to build
+# (example: classpath)
+config BR2_NEEDS_HOST_JAVAC
+       bool
+
+# Hidden boolean selected by packages in need of jar in order to build
+# (example: classpath)
+config BR2_NEEDS_HOST_JAR
+       bool
+
+# Hidden boolean selected by pre-built packages for x86, when they
+# need to run on x86-64 machines (example: pre-built external
+# toolchains, binary tools like SAM-BA, etc.).
+config BR2_HOSTARCH_NEEDS_IA32_LIBS
+       bool
+
+# Hidden boolean selected by packages that need to build 32 bits
+# binaries with the host compiler, even on 64 bits build machines (e.g
+# bootloaders).
+config BR2_HOSTARCH_NEEDS_IA32_COMPILER
+       bool
+
+source "arch/Config.in"
 
 menu "Build options"
 
@@ -19,27 +53,39 @@ menu "Commands"
 
 config BR2_WGET
        string "Wget command"
-       default "wget --passive-ftp -nd"
+       default "wget --passive-ftp -nd -t 3"
+
+config BR2_SVN
+       string "Subversion (svn) command"
+       default "svn"
 
-config BR2_SVN_CO
-       string "Subversion (svn) command to download source tree"
-       default "svn co"
+config BR2_BZR
+       string "Bazaar (bzr) command"
+       default "bzr"
 
-config BR2_SVN_UP
-       string "Subversion (svn) command to update source tree"
-       default "svn up"
+config BR2_GIT
+       string "Git command"
+       default "git"
 
-config BR2_BZR_CO
-       string "Bazaar (bzr) command to download source tree"
-       default "bzr co"
+config BR2_CVS
+       string "CVS command"
+       default "cvs"
 
-config BR2_BZR_UP
-       string "Bazaar (bzr) command to update source tree"
-       default "bzr up"
+config BR2_LOCALFILES
+       string "Local files retrieval command"
+       default "cp"
 
-config BR2_GIT
-       string "Git command to download source tree"
-       default "git clone"
+config BR2_SCP
+       string "Secure copy (scp) command"
+       default "scp"
+
+config BR2_SSH
+       string "Secure shell (ssh) command"
+       default "ssh"
+
+config BR2_HG
+       string "Mercurial (hg) command"
+       default "hg"
 
 config BR2_ZCAT
        string "zcat command"
@@ -61,6 +107,13 @@ config BR2_BZCAT
          Default is "bzcat"
          Other possible values include "bunzip2 -c" or "bzip2 -d -c".
 
+config BR2_XZCAT
+       string "xzcat command"
+       default "xzcat"
+       help
+         Command to be used to extract a xz'ed file to stdout.
+         Default is "xzcat"
+
 config BR2_TAR_OPTIONS
        string "Tar options"
        default ""
@@ -71,48 +124,207 @@ config BR2_TAR_OPTIONS
 
 endmenu
 
+config BR2_DEFCONFIG_FROM_ENV
+       string
+       option env="BR2_DEFCONFIG"
+
+config BR2_DEFCONFIG
+       string "Location to save buildroot config"
+       default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
+       default "$(CONFIG_DIR)/defconfig"
+       help
+         When running 'make savedefconfig', the defconfig file will be saved
+         in this location.
+
 config BR2_DL_DIR
        string "Download dir"
        default "$(TOPDIR)/dl"
        help
          Directory to store all the source files that we need to fetch.
-         If the Linux shell environment has defined the BUILDROOT_DL_DIR
+         If the Linux shell environment has defined the BR2_DL_DIR
          environment variable, then this overrides this configuration item.
 
          The default is $(TOPDIR)/dl
 
-config BR2_STAGING_DIR
-       string "Toolchain and header file location?"
-       default "$(BASE_DIR)/staging"
+config BR2_HOST_DIR
+       string "Host dir"
+       default "$(BASE_DIR)/host"
+       help
+         Directory to store all the binary files that are built for the host.
+         This includes the cross compilation toolchain when building the
+         internal buildroot toolchain.
+
+         The default is $(BASE_DIR)/host
+
+menu "Mirrors and Download locations"
+
+config BR2_PRIMARY_SITE
+       string "Primary download site"
+       default ""
+       help
+         Primary site to download from. If this option is set then buildroot
+         will try to download package source first from this site and try the
+         default if the file is not found.
+         Valid URIs are URIs recognized by $(WGET) and scp URIs of the form
+         scp://[user@]host:path.
+         NOTE: This works for all packages using the central package
+         infrastructure (generic, autotools, cmake, ...)
+
+config BR2_PRIMARY_SITE_ONLY
+       bool "Only allow downloads from primary download site"
+       depends on BR2_PRIMARY_SITE != ""
+       help
+         If this option is enabled, downloads will only be attempted
+         from the primary download site. Other locations, like the
+         package's official download location or the backup download
+         site, will not be considered. Therefore, if the package is
+         not present on the primary site, the download fails.
+
+         This is useful for project developers who want to ensure
+         that the project can be built even if the upstream tarball
+         locations disappear.
+
+if !BR2_PRIMARY_SITE_ONLY
+
+config BR2_BACKUP_SITE
+       string "Backup download site"
+       default "http://sources.buildroot.net"
+       help
+         Backup site to download from. If this option is set then buildroot
+         will fall back to download package sources from here if the
+         normal location fails.
+
+config BR2_KERNEL_MIRROR
+       string "Kernel.org mirror"
+       default "https://www.kernel.org/pub"
+       help
+         kernel.org is mirrored on a number of servers around the world.
+         The following allows you to select your preferred mirror.
+
+         Have a look on the kernel.org site for a list of mirrors, then enter
+         the URL to the base directory.  Examples:
+
+            http://www.XX.kernel.org/pub (XX = country code)
+            http://mirror.aarnet.edu.au/pub/ftp.kernel.org
+
+config BR2_GNU_MIRROR
+       string "GNU Software mirror"
+       default "http://ftp.gnu.org/pub/gnu"
+       help
+         GNU has multiple software mirrors scattered around the world.
+         The following allows you to select your preferred mirror.
+
+         Have a look on the gnu.org site for a list of mirrors, then enter
+         the URL to the base directory.  Examples:
+
+            http://ftp.gnu.org/pub/gnu
+            http://mirror.aarnet.edu.au/pub/gnu
+
+endif
+
+config BR2_LUAROCKS_MIRROR
+       string "LuaRocks mirror"
+       default "http://rocks.moonscript.org"
+       help
+         LuaRocks repository.
+
+         See http://luarocks.org
+
+config BR2_CPAN_MIRROR
+       string "CPAN mirror (Perl packages)"
+       default "http://cpan.metacpan.org"
        help
-         This is the location where the toolchain will be installed.  The
-         toolchain will not work if it is moved from this location.
-         Therefore, if you wish to package up a uClibc toolchain, it is
-         important that is is set to the final location where the toolchain
-         will be used.
+         CPAN (Comprehensive Perl Archive Network) is a repository
+         of Perl packages. It has multiple software mirrors scattered
+         around the world. This option allows you to select a mirror.
 
-         Most people will leave this set to the default value of
-         "$(BASE_DIR)/staging".
+         The list of mirrors is available at:
+         http://search.cpan.org/mirror
 
-source "target/device/Config.in.mirrors"
+endmenu
 
 config BR2_JLEVEL
-       int "Number of jobs to run simultaneously"
-       default "2"
+       int "Number of jobs to run simultaneously (0 for auto)"
+       default "0"
        help
-         Number of jobs to run simultaneously
+         Number of jobs to run simultaneously.  If 0, determine
+         automatically according to number of CPUs on the host
+         system.
+
+config BR2_CCACHE
+       bool "Enable compiler cache"
+       help
+         This option will enable the use of ccache, a compiler
+         cache. It will cache the result of previous builds to speed
+         up future builds. By default, the cache is stored in
+         $HOME/.buildroot-ccache.
+
+         Note that Buildroot does not try to invalidate the cache
+         contents when the compiler changes in an incompatible
+         way. Therefore, if you make a change to the compiler version
+         and/or configuration, you are responsible for purging the
+         ccache cache by removing the $HOME/.buildroot-ccache
+         directory.
+
+if BR2_CCACHE
+
+config BR2_CCACHE_DIR
+       string "Compiler cache location"
+       default "$(HOME)/.buildroot-ccache"
+       help
+         Where ccache should store cached files.
+
+config BR2_CCACHE_INITIAL_SETUP
+       string "Compiler cache initial setup"
+       help
+         Initial ccache settings to apply, such as --max-files or --max-size.
+
+         For example, if your project is known to require more space than the
+         default max cache size, then you might want to increase the cache size
+         to a suitable amount using the -M (--max-size) option.
+
+         The string you specify here is passed verbatim to ccache.  Refer to
+         ccache documentation for more details.
+
+         These initial settings are applied after ccache has been compiled.
+
+endif
 
 config BR2_DEPRECATED
-       bool "Show packages that are deprecated or obsolete"
+       bool "Show options and packages that are deprecated or obsolete"
        help
-         This option hides outdated/obsolete versions of packages.
+         This option shows outdated/obsolete versions of packages and
+         options that are otherwise hidden.
+
+if BR2_DEPRECATED
+
+config BR2_DEPRECATED_SINCE_2014_02
+       bool
+       default y
+
+config BR2_DEPRECATED_SINCE_2014_05
+       bool
+       default y
+
+config BR2_DEPRECATED_SINCE_2014_08
+       bool
+       default y
+
+config BR2_DEPRECATED_SINCE_2015_02
+       bool
+       default y
+
+endif
 
 config BR2_ENABLE_DEBUG
        bool "build packages with debugging symbols"
-       select BR2_PACKAGE_GDB_SERVER
        help
-         Build packages with debugging symbols
-         enabled
+         Build packages with debugging symbols enabled. All libraries
+         and binaries in the 'staging' directory will have debugging
+         symbols, which allows remote debugging even if libraries and
+         binaries are stripped on the target. Whether libraries and
+         binaries are stripped on the target is controlled by the
+         BR2_STRIP_* options below.
 
 if BR2_ENABLE_DEBUG
 choice
@@ -145,34 +357,58 @@ endchoice
 endif
 
 choice
-       prompt "strip"
+       prompt "strip command for binaries on target"
        default BR2_STRIP_strip
-       help
-         Select whether to strip binaries and libraries for the target
-         or not.
-         strip   is the normal strip command
-         sstrip  is a strip that discards more than the normal strip
-         none    do not strip (only for debugging!)
 
 config BR2_STRIP_strip
        bool "strip"
-       depends on !BR2_ENABLE_DEBUG && !BR2_ELF2FLT
+       depends on !BR2_PACKAGE_HOST_ELF2FLT
        help
-         strip   is the normal strip command
+         Binaries and libraries in the target filesystem will be
+         stripped using the normal 'strip' command. This allows to
+         save space, mainly by removing debugging symbols. Debugging
+         symbols on the target are needed for native debugging, but
+         not when remote debugging is used.
 
 config BR2_STRIP_sstrip
        bool "sstrip"
        select BR2_PACKAGE_SSTRIP_HOST
-       depends on !BR2_ENABLE_DEBUG && !BR2_ELF2FLT
+       depends on !BR2_PACKAGE_HOST_ELF2FLT
+       depends on BR2_DEPRECATED_SINCE_2014_05
        help
-         sstrip  is a strip that discards more than the normal strip
+         Binaries and libraries in the target filesystem will be
+         stripped using the 'sstrip' command, which strips a little
+         bit more than the traditional 'strip' command. This allows to
+         save space, mainly by removing debugging symbols. Debugging
+         symbols on the target are needed for native debugging, but
+         not when remote debugging is used.
 
 config BR2_STRIP_none
        bool "none"
        help
-         none    do not strip (only for debugging!)
+         Do not strip binaries and libraries in the target
+         filesystem.
 endchoice
 
+config BR2_STRIP_EXCLUDE_FILES
+       string "executables that should not be stripped"
+       depends on !BR2_STRIP_none
+       default ""
+       help
+         You may specify a space-separated list of binaries and libraries
+         here that should not be stripped on the target.
+
+config BR2_STRIP_EXCLUDE_DIRS
+       string "directories that should be skipped when stripping"
+       depends on !BR2_STRIP_none
+       default ""
+       help
+         You may specify a space-separated list of directories that should
+         be skipped when stripping. Binaries and libraries in these
+         directories will not be touched.
+         The directories should be specified relative to the target directory,
+         without leading slash.
+
 choice
        prompt "gcc optimization level"
        default BR2_OPTIMIZE_S
@@ -239,40 +475,143 @@ config BR2_OPTIMIZE_S
 
 endchoice
 
-config BR2_PREFER_STATIC_LIB
-       bool "prefer static libraries"
+config BR2_GOOGLE_BREAKPAD_ENABLE
+       bool "Enable google-breakpad support"
+       select BR2_PACKAGE_GOOGLE_BREAKPAD
+       depends on BR2_INSTALL_LIBSTDCPP
+       depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
        help
-         Where possible, build and use static libraries for the target.
-         This potentially increases your code size and should only be
-         used if you know what you do.
+         This option will enable the use of google breakpad, a
+         library and tool suite that allows you to distribute an
+         application to users with compiler-provided debugging
+         information removed, record crashes in compact "minidump"
+         files, send them back to your server and produce C and C++
+         stack traces from these minidumps.  Breakpad can also write
+         minidumps on request for programs that have not crashed.
+
+if BR2_GOOGLE_BREAKPAD_ENABLE
+
+config BR2_GOOGLE_BREAKPAD_INCLUDE_FILES
+       string "List of executables and libraries to extract symbols from"
+       default ""
+       help
+         You may specify a space-separated list of binaries and
+         libraries with full paths relative to $(TARGET_DIR) of which
+         debug symbols will be dumped for further use with google
+         breakpad.
+
+         A directory structure that can be used by minidump-stackwalk
+         will be created at:
+
+         $(STAGING_DIR)/usr/share/google-breakpad-symbols
+
+endif
+
+config BR2_ENABLE_SSP
+       bool "build code with Stack Smashing Protection"
+       depends on BR2_TOOLCHAIN_HAS_SSP
+       help
+         Enable stack smashing protection support using GCCs
+         -fstack-protector-all option.
+
+         See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
+         for details.
+
+         Note that this requires the toolchain to have SSP
+         support. This is always the case for glibc and eglibc
+         toolchain, but is optional in uClibc toolchains.
+
+comment "enabling Stack Smashing Protection requires support in the toolchain"
+       depends on !BR2_TOOLCHAIN_HAS_SSP
+
+choice
+       bool "libraries"
+       default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
+       default BR2_STATIC_LIBS if !BR2_BINFMT_SUPPORTS_SHARED
+       help
+         Select the type of libraries you want to use on the target.
+
          The default is to build dynamic libraries and use those on
-         the target filesystem.
+         the target filesystem, except when the architecture and/or
+         the selected binary format does not support shared
+         libraries.
 
-         WARNING: This is highly experimental at the moment.
+config BR2_STATIC_LIBS
+       bool "static only"
+       help
+         Build and use only static libraries. No shared libraries
+         will be instaled on the target. This potentially increases
+         your code size and should only be used if you know what you
+         are doing. Note that some packages may not be available when
+         this option is enabled, due to their need for dynamic
+         library support.
+
+config BR2_SHARED_LIBS
+       bool "shared only"
+       depends on BR2_BINFMT_SUPPORTS_SHARED
+       help
+         Build and use only shared libraries. This is the recommended
+         solution as it saves space and build time.
 
-config BR2_HAVE_DOCUMENTATION
-       bool "documentation on the target"
+config BR2_SHARED_STATIC_LIBS
+       bool "both static and shared"
+       depends on BR2_BINFMT_SUPPORTS_SHARED
        help
-         Install the documentation, including manual pages and info
-         pages, on the target.
-         If you say n here, your target will not contain any
-         documentation.
+         Build both shared and static libraries, but link executables
+         dynamically. While building both shared and static libraries
+         take more time and more disk space, having static libraries
+         may be useful to link some of the applications statically.
+
+endchoice
 
-config BR2_HAVE_DEVFILES
-       bool "development files in target filesystem"
+
+config BR2_PACKAGE_OVERRIDE_FILE
+       string "location of a package override file"
+       default "$(CONFIG_DIR)/local.mk"
+       help
+         A package override file is a short makefile that contains
+         variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
+         which allows to tell Buildroot to use an existing directory
+         as the source directory for a particular package. See the
+         Buildroot documentation for more details on this feature.
+
+config BR2_GLOBAL_PATCH_DIR
+       string "global patch directories"
        help
-         Install headers and static libraries in the
-         target filesystem
+         You may specify a space separated list of one or more directories
+         containing global package patches. For a specific version
+         <packageversion> of a specific package <packagename>, patches are
+         applied as follows:
+
+         First, the default Buildroot patch set for the package is applied
+         from the package's directory in Buildroot.
+
+         Then for every directory - <global-patch-dir> - that exists in
+         BR2_GLOBAL_PATCH_DIR, if the directory
+         <global-patch-dir>/<packagename>/<packageversion>/ exists, then all
+         *.patch files in this directory will be applied.
+
+         Otherwise, if the directory <global-patch-dir>/<packagename> exists,
+         then all *.patch files in the directory will be applied.
 
 menu "Advanced"
 
-config BR2_CONFIG_CACHE
-       bool "Use a central configure cache file"
-       default y
+config BR2_COMPILER_PARANOID_UNSAFE_PATH
+       bool "paranoid check of library/header paths"
        help
-         This determines if a central config cache is used by
-         packages, reducing the configure time for packages as each
-         one caches its findings.
+         By default, when this option is disabled, when the Buildroot
+         cross-compiler will encounter an unsafe library or header
+         path (such as /usr/include, or /usr/lib), the compiler will
+         display a warning.
+
+         By enabling this option, this warning is turned into an
+         error, which will completely abort the build when such
+         unsafe paths are encountered.
+
+         Note that this mechanism is available for both the internal
+         toolchain (through gcc and binutils patches) and external
+         toolchain backends (through the external toolchain wrapper).
 
 endmenu
 
@@ -280,10 +619,23 @@ endmenu
 
 source "toolchain/Config.in"
 
+source "system/Config.in"
+
+source "linux/Config.in"
+
 source "package/Config.in"
 
 source "fs/Config.in"
 
 source "boot/Config.in"
 
-source "linux/Config.in"
+source "package/Config.in.host"
+
+source "Config.in.legacy"
+
+menu "User-provided options"
+       depends on BR2_EXTERNAL != "support/dummy-external"
+
+source "$BR2_EXTERNAL/Config.in"
+
+endmenu
This page took 0.045876 seconds and 4 git commands to generate.