1config BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
2	bool
3	default y
4	depends on BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be || \
5		BR2_i386 || BR2_mips || BR2_mips64 || BR2_mipsel || \
6		BR2_mips64el || BR2_nios2 || BR2_powerpc || BR2_powerpc64 || \
7		BR2_powerpc64le || BR2_riscv || BR2_sparc64 || BR2_s390x || BR2_x86_64
8	depends on BR2_USE_MMU # fork() in test
9
10config BR2_PACKAGE_LIBURCU
11	bool "liburcu"
12	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
13	depends on BR2_TOOLCHAIN_HAS_THREADS
14	depends on BR2_INSTALL_LIBSTDCPP
15	help
16	  Userspace implementation of the Read-Copy-Update (RCU)
17	  synchronization mechanism. This library is mainly used by
18	  the LTTng tracing infrastructure, but can be used for other
19	  purposes as well.
20
21	  On ARM, because of bug:
22	    http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
23	  liburcu cannot be built using gcc 4.8.0, 4.8.1 or 4.8.2
24	  without the following bug fix:
25	    http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=204665
26
27	  http://lttng.org/urcu
28
29comment "liburcu needs a toolchain w/ threads, C++"
30	depends on BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS
31	depends on !BR2_TOOLCHAIN_HAS_THREADS || \
32		!BR2_INSTALL_LIBSTDCPP
33