1# see absl/debugging/internal/examine_stack.cc for the list of
2# architectures that are supported, and for which ucontext is used.
3config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
4	bool
5	default y if BR2_aarch64 || BR2_aarch64_be
6	default y if BR2_arm || BR2_armeb
7	default y if BR2_i386
8	default y if BR2_m68k
9	default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
10	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
11	default y if BR2_riscv
12	default y if BR2_s390x
13	default y if BR2_sh
14	default y if BR2_sparc || BR2_sparc64
15	default y if BR2_x86_64
16	depends on BR2_TOOLCHAIN_HAS_UCONTEXT
17
18config BR2_PACKAGE_LIBABSEIL_CPP
19	bool "libabseil-cpp"
20	depends on BR2_INSTALL_LIBSTDCPP
21	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++14
22	depends on BR2_TOOLCHAIN_HAS_THREADS
23	depends on !BR2_STATIC_LIBS # uses dlfcn.h
24	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
25	help
26	  Abseil is an open-source collection of C++ library code
27	  designed to augment the C++ standard library. The Abseil
28	  library code is collected from Google's own C++ code base,
29	  has been extensively tested and used in production, and is
30	  the same code we depend on in our daily coding lives.
31
32	  https://github.com/abseil/abseil-cpp
33
34comment "libabseil-cpp needs a toolchain w/ gcc >= 8, C++, threads, dynamic library"
35	depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS
36	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
37		BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_8
38