# See src/google/protobuf/stubs/platform_macros.h for supported archs.
# PowerPC doesn't actually work.
# host-protobuf only builds on certain architectures
config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
	bool
	default y if BR2_arm
	default y if BR2_i386
	default y if BR2_mipsel
	default y if BR2_x86_64
	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"

config BR2_PACKAGE_PROTOBUF
	bool "protobuf"
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_HAS_THREADS
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
	depends on !BR2_STATIC_LIBS
	help
	  Protocol buffers are Google's language-neutral, platform-neutral,
	  extensible mechanism for serializing structured data.

	  https://developers.google.com/protocol-buffers

comment "protobuf needs a toolchain w/ C++, threads, dynamic library"
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
		|| BR2_STATIC_LIBS
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
