Config.in 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # See src/google/protobuf/stubs/platform_macros.h for supported archs.
  2. #
  3. # On PowerPC, the __atomic_*() built-ins for 1-byte, 2-byte and 4-byte
  4. # types are available built-in. However, the __atomic_*() built-ins for
  5. # 8-byte types is implemented via libatomic, so only available since gcc
  6. # 4.8.
  7. #
  8. # In Buildroot, to simplify things, we've decided to simply require gcc
  9. # 4.8 as soon as the architectures has at least one __atomic_*() built-in
  10. # variant that requires libatomic.
  11. #
  12. # Since protobuf most likely only uses the 1, 2 and 4-byte variants, it
  13. # *could* technically build with gcc 4.7. This is probably not a big deal,
  14. # and we can live with requiring gcc 4.8 on PowerPC to build protobuf.
  15. #
  16. # host-protobuf only builds on certain architectures
  17. config BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
  18. bool
  19. default y if BR2_arm
  20. default y if BR2_i386
  21. default y if BR2_mipsel
  22. default y if BR2_x86_64
  23. default y if BR2_sparc64
  24. default y if BR2_TOOLCHAIN_HAS_ATOMIC
  25. depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
  26. depends on BR2_USE_MMU # fork()
  27. config BR2_PACKAGE_PROTOBUF
  28. bool "protobuf"
  29. depends on BR2_INSTALL_LIBSTDCPP
  30. depends on BR2_TOOLCHAIN_HAS_THREADS
  31. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
  32. depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
  33. depends on !BR2_STATIC_LIBS
  34. help
  35. Protocol buffers are Google's language-neutral,
  36. platform-neutral, extensible mechanism for serializing
  37. structured data.
  38. https://developers.google.com/protocol-buffers
  39. comment "protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8"
  40. depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
  41. || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
  42. depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS