From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 06/21] json-c: needs __sync_val_compare_and_swap_4
Date: Mon, 25 Jan 2016 19:47:38 +0100 [thread overview]
Message-ID: <20160125184738.GG3386@free.fr> (raw)
In-Reply-To: <1453676887-31236-7-git-send-email-thomas.petazzoni@free-electrons.com>
Thomas, All,
On 2016-01-25 00:07 +0100, Thomas Petazzoni spake thusly:
> 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 with fail due to the missing
...linking will fail...
> __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>
Otherwise:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> package/efl/Config.in | 1 +
> package/espeak/Config.in | 1 +
> package/fastd/Config.in | 1 +
> package/gstreamer/gst-plugins-good/Config.in | 1 +
> package/gstreamer1/gst1-plugins-good/Config.in | 1 +
> package/json-c/Config.in | 2 ++
> package/mpd/Config.in | 1 +
> package/pulseaudio/Config.in | 2 ++
> package/rsyslog/Config.in | 2 ++
> package/ubus/Config.in | 1 +
> 10 files changed, 13 insertions(+)
>
> diff --git a/package/efl/Config.in b/package/efl/Config.in
> index 85e46b1..21cbf5f 100644
> --- a/package/efl/Config.in
> +++ b/package/efl/Config.in
> @@ -82,6 +82,7 @@ config BR2_PACKAGE_EFL_LIBSNDFILE
> config BR2_PACKAGE_EFL_PULSEAUDIO
> bool "Enable pulseaudio support (recommended)"
> depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
> select BR2_PACKAGE_PULSEAUDIO
> default y
> help
> diff --git a/package/espeak/Config.in b/package/espeak/Config.in
> index 94e2816..eebaf6f 100644
> --- a/package/espeak/Config.in
> +++ b/package/espeak/Config.in
> @@ -33,6 +33,7 @@ config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_ALSA
> config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
> bool "pulseaudio"
> depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
> select BR2_PACKAGE_PULSEAUDIO
>
> endchoice
> diff --git a/package/fastd/Config.in b/package/fastd/Config.in
> index f753ce4..55bdbd6 100644
> --- a/package/fastd/Config.in
> +++ b/package/fastd/Config.in
> @@ -18,6 +18,7 @@ config BR2_PACKAGE_FASTD_STATUS_SOCKET
> bool "status socket support"
> default y
> select BR2_PACKAGE_JSON_C
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
> help
> Enable support for a socket to get fastd's status.
>
> diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
> index 0544b7c..c2ec5b0 100644
> --- a/package/gstreamer/gst-plugins-good/Config.in
> +++ b/package/gstreamer/gst-plugins-good/Config.in
> @@ -206,6 +206,7 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
> depends on BR2_USE_MMU # pulseaudio
> depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
> depends on !BR2_STATIC_LIBS # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
> select BR2_PACKAGE_PULSEAUDIO
> bool "pulseaudio"
>
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index a8cdde2..6cb9732 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -313,6 +313,7 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
> depends on BR2_USE_MMU # pulseaudio
> depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
> depends on !BR2_STATIC_LIBS # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
> select BR2_PACKAGE_PULSEAUDIO
> bool "pulseaudio"
> help
> diff --git a/package/json-c/Config.in b/package/json-c/Config.in
> index 67348fb..4df44a9 100644
> --- a/package/json-c/Config.in
> +++ b/package/json-c/Config.in
> @@ -1,5 +1,7 @@
> 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
>
> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index be0843f..643e7ba 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -248,6 +248,7 @@ config BR2_PACKAGE_MPD_PULSEAUDIO
> bool "pulseaudio"
> depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
> depends on !BR2_STATIC_LIBS # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pulseaudio -> json-c
> select BR2_PACKAGE_PULSEAUDIO
> help
> Enable pulseaudio output support.
> diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
> index 63c8ca4..4583d22 100644
> --- a/package/pulseaudio/Config.in
> +++ b/package/pulseaudio/Config.in
> @@ -3,6 +3,7 @@ config BR2_PACKAGE_PULSEAUDIO
> depends on BR2_USE_WCHAR
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on !BR2_STATIC_LIBS
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
> select BR2_PACKAGE_LIBTOOL
> select BR2_PACKAGE_JSON_C
> select BR2_PACKAGE_LIBSNDFILE
> @@ -34,4 +35,5 @@ endif
> comment "pulseaudio needs a toolchain w/ wchar, threads, dynamic library"
> depends on BR2_USE_MMU
> depends on BR2_ARCH_HAS_ATOMICS
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4
> depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/rsyslog/Config.in b/package/rsyslog/Config.in
> index d66132f..3599207 100644
> --- a/package/rsyslog/Config.in
> +++ b/package/rsyslog/Config.in
> @@ -7,6 +7,7 @@ config BR2_PACKAGE_RSYSLOG
> depends on BR2_TOOLCHAIN_HAS_THREADS
> depends on BR2_USE_MMU # fork()
> depends on !BR2_STATIC_LIBS # modules
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
> help
> Rsyslog is a powerful and flexible syslog implementation
>
> @@ -14,4 +15,5 @@ config BR2_PACKAGE_RSYSLOG
>
> comment "rsyslog needs a toolchain w/ threads, dynamic library"
> depends on BR2_USE_MMU
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4
> depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
> diff --git a/package/ubus/Config.in b/package/ubus/Config.in
> index 8567321..d63357a 100644
> --- a/package/ubus/Config.in
> +++ b/package/ubus/Config.in
> @@ -5,6 +5,7 @@ config BR2_PACKAGE_UBUS
> bool "ubus"
> select BR2_PACKAGE_LIBUBOX
> select BR2_PACKAGE_JSON_C
> + depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
> depends on !BR2_STATIC_LIBS # libubox
> help
> IPC/RPC bus that allows communication between processes.
> --
> 2.6.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2016-01-25 18:47 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-24 23:07 [Buildroot] [PATCH 00/21] Rework atomic handling Thomas Petazzoni
2016-01-24 23:07 ` [Buildroot] [PATCH 01/21] libftdi: C++ bindings need boost Thomas Petazzoni
2016-01-25 17:04 ` Yann E. MORIN
2016-01-25 20:04 ` Thomas Petazzoni
2016-01-24 23:07 ` [Buildroot] [PATCH 02/21] libftdi: remove BR2_ARCH_HAS_ATOMICS dependency Thomas Petazzoni
2016-01-25 17:15 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 03/21] toolchain: add BR2_TOOLCHAIN_HAS_SYNC_x hidden booleans Thomas Petazzoni
2016-01-25 18:27 ` Yann E. MORIN
2016-01-27 21:46 ` Thomas Petazzoni
2016-01-27 22:47 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 04/21] docs/manual: document usage of BR2_TOOLCHAIN_HAS_SYNC_x Thomas Petazzoni
2016-01-25 18:38 ` Yann E. MORIN
2016-01-25 20:07 ` Thomas Petazzoni
2016-01-24 23:07 ` [Buildroot] [PATCH 05/21] icu: remove BR2_ARCH_HAS_ATOMICS dependency Thomas Petazzoni
2016-01-25 18:42 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 06/21] json-c: needs __sync_val_compare_and_swap_4 Thomas Petazzoni
2016-01-25 18:47 ` Yann E. MORIN [this message]
2016-01-24 23:07 ` [Buildroot] [PATCH 07/21] pulseaudio: remove BR2_ARCH_HAS_ATOMICS dependency Thomas Petazzoni
2016-01-25 18:52 ` Yann E. MORIN
2016-01-27 21:56 ` Thomas Petazzoni
2016-01-27 22:51 ` Yann E. MORIN
2016-01-27 23:01 ` Thomas Petazzoni
2016-01-24 23:07 ` [Buildroot] [PATCH 08/21] apache, apr: fix atomic handling Thomas Petazzoni
2016-01-25 20:59 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 09/21] jack2: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbol Thomas Petazzoni
2016-01-25 21:12 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 10/21] libtorrent: use the proper BR2_TOOLCHAIN_HAS_SYNC_x symbols Thomas Petazzoni
2016-01-25 21:45 ` Yann E. MORIN
2016-01-25 22:07 ` Thomas Petazzoni
2016-01-25 22:14 ` Yann E. MORIN
2016-01-25 22:22 ` Thomas Petazzoni
2016-01-26 22:13 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 11/21] gauche: disable on SPARC(64), remove atomics dependency Thomas Petazzoni
2016-01-25 21:52 ` Yann E. MORIN
2016-01-24 23:07 ` [Buildroot] [PATCH 12/21] cairo, harfbuzz: rework atomic dependencies Thomas Petazzoni
2016-01-24 23:07 ` [Buildroot] [PATCH 13/21] openocd: remove BR2_ARCH_HAS_ATOMICS dependency Thomas Petazzoni
2016-01-25 23:05 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 14/21] squid: rework atomic handling Thomas Petazzoni
2016-01-25 22:53 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 15/21] thrift: remove BR2_ARCH_HAS_ATOMICS dependency Thomas Petazzoni
2016-01-26 22:31 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 16/21] msgpack: rework " Thomas Petazzoni
2016-01-26 22:17 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 17/21] arch: remove BR2_ARCH_HAS_ATOMICS option Thomas Petazzoni
2016-01-26 22:22 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 18/21] glog: fix atomic built-in problem Thomas Petazzoni
2016-01-26 22:25 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 19/21] openal: add missing BR2_TOOLCHAIN_HAS_SYNC_4 dependency Thomas Petazzoni
2016-01-26 22:32 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 20/21] freerdp: " Thomas Petazzoni
2016-01-26 22:33 ` Yann E. MORIN
2016-01-24 23:08 ` [Buildroot] [PATCH 21/21] neard: " Thomas Petazzoni
2016-01-26 22:35 ` Yann E. MORIN
2016-01-26 20:28 ` [Buildroot] [PATCH 00/21] Rework atomic handling Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160125184738.GG3386@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.