config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
	bool
	default y if BR2_arm
	default y if BR2_armeb
	default y if BR2_aarch64
	default y if BR2_aarch64_be
	default y if BR2_i386
	default y if BR2_loongarch64
	default y if BR2_m68k_m68k
	default y if BR2_mips
	default y if BR2_mipsel
	default y if BR2_mips64
	default y if BR2_mips64el
	default y if BR2_or1k
	default y if BR2_powerpc
	default y if BR2_powerpc64
	default y if BR2_powerpc64le
	default y if BR2_riscv
	default y if BR2_s390x
	default y if BR2_sh
	default y if BR2_sparc64
	default y if BR2_x86_64
	default y if BR2_microblaze
	default y if BR2_arcle && BR2_ARC_ATOMIC_EXT && !BR2_arc750d && !BR2_arc770d
	depends on !BR2_POWERPC_CPU_HAS_SPE
	# glibc needs atomic instructions, and does not support
	# single-precision floating point ABIs (ilp32f and lp64f)
	depends on (BR2_RISCV_ISA_RVA && !BR2_RISCV_ABI_ILP32F && !BR2_RISCV_ABI_LP64F) || !BR2_riscv
	depends on BR2_USE_MMU

config BR2_PACKAGE_GLIBC_SUPPORTS
	bool
	default y if BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
	# Make sure to keep these dependencies in sync with the
	# Config.in comments in
	# toolchain/toolchain-buildroot/Config.in
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19 || !BR2_loongarch64
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 || !BR2_RISCV_32
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 || !BR2_arc
	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4 || !BR2_or1k

if BR2_TOOLCHAIN_BUILDROOT_GLIBC

comment "Glibc Options"

config BR2_PACKAGE_GLIBC
	bool
	default y
	select BR2_PACKAGE_LINUX_HEADERS
	select BR2_TOOLCHAIN_HAS_SSP if BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
	help
	  https://www.gnu.org/software/libc/

config BR2_PACKAGE_GLIBC_KERNEL_COMPAT
	bool "Enable compatibility shims to run on older kernels"
	help
	  Say 'y' here if you plan on running your system on a kernel
	  older than the version used for the toolchain headers.

	  Enabling those compatibility shims may generate a slightly
	  bigger and slightly slower glibc library.

	  The oldest supported kernel version depends on the
	  architecture.

config BR2_PACKAGE_GLIBC_UTILS
	bool "Install glibc utilities"
	help
	  Enabling this option will compile and install the getconf,
	  ldconfig, ldd and locale glibc utilities for the target.

endif # BR2_TOOLCHAIN_BUILDROOT_GLIBC
