yajl: fix static linking in a parallel build
authorJörg Krause <joerg.krause@embedded.rocks>
Sat, 9 Apr 2016 22:15:25 +0000 (00:15 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Fri, 15 Apr 2016 18:26:51 +0000 (20:26 +0200)
commit3cfd8bf15cd8b80215bb70db28e065ff0b80437b
treea4d0fc2a43ddbfd2e0220212f3d1814cff1d8253
parent1b1128589345d7ff9bda3861bf98e26da820a14d
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>
package/yajl/0003-Link-with-shared-libyajl-in-a-shared-build.patch [new file with mode: 0644]