The libuv library uses __sync atomic built-ins:
$ readelf -a -W output/target/usr/lib/libuv.so.1.0.0 | grep __sync
122:
00000000 0 NOTYPE GLOBAL DEFAULT UND __sync_val_compare_and_swap_4
but this is not currently taken into account in the libuv package,
causing some build failures in packages using libuv as an optional
dependency, such as janus-gateway and mosquitto.
Therefore, this commit updates the libuv package with this additional
dependency. The reverse dependencies of libuv are also updated: luv, luvi
and moarvm.
Fixes:
- http://autobuild.buildroot.net/results/
bdaa67d763c0d8d377a04529c74f73bee7d4ccef/
(janus-gateway)
- http://autobuild.buildroot.net/results/
2bc84ba2d1167018e2d48e5183ead22b6425dcf5/
(mosquitto)
[Peter: drop cmake changes after cmake revert]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_barrier_*
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
help
libuv is a multi-platform support library with a focus
on asynchronous I/O.
comment "libuv needs a toolchain w/ NPTL, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv
depends on BR2_USE_MMU # libuv
depends on !BR2_STATIC_LIBS # libuv
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
help
libuv bindings for LuaJIT and Lua.
comment "luv needs a toolchain w/ NPTL, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_USE_MMU # libuv
depends on !BR2_STATIC_LIBS # libuv
depends on BR2_PACKAGE_LUAJIT
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
select BR2_PACKAGE_LIBUV
select BR2_PACKAGE_LUV
help
comment "luvi needs a toolchain w/ NPTL, dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
comment "luvi needs LuaJIT"
depends on !BR2_PACKAGE_LUAJIT
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # libatomic_ops
# needs AO_fetch_compare_and_swap, not implemented for sparcv8/sparcv9
depends on !BR2_sparc64 && !BR2_sparc
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libuv
select BR2_PACKAGE_LIBUV
select BR2_PACKAGE_LIBTOMMATH
select BR2_PACKAGE_LIBATOMIC_OPS
depends on BR2_USE_MMU
depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS
depends on !BR2_sparc64 && !BR2_sparc
-
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4