]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blobdiff - Config.in
libpciaccess: add hash for license file
[coffee/buildroot.git] / Config.in
index e7e5c2d077e8d9b0e6aff18c74444df1321aefd7..6b5b2b043c88a11750fce0772a44e58f886b89eb 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -62,6 +62,11 @@ config BR2_HOST_GCC_AT_LEAST_7
        default y if BR2_HOST_GCC_VERSION = "7"
        select BR2_HOST_GCC_AT_LEAST_6
 
+config BR2_HOST_GCC_AT_LEAST_8
+       bool
+       default y if BR2_HOST_GCC_VERSION = "8"
+       select BR2_HOST_GCC_AT_LEAST_7
+
 # Hidden boolean selected by packages in need of Java in order to build
 # (example: kodi)
 config BR2_NEEDS_HOST_JAVA
@@ -175,8 +180,8 @@ config BR2_TAR_OPTIONS
        default ""
        help
          Options to pass to tar when extracting the sources.
-         E.g. " -v --exclude='*.svn*'" to exclude all .svn internal files
-         and to be verbose.
+         E.g. " -v --exclude='*.svn*'" to exclude all .svn internal
+         files and to be verbose.
 
 endmenu
 
@@ -200,6 +205,9 @@ config BR2_DL_DIR
          If the Linux shell environment has defined the BR2_DL_DIR
          environment variable, then this overrides this configuration
          item.
+         The directory is organized with a subdirectory for each
+         package. Each package has its own $(LIBFOO_DL_DIR) variable
+         that can be used to find the correct path.
 
          The default is $(TOPDIR)/dl
 
@@ -332,6 +340,9 @@ config BR2_CCACHE_DIR
        default "$(HOME)/.buildroot-ccache"
        help
          Where ccache should store cached files.
+         If the Linux shell environment has defined the BR2_CCACHE_DIR
+         environment variable, then this overrides this configuration
+         item.
 
 config BR2_CCACHE_INITIAL_SETUP
        string "Compiler cache initial setup"
@@ -421,8 +432,8 @@ endif
 
 config BR2_STRIP_strip
        bool "strip target binaries"
-       depends on !BR2_PACKAGE_HOST_ELF2FLT
        default y
+       depends on !BR2_PACKAGE_HOST_ELF2FLT
        help
          Binaries and libraries in the target filesystem will be
          stripped using the normal 'strip' command. This allows to save
@@ -432,16 +443,16 @@ config BR2_STRIP_strip
 
 config BR2_STRIP_EXCLUDE_FILES
        string "executables that should not be stripped"
-       depends on BR2_STRIP_strip
        default ""
+       depends on BR2_STRIP_strip
        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_strip
        default ""
+       depends on BR2_STRIP_strip
        help
          You may specify a space-separated list of directories that
          should be skipped when stripping. Binaries and libraries in
@@ -527,11 +538,21 @@ config BR2_OPTIMIZE_S
          -ftree-vect-loop-version
          This is the default.
 
+config BR2_OPTIMIZE_FAST
+       bool "optimize for fast"
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+       help
+         Optimize for fast. Disregard strict standards
+         compliance. -Ofast enables all -O3 optimizations. It also
+         enables optimizations that are not valid for all
+         standard-compliant programs. It turns on -ffast-math and the
+         Fortran-specific -fstack-arrays, unless -fmax-stack-var-size
+         is specified, and -fno-protect-parens.
+
 endchoice
 
 config BR2_GOOGLE_BREAKPAD_ENABLE
        bool "Enable google-breakpad support"
-       select BR2_PACKAGE_GOOGLE_BREAKPAD
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_HOST_GCC_AT_LEAST_4_8 # C++11
        depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
@@ -540,6 +561,7 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
        depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
        depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
        depends on BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS
+       select BR2_PACKAGE_GOOGLE_BREAKPAD
        help
          This option will enable the use of google breakpad, a library
          and tool suite that allows you to distribute an application to
@@ -606,7 +628,6 @@ config BR2_SHARED_STATIC_LIBS
 
 endchoice
 
-
 config BR2_PACKAGE_OVERRIDE_FILE
        string "location of a package override file"
        default "$(CONFIG_DIR)/local.mk"
@@ -654,7 +675,8 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
 
          Note that this mechanism is available for both the internal
          toolchain (through the toolchain wrapper and binutils patches)
-         and external toolchain backends (through the toolchain wrapper).
+         and external toolchain backends (through the toolchain
+         wrapper).
 
 config BR2_REPRODUCIBLE
        bool "Make the build reproducible (experimental)"
@@ -734,6 +756,76 @@ endchoice
 comment "Stack Smashing Protection needs a toolchain w/ SSP"
        depends on !BR2_TOOLCHAIN_HAS_SSP
 
+choice
+       bool "RELRO Protection"
+       depends on BR2_SHARED_LIBS
+       help
+         Enable a link-time protection know as RELRO (RELocation Read
+         Only) which helps to protect from certain type of exploitation
+         techniques altering the content of some ELF sections.
+
+config BR2_RELRO_NONE
+       bool "None"
+       help
+         Disables Relocation link-time protections.
+
+config BR2_RELRO_PARTIAL
+       bool "Partial"
+       help
+         This option makes the dynamic section not writeable after
+         initialization (with almost no performance penalty).
+
+config BR2_RELRO_FULL
+       bool "Full"
+       help
+         This option includes the partial configuration, but also marks
+         the GOT as read-only at the cost of initialization time during
+         program loading, i.e every time an executable is started.
+
+endchoice
+
+comment "RELocation Read Only (RELRO) needs shared libraries"
+       depends on !BR2_SHARED_LIBS
+
+choice
+       bool "Buffer-overflow Detection (FORTIFY_SOURCE)"
+       depends on BR2_TOOLCHAIN_USES_GLIBC
+       depends on !BR2_OPTIMIZE_0
+       help
+         Enable the _FORTIFY_SOURCE macro which introduces additional
+         checks to detect buffer-overflows in the following standard
+         library functions: memcpy, mempcpy, memmove, memset, strcpy,
+         stpcpy, strncpy, strcat, strncat, sprintf, vsprintf, snprintf,
+         vsnprintf, gets.
+
+         NOTE: This feature requires an optimization level of s/1/2/3/g
+
+         Support for this feature has been present since GCC 4.x.
+
+config BR2_FORTIFY_SOURCE_NONE
+       bool "None"
+       help
+         Disables additional checks to detect buffer-overflows.
+
+config BR2_FORTIFY_SOURCE_1
+       bool "Conservative"
+       help
+         This option sets _FORTIFY_SOURCE to 1 and only introduces
+         checks that shouldn't change the behavior of conforming
+         programs.  Adds checks at compile-time only.
+
+config BR2_FORTIFY_SOURCE_2
+       bool "Aggressive"
+       help
+         This option sets _FORTIFY_SOURCES to 2 and some more
+         checking is added, but some conforming programs might fail.
+         Also adds checks at run-time (detected buffer overflow
+         terminates the program)
+
+endchoice
+
+comment "Fortify Source needs a glibc toolchain and optimization"
+       depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0)
 endmenu
 
 source "toolchain/Config.in"