yajl: fix static linking in a parallel build
The yajl build system contains a race condition, which gets triggered by
high BR2_JLEVEL settings - It tries to link the executable gen-extra-close
against the shared libyajl before it is created:
[ 21%] Linking C executable gen-extra-close
[ 26%] Building C object src/CMakeFiles/yajl_s.dir/yajl_buf.c.o
/home/test/autobuild/instance-3/output/host/opt/ext-toolchain/bfin-uclinux/bfin-uclinux/bin/ld.real: cannot find -lyajl
Fix this issue by linking gen-extra-close against the shared library in a shared
build and the static library otherwise.
Apply this to all other build targets from yail who are linking against the
library, too.
Fixes:
http://autobuild.buildroot.net/results/a9b/
a9b5209377acb51e69f376e0c008ee71fe00397a/
http://autobuild.buildroot.net/results/55f/
55fe22463d49addb42b635d10be5176522f4a561/
http://autobuild.buildroot.net/results/808/
808acca0cfed93465845c2aa055a7a4fc56a8a17/
http://autobuild.buildroot.net/results/b92/
b92a9c84b71a8a2d022d307245ca6be36a000e6c/
http://autobuild.buildroot.net/results/55d/
55df698ab53f7d94235166e8576eb681ed68668e/
.. and more.
Upstream status: Pending
https://github.com/lloyd/yajl/pull/187
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>