json-c: needs __sync_val_compare_and_swap_4
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 2 Feb 2016 15:31:22 +0000 (16:31 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 6 Feb 2016 10:16:00 +0000 (11:16 +0100)
commit8ea392b84e3a02a7827fc3b97b541d3c41c83935
treefbaf70e66232b29c040319139eabfda50bffb13a
parent508c3e0c50c836f03b26cf08b96310e783830744
json-c: needs __sync_val_compare_and_swap_4

While json-c itself builds fine on platforms that don't provide the
__sync atomic built-ins, it does use them. json-c doesn't fail to
build because only a library is built, so such function calls are left
unresolved. But as soon as it gets used in another package linked in a
program, linking will fail due to the missing
__sync_val_compare_and_swap_4() function.

To fix this, we make json-c depend on BR2_TOOLCHAIN_HAS_SYNC_4, and
propagate to the reverse dependencies:

 - json-c
   - fastd
   - pulseaudio
     - efl
     - espeak
     - gst-plugins-good
     - gst1-plugins-good
     - mpd
   - rsyslog
   - ubus

Note that pulseaudio already had a BR2_ARCH_HAS_ATOMICS dependency,
which we are keeping for the moment, and will clean-up in a subsequent
commit.

This commit will also fix packages that could optionally use json-c,
and therefore fixes build failures like:

  http://autobuild.buildroot.org/results/4fe/4feaa9089ee9a183c5086b791bea35c0156945af/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
package/efl/Config.in
package/espeak/Config.in
package/fastd/Config.in
package/gstreamer/gst-plugins-good/Config.in
package/gstreamer1/gst1-plugins-good/Config.in
package/json-c/Config.in
package/mpd/Config.in
package/pulseaudio/Config.in
package/rsyslog/Config.in
package/ubus/Config.in