123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # See src/google/protobuf/stubs/platform_macros.h for supported archs.
- #
- # On PowerPC, the __atomic_*() built-ins for 1-byte, 2-byte and 4-byte
- # types are available built-in. However, the __atomic_*() built-ins for
- # 8-byte types is implemented via libatomic, so only available since gcc
- # 4.8.
- #
- # In Buildroot, to simplify things, we've decided to simply require gcc
- # 4.8 as soon as the architectures has at least one __atomic_*() built-in
- # variant that requires libatomic.
- #
- # Since protobuf most likely only uses the 1, 2 and 4-byte variants, it
- # *could* technically build with gcc 4.7. This is probably not a big deal,
- # and we can live with requiring gcc 4.8 on PowerPC to build protobuf.
- #
- # 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
- default y if BR2_sparc64
- default y if BR2_TOOLCHAIN_HAS_ATOMIC
- depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
- depends on BR2_USE_MMU # fork()
- 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_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
- 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, gcc >= 4.8"
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
- || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
- depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
|