package/libfastjson: can use threads instead of atomics

When atomic intrisics are missing, libfastjson falls back to using
pthread mutexes to manage atomicity. Of course, this is much less
efficient than atomics, but it does the job.

Propagate the new dependency to rsyslog, the sole user of libfastjson.

Note: rsyslog already depends on threads for itself, but we believe it
is better to have the exact same dependency propagated.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Yann E. MORIN 2016-07-10 11:10:11 +02:00 committed by Thomas Petazzoni
parent a70bc14b92
commit c10b7c07a4
2 changed files with 6 additions and 4 deletions

View file

@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBFASTJSON
bool "libfastjson"
# uses __sync_val_compare_and_swap_4
depends on BR2_TOOLCHAIN_HAS_SYNC_4
# uses the __sync_*_4 intrisics, or pthreads to emulate atomicity
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_THREADS
help
Libfastjson - A fast json library for C

View file

@ -7,7 +7,9 @@ config BR2_PACKAGE_RSYSLOG
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS # modules
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libfastjson
# Propagate the exact same dependency from libfastjson,
# even though rsyslog already depends on threads for itself:
depends on BR2_TOOLCHAIN_HAS_SYNC_4 || BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
help
Rsyslog is a powerful and flexible syslog implementation
@ -18,4 +20,4 @@ comment "rsyslog needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS