summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN <yann.morin.1998@free.fr>2016-07-10 11:10:11 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-07-15 17:00:50 +0200
commitc10b7c07a49673ff0d67b5c90daa6dd14ed3de4c (patch)
tree1ec5e1cc4d6c300a18d5494bb396969db1abf821
parenta70bc14b92b423f68f94df91dc356bae5955c0af (diff)
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>
-rw-r--r--package/libfastjson/Config.in4
-rw-r--r--package/rsyslog/Config.in6
2 files changed, 6 insertions, 4 deletions
diff --git a/package/libfastjson/Config.in b/package/libfastjson/Config.in
index 5a9411332..fbc9b1d68 100644
--- a/package/libfastjson/Config.in
+++ b/package/libfastjson/Config.in
@@ -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
diff --git a/package/rsyslog/Config.in b/package/rsyslog/Config.in
index 65291deae..b3c146dc8 100644
--- a/package/rsyslog/Config.in
+++ b/package/rsyslog/Config.in
@@ -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 \ No newline at end of file
+ depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS