![Thomas Petazzoni](/assets/img/avatar_default.png)
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>
14 lines
438 B
Plaintext
14 lines
438 B
Plaintext
config BR2_PACKAGE_JSON_C
|
|
bool "json-c"
|
|
# uses __sync_val_compare_and_swap_4
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
help
|
|
JSON-C - A JSON implementation in C
|
|
|
|
JSON-C implements a reference counting object model that
|
|
allows you to easily construct JSON objects in C, output
|
|
them as JSON formatted strings and parse JSON formatted
|
|
strings back into the C representation of JSON objects.
|
|
|
|
https://github.com/json-c/json-c/
|