string
option env="HOSTARCH"
-config BR2_BUILD_DIR
+config BR2_BASE_DIR
string
- option env="BUILD_DIR"
+ option env="BASE_DIR"
+
+# br2-external paths definitions
+source "$BR2_BASE_DIR/.br2-external.in.paths"
# Hidden config symbols for packages to check system gcc version
config BR2_HOST_GCC_VERSION
string
option env="HOST_GCC_VERSION"
-config BR2_HOST_GCC_AT_LEAST_4_5
- bool
- default y if BR2_HOST_GCC_VERSION = "4 5"
-
-config BR2_HOST_GCC_AT_LEAST_4_6
- bool
- default y if BR2_HOST_GCC_VERSION = "4 6"
- select BR2_HOST_GCC_AT_LEAST_4_5
-
-config BR2_HOST_GCC_AT_LEAST_4_7
- bool
- default y if BR2_HOST_GCC_VERSION = "4 7"
- select BR2_HOST_GCC_AT_LEAST_4_6
-
-config BR2_HOST_GCC_AT_LEAST_4_8
- bool
- default y if BR2_HOST_GCC_VERSION = "4 8"
- select BR2_HOST_GCC_AT_LEAST_4_7
-
config BR2_HOST_GCC_AT_LEAST_4_9
bool
default y if BR2_HOST_GCC_VERSION = "4 9"
- select BR2_HOST_GCC_AT_LEAST_4_8
config BR2_HOST_GCC_AT_LEAST_5
bool
default y if BR2_HOST_GCC_VERSION = "6"
select BR2_HOST_GCC_AT_LEAST_5
-# Hidden boolean selected by packages in need of Java in order to build
-# (example: xbmc)
-config BR2_NEEDS_HOST_JAVA
+config BR2_HOST_GCC_AT_LEAST_7
bool
+ default y if BR2_HOST_GCC_VERSION = "7"
+ select BR2_HOST_GCC_AT_LEAST_6
-# Hidden boolean selected by packages in need of javac in order to build
-# (example: classpath)
-config BR2_NEEDS_HOST_JAVAC
+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 jar in order to build
-# (example: classpath)
-config BR2_NEEDS_HOST_JAR
+config BR2_HOST_GCC_AT_LEAST_9
+ bool
+ default y if BR2_HOST_GCC_VERSION = "9"
+ select BR2_HOST_GCC_AT_LEAST_8
+
+config BR2_HOST_GCC_AT_LEAST_10
+ bool
+ default y if BR2_HOST_GCC_VERSION = "10"
+ select BR2_HOST_GCC_AT_LEAST_9
+
+config BR2_HOST_GCC_AT_LEAST_11
+ bool
+ default y if BR2_HOST_GCC_VERSION = "11"
+ select BR2_HOST_GCC_AT_LEAST_10
+
+# When adding new entries above, be sure to update
+# the HOSTCC_MAX_VERSION variable in the Makefile.
+
+# Hidden boolean selected by packages in need of Java in order to build
+# (example: kodi)
+config BR2_NEEDS_HOST_JAVA
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.).
+# toolchains, binary tools, etc.).
config BR2_HOSTARCH_NEEDS_IA32_LIBS
bool
config BR2_HOSTARCH_NEEDS_IA32_COMPILER
bool
+# Hidden boolean selected by packages that need the host to have an
+# UTF8 locale.
+config BR2_NEEDS_HOST_UTF8_LOCALE
+ bool
+
+# Hidden boolean selected by packages that need the host to have
+# support for building gcc plugins
+config BR2_NEEDS_HOST_GCC_PLUGIN_SUPPORT
+ bool
+
source "arch/Config.in"
+source "toolchain/Config.in"
+
menu "Build options"
menu "Commands"
+config BR2_CURL
+ string "Curl command"
+ default "curl -q --ftp-pasv --retry 3"
+
config BR2_WGET
string "Wget command"
- default "wget --passive-ftp -nd -t 3"
+ default "wget -nd -t 3"
config BR2_SVN
string "Subversion (svn) command"
- default "svn"
+ default "svn --non-interactive"
config BR2_BZR
string "Bazaar (bzr) command"
string "Secure copy (scp) command"
default "scp"
-config BR2_SSH
- string "Secure shell (ssh) command"
- default "ssh"
+config BR2_SFTP
+ string "Secure file transfer (sftp) command"
+ default "sftp"
config BR2_HG
string "Mercurial (hg) command"
Command to be used to extract a xz'ed file to stdout.
Default is "xzcat"
+config BR2_LZCAT
+ string "lzcat command"
+ default "lzip -d -c"
+ help
+ Command to be used to extract a lzip'ed file to stdout.
+ Default is "lzip -d -c"
+
+config BR2_ZSTDCAT
+ string "zstdcat command"
+ default "zstdcat"
+ help
+ Command to be used to extract a zstd'ed file to stdout.
+ Default is "zstdcat"
+
config BR2_TAR_OPTIONS
string "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
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
config BR2_BACKUP_SITE
string "Backup download site"
- default "http://sources.buildroot.net"
+ default "https://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
config BR2_CPAN_MIRROR
string "CPAN mirror (Perl packages)"
- default "http://cpan.metacpan.org"
+ default "https://cpan.metacpan.org"
help
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.
The list of mirrors is available at:
- http://search.cpan.org/mirror
+ http://mirrors.cpan.org/ (tabular)
+ http://mirrors.cpan.org/map.html (clickable world map)
endif
Number of jobs to run simultaneously. If 0, determine
automatically according to number of CPUs on the host system.
+comment "ccache needs a host gcc >= 8"
+ depends on !BR2_HOST_GCC_AT_LEAST_8
+
config BR2_CCACHE
bool "Enable compiler cache"
+ depends on BR2_HOST_GCC_AT_LEAST_8
help
This option will enable the use of ccache, a compiler cache.
It will cache the result of previous builds to speed up future
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"
endchoice
endif
-choice
- prompt "strip command for binaries on target"
- default BR2_STRIP_strip
+config BR2_ENABLE_RUNTIME_DEBUG
+ bool "build packages with runtime debugging info"
+ help
+ Some packages may have runtime assertions, extra traces, and
+ similar runtime elements that can help debugging. However,
+ these elements may negatively influence performance so should
+ normally not be enabled on production systems.
+
+ Enable this option to enable such runtime debugging.
+
+ Note: disabling this option is not a guarantee that all
+ packages effectively removed these runtime debugging elements.
config BR2_STRIP_strip
- bool "strip"
- depends on !BR2_PACKAGE_HOST_ELF2FLT
+ bool "strip target binaries"
+ default y
+ depends on BR2_BINFMT_ELF
help
Binaries and libraries in the target filesystem will be
stripped using the normal 'strip' command. This allows to save
on the target are needed for native debugging, but not when
remote debugging is used.
-config BR2_STRIP_none
- bool "none"
- help
- 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 ""
+ 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_none
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
choice
prompt "gcc optimization level"
- default BR2_OPTIMIZE_S
+ default BR2_OPTIMIZE_2
help
Set the optimization level for gcc
config BR2_OPTIMIZE_0
bool "optimization level 0"
help
- Do not optimize. This is the default.
+ Do not optimize.
config BR2_OPTIMIZE_1
bool "optimization level 1"
-falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
note the warning under -fgcse about invoking -O2 on programs
that use computed gotos.
+ This is the default.
config BR2_OPTIMIZE_3
bool "optimization level 3"
-freorder-blocks-and-partition -fprefetch-loop-arrays
-ftree-vect-loop-version
+config BR2_OPTIMIZE_FAST
+ bool "optimize for fast (may break packages!)"
+ 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, so be careful, as it may break
+ some packages. 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_ENABLE_LTO
+ bool "build packages with link-time optimisation"
+ help
+ Enable the link-time optimisation (LTO) option when building
+ packages. Link-time optimisation re-runs optimisations at
+ link time, which allows the compiler to do interprocedural
+ analysis across compilation units and thus come with better
+ results: smaller size and better performance.
+
+ Note that this analysis is limited to statically linked
+ object files and libraries.
+
+ This option may significantly increase build times,
+ sometimes 5 times longer, with only limited gains.
+
+ At this time, this option only enables LTO in packages that
+ have an explicit configuration option for it. Other packages
+ always enable LTO, but most packages never enable LTO.
+
config BR2_GOOGLE_BREAKPAD_ENABLE
bool "Enable google-breakpad support"
- select BR2_PACKAGE_GOOGLE_BREAKPAD
depends on BR2_INSTALL_LIBSTDCPP
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 # C++17
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on (BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC)
+ depends on BR2_TOOLCHAIN_USES_GLIBC
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
endif
-choice
- bool "build code with Stack Smashing Protection"
- default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
- depends on BR2_TOOLCHAIN_HAS_SSP
- help
- Enable stack smashing protection support using GCC's
- -fstack-protector option family.
-
- 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.
-
-config BR2_SSP_NONE
- bool "None"
- help
- Disable stack-smashing protection.
-
-config BR2_SSP_REGULAR
- bool "-fstack-protector"
- help
- Emit extra code to check for buffer overflows, such as stack
- smashing attacks. This is done by adding a guard variable to
- functions with vulnerable objects. This includes functions
- that call alloca, and functions with buffers larger than 8
- bytes. The guards are initialized when a function is entered
- and then checked when the function exits. If a guard check
- fails, an error message is printed and the program exits.
-
-config BR2_SSP_STRONG
- bool "-fstack-protector-strong"
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
- help
- Like -fstack-protector but includes additional functions to be
- protected - those that have local array definitions, or have
- references to local frame addresses.
-
-comment "Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9"
- depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
-
-config BR2_SSP_ALL
- bool "-fstack-protector-all"
- help
- Like -fstack-protector except that all functions are
- protected. This option might have a significant performance
- impact on the compiled binaries.
-
-endchoice
-
-comment "Stack Smashing Protection needs a toolchain w/ SSP"
- depends on !BR2_TOOLCHAIN_HAS_SSP
-
choice
bool "libraries"
default BR2_SHARED_LIBS if BR2_BINFMT_SUPPORTS_SHARED
config BR2_STATIC_LIBS
bool "static only"
+ depends on !BR2_TOOLCHAIN_USES_GLIBC
help
Build and use only static libraries. No shared libraries will
be installed on the target. This potentially increases your
option is enabled, due to their need for dynamic library
support.
+comment "static only needs a toolchain w/ uclibc or musl"
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+
config BR2_SHARED_LIBS
bool "shared only"
depends on BR2_BINFMT_SUPPORTS_SHARED
endchoice
-
config BR2_PACKAGE_OVERRIDE_FILE
string "location of a package override file"
default "$(CONFIG_DIR)/local.mk"
documentation for more details on this feature.
config BR2_GLOBAL_PATCH_DIR
- string "global patch directories"
+ string "global patch and hash directories"
help
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:
+ directories containing global package patches and/or hashes.
+ For a specific version <packageversion> of a specific package
+ <packagename>, patches are looked up as follows:
First, the default Buildroot patch set for the package is
applied from the package's directory in Buildroot.
exists, then all *.patch files in the directory will be
applied.
+ The hash files are looked up similarly to the patches.
+
menu "Advanced"
-config BR2_COMPILER_PARANOID_UNSAFE_PATH
- bool "paranoid check of library/header paths"
- default y
+config BR2_FORCE_HOST_BUILD
+ bool "Force the building of host dependencies"
+ help
+ Build all available host dependencies, even if they are
+ already installed on the system.
+
+ This option can be used to ensure that the download cache of
+ source archives for packages remain consistent between
+ different build hosts.
+
+ This option will increase build time.
+
+config BR2_DOWNLOAD_FORCE_CHECK_HASHES
+ bool "Force all downloads to have a valid hash"
help
- 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.
+ Say 'y' here to enforce downloads to have at least one valid
+ hash (and of course, that all hashes be valid).
- By enabling this option, this warning is turned into an error,
- which will completely abort the build when such unsafe paths
- are encountered.
+ By default, Buildroot checks hashes of all packages
+ downloaded, except those for which a custom version is
+ used.
- 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).
+ With this option turned on, Buildroot will check hashes of
+ all packages, including those that use a custom version. In
+ order to provide hashes for such packages, place additional
+ hash files in BR2_GLOBAL_PATCH_DIR directories.
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
+ # SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
help
This option will remove all sources of non-reproducibility
from the build process. For a given Buildroot configuration,
This is labeled as an experimental feature, as not all
packages behave properly to ensure reproducibility.
-endmenu
+config BR2_PER_PACKAGE_DIRECTORIES
+ bool "Use per-package directories (experimental)"
+ help
+ This option will change the build process of Buildroot
+ package to use per-package target and host directories.
+
+ This is useful for two related purposes:
+
+ - Cleanly isolate the build of each package, so that a
+ given package only "sees" the dependencies it has
+ explicitly expressed, and not other packages that may
+ have by chance been built before.
+
+ - Enable top-level parallel build.
+
+ This is labeled as an experimental feature, as not all
+ packages behave properly with per-package directories.
endmenu
-source "toolchain/Config.in"
+config BR2_TIME_BITS_64
+ bool "Build Y2038-ready code"
+ depends on BR2_TOOLCHAIN_USES_GLIBC && !BR2_ARCH_IS_64
+ help
+ This option will pass -D_TIME_BITS=64 in the compiler flags
+ to ensure the glibc C library uses a 64-bit representation
+ for time_t and other time types, which ensures that
+ programs/libraries will correctly handle time past year
+ 2038.
+
+ This option only has an effect with glibc >= 2.34, as
+ earlier glibc versions did not have support for 64-bit
+ time_t.
+
+comment "Security Hardening Options"
+
+config BR2_PIC_PIE_ARCH_SUPPORTS
+ bool
+ default y
+ # Microblaze glibc toolchains don't work with PIC/PIE enabled
+ depends on !BR2_microblaze
+ # Nios2 toolchains produce non working binaries with -fPIC
+ depends on !BR2_nios2
+
+config BR2_PIC_PIE
+ bool "Build code with PIC/PIE"
+ default y
+ depends on BR2_PIC_PIE_ARCH_SUPPORTS
+ depends on BR2_SHARED_LIBS
+ depends on BR2_TOOLCHAIN_SUPPORTS_PIE
+ help
+ Generate Position-Independent Code (PIC) and link
+ Position-Independent Executables (PIE).
+
+comment "PIC/PIE needs a toolchain w/ PIE"
+ depends on BR2_PIC_PIE_ARCH_SUPPORTS
+ depends on BR2_SHARED_LIBS
+ depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
+
+choice
+ bool "Stack Smashing Protection"
+ default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
+ default BR2_SSP_STRONG if BR2_TOOLCHAIN_HAS_SSP_STRONG
+ default BR2_SSP_REGULAR
+ depends on BR2_TOOLCHAIN_HAS_SSP
+ help
+ Enable stack smashing protection support using GCC's
+ -fstack-protector option family.
+
+ 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.
+
+config BR2_SSP_NONE
+ bool "None"
+ help
+ Disable stack-smashing protection.
+
+config BR2_SSP_REGULAR
+ bool "-fstack-protector"
+ help
+ Emit extra code to check for buffer overflows, such as stack
+ smashing attacks. This is done by adding a guard variable to
+ functions with vulnerable objects. This includes functions
+ that call alloca, and functions with buffers larger than 8
+ bytes. The guards are initialized when a function is entered
+ and then checked when the function exits. If a guard check
+ fails, an error message is printed and the program exits.
+
+config BR2_SSP_STRONG
+ bool "-fstack-protector-strong"
+ depends on BR2_TOOLCHAIN_HAS_SSP_STRONG
+ help
+ Like -fstack-protector but includes additional functions to be
+ protected - those that have local array definitions, or have
+ references to local frame addresses.
+
+ -fstack-protector-strong officially appeared in gcc 4.9, but
+ some vendors have backported -fstack-protector-strong to older
+ versions of gcc.
+
+config BR2_SSP_ALL
+ bool "-fstack-protector-all"
+ help
+ Like -fstack-protector except that all functions are
+ protected. This option might have a significant performance
+ impact on the compiled binaries.
+
+endchoice
+
+config BR2_SSP_OPTION
+ string
+ default "-fstack-protector" if BR2_SSP_REGULAR
+ default "-fstack-protector-strong" if BR2_SSP_STRONG
+ default "-fstack-protector-all" if BR2_SSP_ALL
+
+comment "Stack Smashing Protection needs a toolchain w/ SSP"
+ depends on !BR2_TOOLCHAIN_HAS_SSP
+
+choice
+ bool "RELRO Protection"
+ default BR2_RELRO_FULL if BR2_TOOLCHAIN_SUPPORTS_PIE
+ default BR2_RELRO_PARTIAL
+ 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"
+ depends on BR2_PIC_PIE_ARCH_SUPPORTS
+ depends on BR2_TOOLCHAIN_SUPPORTS_PIE
+ select BR2_PIC_PIE
+ 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.
+
+comment "RELRO Full needs a toolchain w/ PIE"
+ depends on BR2_PIC_PIE_ARCH_SUPPORTS
+ depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
+
+endchoice
+
+comment "RELocation Read Only (RELRO) needs shared libraries"
+ depends on !BR2_SHARED_LIBS
+
+config BR2_FORTIFY_SOURCE_ARCH_SUPPORTS
+ bool
+ default y
+ # Microblaze glibc toolchains don't work with Fortify Source enabled
+ depends on !BR2_microblaze
+
+choice
+ bool "Buffer-overflow Detection (FORTIFY_SOURCE)"
+ default BR2_FORTIFY_SOURCE_1
+ depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS
+ 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"
+ # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
+ depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
+ 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"
+ # gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
+ depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
+ 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)
+
+config BR2_FORTIFY_SOURCE_3
+ bool "Extended"
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12
+ help
+ This option sets _FORTIFY_SOURCES to 3 and even more
+ checking is added compared to level 2. Extends checks at
+ run-time that can introduce an additional performance
+ overhead.
+
+endchoice
+
+comment "Fortify Source needs a glibc toolchain and optimization"
+ depends on BR2_FORTIFY_SOURCE_ARCH_SUPPORTS
+ depends on (!BR2_TOOLCHAIN_USES_GLIBC || BR2_OPTIMIZE_0)
+endmenu
source "system/Config.in"
source "Config.in.legacy"
-source "$BR2_BUILD_DIR/.br2-external.in"
+# br2-external menus definitions
+source "$BR2_BASE_DIR/.br2-external.in.menus"