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>
libfastjson is supposed to use the __sync_*4 atomic intrinsics, but alas
it is not using them because their ./configure decides they are not
available: it uses AC_TRY_RUN to check for them, and the default is to
decide they are not available, because of cross-compilation.
Besides, one of the source files was not including the generated
config.h, so even after fixing ./configure there was still a build
error.
The first patch is a backport from upstream to fix the missing
inclusion.
The second patch is switching AC_TRY_RUN over to AC_LINK_IFELSE, as the
only thing we're interested in is to check for the presence of the
atomic intrisics, and linking is enough for that.
Fixes:
http://autobuild.buildroot.org/results/192/1923d0b570adba494f83747a9610ea6ec35f5223/http://autobuild.buildroot.org/results/23a/23ac0e742ed3a70ae4d038f8c9eadc23e708f671/
and many others...
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>
Libfastjson is a fork of json-c, and a dependency of newer versions of
rsyslog.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>