mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-01 13:49:03 +03:00
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/
|