diff --git a/package/collectd/Config.in b/package/collectd/Config.in index 276ad17329..cd5d876e80 100644 --- a/package/collectd/Config.in +++ b/package/collectd/Config.in @@ -572,6 +572,7 @@ config BR2_PACKAGE_COLLECTD_GRPC depends on BR2_INSTALL_LIBSTDCPP # grpc -> protobuf depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS # grpc -> protobuf depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # grpc -> protobuf + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc select BR2_PACKAGE_GRPC help Send/receive values using the gRPC protocol. @@ -580,6 +581,7 @@ comment "grpc needs a toolchain w/ C++, gcc >= 4.8" depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS # grpc config BR2_PACKAGE_COLLECTD_MQTT bool "mqtt" diff --git a/package/grpc/Config.in b/package/grpc/Config.in index 43ccddbdaf..a2da3f4c53 100644 --- a/package/grpc/Config.in +++ b/package/grpc/Config.in @@ -6,6 +6,7 @@ config BR2_PACKAGE_GRPC depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # protobuf depends on !BR2_STATIC_LIBS # protobuf, libabseil-cpp depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS select BR2_PACKAGE_C_ARES select BR2_PACKAGE_LIBABSEIL_CPP select BR2_PACKAGE_OPENSSL @@ -18,6 +19,7 @@ config BR2_PACKAGE_GRPC http://github.com/grpc/grpc comment "grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8" + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_ATOMIC depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \ || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/libabseil-cpp/Config.in b/package/libabseil-cpp/Config.in index 7b1ca37917..5e20a82856 100644 --- a/package/libabseil-cpp/Config.in +++ b/package/libabseil-cpp/Config.in @@ -1,8 +1,22 @@ +# see absl/debugging/internal/examine_stack.cc for the list of +# architectures that are supported, and for which ucontext is used. +config BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS + bool + depends on BR2_TOOLCHAIN_HAS_UCONTEXT + default y if BR2_aarch64 || BR2_aarch64_be + default y if BR2_arm || BR2_armeb + default y if BR2_i386 + default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el + default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le + default y if BR2_riscv + default y if BR2_x86_64 + config BR2_PACKAGE_LIBABSEIL_CPP bool "libabseil-cpp" depends on BR2_INSTALL_LIBSTDCPP depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS # uses dlfcn.h + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS help Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil @@ -13,5 +27,6 @@ config BR2_PACKAGE_LIBABSEIL_CPP https://github.com/abseil/abseil-cpp comment "libabseil-cpp needs a toolchain w/ C++, threads, dynamic library" + depends on BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ BR2_STATIC_LIBS