summaryrefslogtreecommitdiffstats
path: root/package/protobuf/Config.in
blob: 2829b2a5a7e681e8118b046ad17cbdbf80ca4632 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 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_HOST_GCC_AT_LEAST_4_8 # C++11
	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, host and target gcc >= 4.8"
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
		|| BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_4_8 \
		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
	depends on BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS
OpenPOWER on IntegriCloud