* [Buildroot] [PATCH 1/9] arc: Support option of atomic extension
@ 2014-07-28 18:02 Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 2/9] cairo: arc: Disable if ARC atomics are disabled Anton Kolesov
` (8 more replies)
0 siblings, 9 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
GCC has several builtin functions that implement atomic operations. In GCC
for ARC those functions rely on LLOCK/SCOND instructions which are optional
in ARC CPU's. If software uses those functions and as a result those
instructions, it will be abort with Illegal instruction exception. To avoid
confusion user should first specify that their CPU supports atomic
extension, which will allow selection of packages that use builtin atomic
functions.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
arch/Config.in.arc | 4 ++++
package/Makefile.in | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index 60b59f0..9edcbd4 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -1,3 +1,7 @@
+# Choise of atomic instructions presence
+config BR2_ARC_ATOMIC_EXT
+ bool "Atomic extension (LLOCK/SCOND instructions)"
+
config BR2_ARCH
default "arc" if BR2_arcle
default "arceb" if BR2_arceb
diff --git a/package/Makefile.in b/package/Makefile.in
index fc55850..3d25d2a 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -102,6 +102,10 @@ ifeq ($(BR2_xtensa),y)
TARGET_ABI += -mlongcalls -mtext-section-literals
endif
+ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
+TARGET_ABI += -matomic
+endif
+
STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 2/9] cairo: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 3/9] jack2: " Anton Kolesov
` (7 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Cairo requires GCC built-in atomic functions which are optional in ARC
toolchain.
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/cairo/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 0c87a29..7c1cbac 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_CAIRO
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
Cairo is a 2D graphics library with support for multiple
output devices. Currently supported output targets include
@@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
http://cairographics.org/
+comment "cairo needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
+
if BR2_PACKAGE_CAIRO
config BR2_PACKAGE_CAIRO_PS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 3/9] jack2: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 2/9] cairo: arc: Disable if ARC atomics are disabled Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 4/9] pulseaudio: " Anton Kolesov
` (6 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Jack2 requires GCC built-in atomic functions which are optional in ARC
toolchain.
This fixes:
http://autobuild.buildroot.net/results/c218be876d3abf7a8e212b6d526595bfd835e1c5/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/jack2/Config.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/package/jack2/Config.in b/package/jack2/Config.in
index a443f58..2a04a85 100644
--- a/package/jack2/Config.in
+++ b/package/jack2/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_JACK2
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # missing compiler intrinsics
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSNDFILE
select BR2_PACKAGE_ALSA_LIB
@@ -23,6 +23,8 @@ config BR2_PACKAGE_JACK2
comment "jack2 needs a toolchain w/ largefile, threads, C++"
depends on BR2_USE_MMU
- depends on !BR2_arc
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_INSTALL_LIBSTDCPP
+
+comment "jack2 needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 4/9] pulseaudio: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 2/9] cairo: arc: Disable if ARC atomics are disabled Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 3/9] jack2: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 5/9] libftdi: " Anton Kolesov
` (5 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Pulseaudio requires GCC built-in atomic functions which are optional in ARC
toolchain.
This fixes:
http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/pulseaudio/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
index ac6222c..02401f5 100644
--- a/package/pulseaudio/Config.in
+++ b/package/pulseaudio/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_SPEEX
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
PulseAudio is a sound system for POSIX OSes, meaning that it
is a proxy for your sound applications. It allows you to do
@@ -33,3 +34,6 @@ endif
comment "pulseaudio needs a toolchain w/ wchar, largefile, threads"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "pulseaudio needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 5/9] libftdi: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (2 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 4/9] pulseaudio: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 6/9] msgpack: " Anton Kolesov
` (4 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Libftdi requires GCC built-in atomic functions which are optional in ARC
toolchain.
This fixes:
http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libftdi/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/libftdi/Config.in b/package/libftdi/Config.in
index dc81514..8bc79e1 100644
--- a/package/libftdi/Config.in
+++ b/package/libftdi/Config.in
@@ -3,6 +3,7 @@ config BR2_PACKAGE_LIBFTDI
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
Userspace access to FTDI USB interface chips
@@ -20,3 +21,6 @@ endif # BR2_PACKAGE_LIBFTDI
comment "libftdi needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "libftdi needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 6/9] msgpack: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (3 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 5/9] libftdi: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 7/9] icu: " Anton Kolesov
` (3 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Msgpack requires GCC built-in atomic functions which are optional in ARC
toolchain.
This fixes:
http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/msgpack/Config.in | 6 ++++--
package/python-msgpack/Config.in | 6 ++++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in
index b380c58..66e525f 100644
--- a/package/msgpack/Config.in
+++ b/package/msgpack/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MSGPACK
bool "msgpack"
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
MessagePack is an efficient binary serialization format.
@@ -12,4 +12,6 @@ config BR2_PACKAGE_MSGPACK
comment "msgpack needs a toolchain w/ C++"
depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+
+comment "msgpack needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in
index c4b68a3..365b60c 100644
--- a/package/python-msgpack/Config.in
+++ b/package/python-msgpack/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_MSGPACK
depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_MSGPACK
depends on BR2_INSTALL_LIBSTDCPP # msgpack
- depends on !BR2_arc # msgpack - atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
MessagePack (http://msgpack.org/) is a fast, compact binary
serialization format, suitable for similar data to JSON.
@@ -15,4 +15,6 @@ config BR2_PACKAGE_PYTHON_MSGPACK
comment "python-msgpack needs a toolchain w/ C++"
depends on BR2_PACKAGE_PYTHON
depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+
+comment "python-msgpack needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 7/9] icu: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (4 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 6/9] msgpack: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 8/9] libtorrent: " Anton Kolesov
` (2 subsequent siblings)
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
ICU requires GCC built-in atomic functions which are optional in ARC
toolchain.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/beecrypt/Config.in | 6 ++++--
package/cppcms/Config.in | 6 ++++--
package/icu/Config.in | 6 ++++--
package/php/Config.ext | 6 ++++--
package/qt5/qt5base/Config.in | 5 ++++-
5 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in
index 462c8a6..2c17685 100644
--- a/package/beecrypt/Config.in
+++ b/package/beecrypt/Config.in
@@ -15,15 +15,17 @@ config BR2_PACKAGE_BEECRYPT_CPP
bool "C++ support"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # icu
- depends on !BR2_arc # icu
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_ICU
help
Enable C++ support. This pulls in the (large) icu package.
comment "C++ support needs a toolchain w/ wchar"
- depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR
+comment "C++ support needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
+
endif # BR2_PACKAGE_BEECRYPT
diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in
index 614abeb..467025a 100644
--- a/package/cppcms/Config.in
+++ b/package/cppcms/Config.in
@@ -24,7 +24,7 @@ if BR2_PACKAGE_CPPCMS
config BR2_PACKAGE_CPPCMS_ICU
bool "enable icu support"
- depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_USE_WCHAR # icu
select BR2_PACKAGE_ICU
@@ -33,10 +33,12 @@ config BR2_PACKAGE_CPPCMS_ICU
in another hand ICU is heavier than iconv.
comment "icu support needs a toolchain w/ wchar"
- depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on !BR2_USE_WCHAR
+comment "icu support needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
+
endif
comment "cppcms needs a toolchain w/ C++, NPTL, dynamic library"
diff --git a/package/icu/Config.in b/package/icu/Config.in
index 9a27894..33a2724 100644
--- a/package/icu/Config.in
+++ b/package/icu/Config.in
@@ -7,14 +7,16 @@ config BR2_PACKAGE_ICU
# file, and it cannot easily be changed to generate FLAT
# format.
depends on !BR2_BINFMT_FLAT
- depends on !BR2_arc # atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
help
International Components for Unicode.
http://site.icu-project.org/
comment "icu needs a toolchain w/ C++, wchar, threads"
- depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS
+
+comment "icu needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
diff --git a/package/php/Config.ext b/package/php/Config.ext
index ff9a6ad..90cb6af 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -166,17 +166,19 @@ config BR2_PACKAGE_PHP_EXT_INTL
select BR2_PACKAGE_ICU
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
- depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_TOOLCHAIN_HAS_THREADS # icu
help
Internationalization support
comment "intl support needs a toolchain w/ C++, wchar, threads"
- depends on !BR2_arc
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+comment "intl supports needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
+
comment "Image processing"
config BR2_PACKAGE_PHP_EXT_EXIF
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index b95a74a..5789eb9 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -241,12 +241,15 @@ config BR2_PACKAGE_QT5BASE_DBUS
config BR2_PACKAGE_QT5BASE_ICU
bool "Enable ICU support"
select BR2_PACKAGE_ICU
- depends on !BR2_arc # icu -> atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
depends on !BR2_BINFMT_FLAT # icu
help
This option enables ICU support in Qt5. This is for example
needed for Qt5Webkit.
+comment "icu needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
+
config BR2_PACKAGE_QT5BASE_TSLIB
bool "Enable Tslib support"
depends on !BR2_PREFER_STATIC_LIB # dlopen
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 8/9] libtorrent: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (5 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 7/9] icu: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 9/9] thrift: " Anton Kolesov
2014-07-30 6:45 ` [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Thomas Petazzoni
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Libtorrent requires GCC built-in atomic functions which are optional in
ARC toolchain.
This fixes:
http://autobuild.buildroot.net/results/51414e22c8ea47c38df20d864526a370c5a895d7/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libtorrent/Config.in | 7 ++++---
package/rtorrent/Config.in | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/package/libtorrent/Config.in b/package/libtorrent/Config.in
index a21bf95..a8f31d2 100644
--- a/package/libtorrent/Config.in
+++ b/package/libtorrent/Config.in
@@ -2,8 +2,7 @@ config BR2_PACKAGE_LIBTORRENT
bool "libtorrent"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
- # ARC GCC doesn't support atomic instructions required by this lib
- depends on !BR2_arc
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
select BR2_PACKAGE_LIBSIGC
help
BitTorrent library written in C++ for *nix
@@ -12,4 +11,6 @@ config BR2_PACKAGE_LIBTORRENT
comment "libtorrent needs a toolchain w/ C++, threads"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_arc
+
+comment "libtorrent needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
diff --git a/package/rtorrent/Config.in b/package/rtorrent/Config.in
index fa81cde..a7a3411 100644
--- a/package/rtorrent/Config.in
+++ b/package/rtorrent/Config.in
@@ -4,8 +4,7 @@ config BR2_PACKAGE_RTORRENT
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
- # ARC GCC doesn't support atomic instructions required by libtorrent
- depends on !BR2_arc
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBSIGC
select BR2_PACKAGE_LIBTORRENT
@@ -19,4 +18,6 @@ config BR2_PACKAGE_RTORRENT
comment "rtorrent needs a toolchain w/ C++, threads, wchar"
depends on BR2_USE_MMU
depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
- depends on !BR2_arc
+
+comment "rtorrent needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 9/9] thrift: arc: Disable if ARC atomics are disabled
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (6 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 8/9] libtorrent: " Anton Kolesov
@ 2014-07-28 18:02 ` Anton Kolesov
2014-07-30 6:45 ` [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Thomas Petazzoni
8 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-28 18:02 UTC (permalink / raw)
To: buildroot
Thrift requires GCC built-in atomic functions which are optional in ARC
toolchain.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/thrift/Config.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/package/thrift/Config.in b/package/thrift/Config.in
index ac99801..6ea5751 100644
--- a/package/thrift/Config.in
+++ b/package/thrift/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_THRIFT
depends on BR2_USE_WCHAR
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_arc # atomic builtins
+ depends on !BR2_arc || BR2_ARC_ATOMIC_EXT
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBEVENT
select BR2_PACKAGE_OPENSSL
@@ -22,4 +22,6 @@ config BR2_PACKAGE_THRIFT
comment "thrift needs a toolchain w/ C++, largefile, wchar, threads"
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+
+comment "thrift needs an ARC CPU w/ atomic extension"
+ depends on BR2_arc && !BR2_ARC_ATOMIC_EXT
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH 1/9] arc: Support option of atomic extension
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
` (7 preceding siblings ...)
2014-07-28 18:02 ` [Buildroot] [PATCH 9/9] thrift: " Anton Kolesov
@ 2014-07-30 6:45 ` Thomas Petazzoni
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
8 siblings, 1 reply; 42+ messages in thread
From: Thomas Petazzoni @ 2014-07-30 6:45 UTC (permalink / raw)
To: buildroot
Dear Anton Kolesov,
On Mon, 28 Jul 2014 22:02:00 +0400, Anton Kolesov wrote:
> GCC has several builtin functions that implement atomic operations. In GCC
> for ARC those functions rely on LLOCK/SCOND instructions which are optional
> in ARC CPU's. If software uses those functions and as a result those
> instructions, it will be abort with Illegal instruction exception. To avoid
> confusion user should first specify that their CPU supports atomic
> extension, which will allow selection of packages that use builtin atomic
> functions.
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
> ---
> arch/Config.in.arc | 4 ++++
> package/Makefile.in | 4 ++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index 60b59f0..9edcbd4 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -1,3 +1,7 @@
> +# Choise of atomic instructions presence
> +config BR2_ARC_ATOMIC_EXT
> + bool "Atomic extension (LLOCK/SCOND instructions)"
> +
> config BR2_ARCH
> default "arc" if BR2_arcle
> default "arceb" if BR2_arceb
> diff --git a/package/Makefile.in b/package/Makefile.in
> index fc55850..3d25d2a 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -102,6 +102,10 @@ ifeq ($(BR2_xtensa),y)
> TARGET_ABI += -mlongcalls -mtext-section-literals
> endif
>
> +ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
> +TARGET_ABI += -matomic
> +endif
> +
> STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
> STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
I think this is looking generally good, but after discussing with Yann,
I think we'd prefer to have a slightly more generic solution. First, a
hidden kconfig boolean that tells whether the compiler has the atomic
intrinsics:
config BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
bool
and then architectures would "select" this hidden boolean whenever they
have the atomic intrinsics, and packages would use this hidden boolean
to create the dependencies.
What do you think about this? It's not a big change compared to what
you have done, it only pushes things to be a little bit more generic.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics
2014-07-30 6:45 ` [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Thomas Petazzoni
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 2/9] cairo: Add dependency on " Anton Kolesov
` (9 more replies)
0 siblings, 10 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
GCC has several builtin functions that implement atomic operations. Those
functions are architecture specific and may not be implemented by the
specific toolchain. In case of GCC for ARC those functions rely on
LLOCK/SCOND instructions which are optional in ARC CPU's. If ARC CPU doesn't
support those instructions but software tries to use them, then application
will be aborted with Illegal instruction exception. To avoid confusion user
should first specify that their CPU supports atomic extension, which will
allow selection of packages that use builtin atomic functions.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
arch/Config.in.arc | 5 +++++
package/Makefile.in | 4 ++++
toolchain/toolchain-common.in | 4 ++++
3 files changed, 13 insertions(+)
diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index 60b59f0..836cfef 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -1,3 +1,8 @@
+# Choise of atomic instructions presence
+config BR2_ARC_ATOMIC_EXT
+ bool "Atomic extension (LLOCK/SCOND instructions)"
+ select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_ARCH
default "arc" if BR2_arcle
default "arceb" if BR2_arceb
diff --git a/package/Makefile.in b/package/Makefile.in
index 02f6e3d..106a04c 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -102,6 +102,10 @@ ifeq ($(BR2_xtensa),y)
TARGET_ABI += -mlongcalls -mtext-section-literals
endif
+ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
+TARGET_ABI += -matomic
+endif
+
STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 13de9e5..f9cb7cf 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -44,6 +44,10 @@ config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
config BR2_TOOLCHAIN_HAS_SSP
bool
+config BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+ bool
+ default y if !BR2_arc
+
config BR2_ENABLE_LOCALE_PURGE
bool "Purge unwanted locales"
help
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 2/9] cairo: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 3/9] jack2: " Anton Kolesov
` (8 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Cairo requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/cairo/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 0c87a29..2aeaa2a 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
@@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
http://cairographics.org/
+comment "cairo needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
if BR2_PACKAGE_CAIRO
config BR2_PACKAGE_CAIRO_PS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 3/9] jack2: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 2/9] cairo: Add dependency on " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 4/9] pulseaudio: " Anton Kolesov
` (7 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Jack requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/c218be876d3abf7a8e212b6d526595bfd835e1c5/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/jack2/Config.in | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/package/jack2/Config.in b/package/jack2/Config.in
index a443f58..82143c7 100644
--- a/package/jack2/Config.in
+++ b/package/jack2/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_JACK2
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
depends on BR2_USE_MMU # fork()
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # missing compiler intrinsics
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSNDFILE
select BR2_PACKAGE_ALSA_LIB
@@ -21,8 +21,7 @@ config BR2_PACKAGE_JACK2
http://jackaudio.org/
-comment "jack2 needs a toolchain w/ largefile, threads, C++"
+comment "jack2 needs a toolchain w/ largefile, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_arc
depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_INSTALL_LIBSTDCPP
+ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 4/9] pulseaudio: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 2/9] cairo: Add dependency on " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 3/9] jack2: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 5/9] libftdi: " Anton Kolesov
` (6 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Pulseaudio requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/pulseaudio/Config.in | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
index ac6222c..de99fc8 100644
--- a/package/pulseaudio/Config.in
+++ b/package/pulseaudio/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_SPEEX
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
PulseAudio is a sound system for POSIX OSes, meaning that it
is a proxy for your sound applications. It allows you to do
@@ -30,6 +31,7 @@ config BR2_PACKAGE_PULSEAUDIO_DAEMON
endif
-comment "pulseaudio needs a toolchain w/ wchar, largefile, threads"
+comment "pulseaudio needs a toolchain w/ wchar, largefile, threads, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 5/9] libftdi: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (2 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 4/9] pulseaudio: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 6/9] msgpack: " Anton Kolesov
` (5 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Libftdi requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libftdi/Config.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/package/libftdi/Config.in b/package/libftdi/Config.in
index dc81514..ce65158 100644
--- a/package/libftdi/Config.in
+++ b/package/libftdi/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBFTDI
bool "libftdi"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
@@ -18,5 +19,5 @@ config BR2_PACKAGE_LIBTFDI_CPP
endif # BR2_PACKAGE_LIBFTDI
-comment "libftdi needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libftdi needs a toolchain w/ threads, atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 6/9] msgpack: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (3 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 5/9] libftdi: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 7/9] icu: " Anton Kolesov
` (4 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Msgpack requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/msgpack/Config.in | 7 +++----
package/python-msgpack/Config.in | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in
index b380c58..7d6277f 100644
--- a/package/msgpack/Config.in
+++ b/package/msgpack/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MSGPACK
bool "msgpack"
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
MessagePack is an efficient binary serialization format.
@@ -10,6 +10,5 @@ config BR2_PACKAGE_MSGPACK
http://msgpack.org/
-comment "msgpack needs a toolchain w/ C++"
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+comment "msgpack needs a toolchain w/ C++, atomic intrinsics"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in
index c4b68a3..3b825a1 100644
--- a/package/python-msgpack/Config.in
+++ b/package/python-msgpack/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_MSGPACK
depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_MSGPACK
depends on BR2_INSTALL_LIBSTDCPP # msgpack
- depends on !BR2_arc # msgpack - atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # msgpack
help
MessagePack (http://msgpack.org/) is a fast, compact binary
serialization format, suitable for similar data to JSON.
@@ -12,7 +12,6 @@ config BR2_PACKAGE_PYTHON_MSGPACK
https://pypi.python.org/pypi/msgpack-python/
-comment "python-msgpack needs a toolchain w/ C++"
+comment "python-msgpack needs a toolchain w/ C++, atomic intrinsics"
depends on BR2_PACKAGE_PYTHON
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 7/9] icu: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (4 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 6/9] msgpack: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 8/9] libtorrent: " Anton Kolesov
` (3 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
ICU requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/beecrypt/Config.in | 12 ++++++------
package/cppcms/Config.in | 7 +++----
package/icu/Config.in | 7 +++----
package/php/Config.ext | 8 ++++----
package/qt5/qt5base/Config.in | 5 ++++-
5 files changed, 20 insertions(+), 19 deletions(-)
diff --git a/package/beecrypt/Config.in b/package/beecrypt/Config.in
index 462c8a6..e0f9181 100644
--- a/package/beecrypt/Config.in
+++ b/package/beecrypt/Config.in
@@ -1,5 +1,5 @@
-comment "beecrypt needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "beecrypt needs a toolchain w/ threads, atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
config BR2_PACKAGE_BEECRYPT
bool "beecrypt"
@@ -15,15 +15,15 @@ config BR2_PACKAGE_BEECRYPT_CPP
bool "C++ support"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR # icu
- depends on !BR2_arc # icu
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
depends on !BR2_BINFMT_FLAT # icu
select BR2_PACKAGE_ICU
help
Enable C++ support. This pulls in the (large) icu package.
-comment "C++ support needs a toolchain w/ wchar"
- depends on !BR2_arc
+comment "C++ support needs a toolchain w/ wchar, atomic intrinsics"
depends on !BR2_BINFMT_FLAT
- depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR
+ depends on BR2_INSTALL_LIBSTDCPP && (!BR2_USE_WCHAR || \
+ !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS)
endif # BR2_PACKAGE_BEECRYPT
diff --git a/package/cppcms/Config.in b/package/cppcms/Config.in
index 614abeb..297c514 100644
--- a/package/cppcms/Config.in
+++ b/package/cppcms/Config.in
@@ -24,17 +24,16 @@ if BR2_PACKAGE_CPPCMS
config BR2_PACKAGE_CPPCMS_ICU
bool "enable icu support"
- depends on !BR2_arc # icu -> atomic builtins
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_USE_WCHAR # icu
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
select BR2_PACKAGE_ICU
help
Using ICU allows advanced localization features into CppCMS,
in another hand ICU is heavier than iconv.
-comment "icu support needs a toolchain w/ wchar"
- depends on !BR2_arc
- depends on !BR2_BINFMT_FLAT
+comment "icu support needs a toolchain w/ wchar, atomic intrinsics"
+ depends on !BR2_BINFMT_FLAT || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on !BR2_USE_WCHAR
endif
diff --git a/package/icu/Config.in b/package/icu/Config.in
index d14f8d8..d4521ac 100644
--- a/package/icu/Config.in
+++ b/package/icu/Config.in
@@ -7,7 +7,7 @@ config BR2_PACKAGE_ICU
# file, and it cannot easily be changed to generate FLAT
# format.
depends on !BR2_BINFMT_FLAT
- depends on !BR2_arc # atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
International Components for Unicode.
@@ -25,8 +25,7 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH
endif
-comment "icu needs a toolchain w/ C++, wchar, threads"
- depends on !BR2_arc
+comment "icu needs a toolchain w/ C++, wchar, threads, atomic intrinsics"
depends on !BR2_BINFMT_FLAT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
- !BR2_TOOLCHAIN_HAS_THREADS
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/php/Config.ext b/package/php/Config.ext
index ff9a6ad..078be8d 100644
--- a/package/php/Config.ext
+++ b/package/php/Config.ext
@@ -166,16 +166,16 @@ config BR2_PACKAGE_PHP_EXT_INTL
select BR2_PACKAGE_ICU
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
- depends on !BR2_arc # icu -> atomic builtins
depends on !BR2_BINFMT_FLAT # icu
depends on BR2_TOOLCHAIN_HAS_THREADS # icu
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
help
Internationalization support
-comment "intl support needs a toolchain w/ C++, wchar, threads"
- depends on !BR2_arc
+comment "intl support needs a toolchain w/ C++, wchar, threads, atomic intrinsics"
depends on !BR2_BINFMT_FLAT
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
comment "Image processing"
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index b95a74a..67f211c 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -241,12 +241,15 @@ config BR2_PACKAGE_QT5BASE_DBUS
config BR2_PACKAGE_QT5BASE_ICU
bool "Enable ICU support"
select BR2_PACKAGE_ICU
- depends on !BR2_arc # icu -> atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
depends on !BR2_BINFMT_FLAT # icu
help
This option enables ICU support in Qt5. This is for example
needed for Qt5Webkit.
+comment "icu needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_QT5BASE_TSLIB
bool "Enable Tslib support"
depends on !BR2_PREFER_STATIC_LIB # dlopen
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 8/9] libtorrent: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (5 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 7/9] icu: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 9/9] thrift: " Anton Kolesov
` (2 subsequent siblings)
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Libtorrent requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/51414e22c8ea47c38df20d864526a370c5a895d7/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libtorrent/Config.in | 9 ++++-----
package/rtorrent/Config.in | 9 ++++-----
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/package/libtorrent/Config.in b/package/libtorrent/Config.in
index a21bf95..a706d98 100644
--- a/package/libtorrent/Config.in
+++ b/package/libtorrent/Config.in
@@ -2,14 +2,13 @@ config BR2_PACKAGE_LIBTORRENT
bool "libtorrent"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
- # ARC GCC doesn't support atomic instructions required by this lib
- depends on !BR2_arc
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_LIBSIGC
help
BitTorrent library written in C++ for *nix
http://libtorrent.rakshasa.no/
-comment "libtorrent needs a toolchain w/ C++, threads"
- depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_arc
+comment "libtorrent needs a toolchain w/ C++, threads, atomic intrinsics"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/rtorrent/Config.in b/package/rtorrent/Config.in
index fa81cde..1efc5f1 100644
--- a/package/rtorrent/Config.in
+++ b/package/rtorrent/Config.in
@@ -4,8 +4,7 @@ config BR2_PACKAGE_RTORRENT
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
- # ARC GCC doesn't support atomic instructions required by libtorrent
- depends on !BR2_arc
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # libtorrent
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBSIGC
select BR2_PACKAGE_LIBTORRENT
@@ -16,7 +15,7 @@ config BR2_PACKAGE_RTORRENT
http://libtorrent.rakshasa.no/
-comment "rtorrent needs a toolchain w/ C++, threads, wchar"
+comment "rtorrent needs a toolchain w/ C++, threads, wchar, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)
- depends on !BR2_arc
+ depends on !(BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS \
+ && BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS)
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 9/9] thrift: Add dependency on atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (6 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 8/9] libtorrent: " Anton Kolesov
@ 2014-07-31 13:24 ` Anton Kolesov
2014-07-31 17:25 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for " Yann E. MORIN
2014-08-03 9:32 ` Thomas Petazzoni
9 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-07-31 13:24 UTC (permalink / raw)
To: buildroot
Thrift requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/thrift/Config.in | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/package/thrift/Config.in b/package/thrift/Config.in
index ac99801..071c85c 100644
--- a/package/thrift/Config.in
+++ b/package/thrift/Config.in
@@ -4,7 +4,7 @@ config BR2_PACKAGE_THRIFT
depends on BR2_USE_WCHAR
depends on BR2_LARGEFILE
depends on BR2_TOOLCHAIN_HAS_THREADS
- depends on !BR2_arc # atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_LIBEVENT
select BR2_PACKAGE_OPENSSL
@@ -19,7 +19,8 @@ config BR2_PACKAGE_THRIFT
http://thrift.apache.org/
-comment "thrift needs a toolchain w/ C++, largefile, wchar, threads"
+comment "thrift needs a toolchain w/ C++, largefile, wchar, threads, atomic intrinsics"
depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || \
- !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (7 preceding siblings ...)
2014-07-31 13:24 ` [Buildroot] [PATCH v2 9/9] thrift: " Anton Kolesov
@ 2014-07-31 17:25 ` Yann E. MORIN
2014-07-31 18:05 ` Thomas Petazzoni
2014-08-03 9:32 ` Thomas Petazzoni
9 siblings, 1 reply; 42+ messages in thread
From: Yann E. MORIN @ 2014-07-31 17:25 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-07-31 17:24 +0400, Anton Kolesov spake thusly:
> GCC has several builtin functions that implement atomic operations. Those
> functions are architecture specific and may not be implemented by the
> specific toolchain. In case of GCC for ARC those functions rely on
> LLOCK/SCOND instructions which are optional in ARC CPU's. If ARC CPU doesn't
> support those instructions but software tries to use them, then application
> will be aborted with Illegal instruction exception. To avoid confusion user
> should first specify that their CPU supports atomic extension, which will
> allow selection of packages that use builtin atomic functions.
I think what Thomas and I discussed, was to have a patch series that
does the following changes:
1- introduce BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS;
2- have all current architectures, that have atomics, select that new
symbol (note: i386 does not, i486 and above have, for example);
3- convert packages (one patch par package) to depend on it;
4- introduce BR2_ARC_ATOMIC_EXT that selects it, too.
This is more logical: you first add a new option, and then you gradually
start using it, until finally you airrive to what you eventually wanted.
Regards,
Yann E. MORIN.
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
> ---
> arch/Config.in.arc | 5 +++++
> package/Makefile.in | 4 ++++
> toolchain/toolchain-common.in | 4 ++++
> 3 files changed, 13 insertions(+)
>
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index 60b59f0..836cfef 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -1,3 +1,8 @@
> +# Choise of atomic instructions presence
> +config BR2_ARC_ATOMIC_EXT
> + bool "Atomic extension (LLOCK/SCOND instructions)"
> + select BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_ARCH
> default "arc" if BR2_arcle
> default "arceb" if BR2_arceb
> diff --git a/package/Makefile.in b/package/Makefile.in
> index 02f6e3d..106a04c 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -102,6 +102,10 @@ ifeq ($(BR2_xtensa),y)
> TARGET_ABI += -mlongcalls -mtext-section-literals
> endif
>
> +ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
> +TARGET_ABI += -matomic
> +endif
> +
> STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
> STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
>
> diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
> index 13de9e5..f9cb7cf 100644
> --- a/toolchain/toolchain-common.in
> +++ b/toolchain/toolchain-common.in
> @@ -44,6 +44,10 @@ config BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS
> config BR2_TOOLCHAIN_HAS_SSP
> bool
>
> +config BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> + bool
> + default y if !BR2_arc
> +
> config BR2_ENABLE_LOCALE_PURGE
> bool "Purge unwanted locales"
> help
> --
> 1.8.4.1
>
> _______________________________________________
> 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics
2014-07-31 17:25 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for " Yann E. MORIN
@ 2014-07-31 18:05 ` Thomas Petazzoni
0 siblings, 0 replies; 42+ messages in thread
From: Thomas Petazzoni @ 2014-07-31 18:05 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Thu, 31 Jul 2014 19:25:20 +0200, Yann E. MORIN wrote:
> On 2014-07-31 17:24 +0400, Anton Kolesov spake thusly:
> > GCC has several builtin functions that implement atomic operations. Those
> > functions are architecture specific and may not be implemented by the
> > specific toolchain. In case of GCC for ARC those functions rely on
> > LLOCK/SCOND instructions which are optional in ARC CPU's. If ARC CPU doesn't
> > support those instructions but software tries to use them, then application
> > will be aborted with Illegal instruction exception. To avoid confusion user
> > should first specify that their CPU supports atomic extension, which will
> > allow selection of packages that use builtin atomic functions.
>
> I think what Thomas and I discussed, was to have a patch series that
> does the following changes:
>
> 1- introduce BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS;
> 2- have all current architectures, that have atomics, select that new
> symbol (note: i386 does not, i486 and above have, for example);
> 3- convert packages (one patch par package) to depend on it;
> 4- introduce BR2_ARC_ATOMIC_EXT that selects it, too.
>
> This is more logical: you first add a new option, and then you gradually
> start using it, until finally you airrive to what you eventually wanted.
Well, that's pretty much what Anton did actually: his patch 1 covers
your items (1), (2) and (4), and his other patches cover your item (3).
And there's actually no problem in having (4) being done before (3).
So far the only difference between what you expose and what he has done
is the fact that his patch series have
BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS selected even for i386. But the
current Buildroot already assumes that i386 has atomic intrinsics.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
` (8 preceding siblings ...)
2014-07-31 17:25 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for " Yann E. MORIN
@ 2014-08-03 9:32 ` Thomas Petazzoni
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
2014-08-04 12:17 ` [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section Anton Kolesov
9 siblings, 2 replies; 42+ messages in thread
From: Thomas Petazzoni @ 2014-08-03 9:32 UTC (permalink / raw)
To: buildroot
Dear Anton Kolesov,
On Thu, 31 Jul 2014 17:24:42 +0400, Anton Kolesov wrote:
> GCC has several builtin functions that implement atomic operations. Those
> functions are architecture specific and may not be implemented by the
> specific toolchain. In case of GCC for ARC those functions rely on
> LLOCK/SCOND instructions which are optional in ARC CPU's. If ARC CPU doesn't
> support those instructions but software tries to use them, then application
> will be aborted with Illegal instruction exception. To avoid confusion user
> should first specify that their CPU supports atomic extension, which will
> allow selection of packages that use builtin atomic functions.
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
I have applied the following patches from your series:
3ebdc64dcc687a95dd4fed7eda8ff811d2db0eaf thrift: Add dependency on atomic intrinsics
b6f9dd2a389c1f4da858c928bf48f8baec461082 libtorrent: Add dependency on atomic intrinsics
b7a791a103d21835d0e3fb8accfb58346330560f icu: Add dependency on atomic intrinsics
b35d1582346625a7076de0a44958d5c5133103d2 jack2: Add dependency on atomic intrinsics
cbffd50561f7ce595296bddaf108031e501b2063 toolchain: Add config option for atomic intrinsics
I did not apply the other patches, because they were missing the
propagation of the atomic intrinsics dependency to the reverse
depencies of the package needing atomic intrinsics. For example, in
PATCH 2/9, you add the dependency on atomic intrinsics to Cairo, but
nowhere you propagate that to the reverse dependencies of Cairo. Could
you send an updated version of those patches, taking into account this
need?
Also, could you send a patch against the Buildroot manual that
documents the atomic intrinsics dependency, like we document
dependencies like wchar, largefile, ipv6 and so on.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v3 1/4] cairo: Add dependency on atomic intrinsics
2014-08-03 9:32 ` Thomas Petazzoni
@ 2014-08-04 12:16 ` Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 2/4] pulseaudio: " Anton Kolesov
` (3 more replies)
2014-08-04 12:17 ` [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section Anton Kolesov
1 sibling, 4 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-04 12:16 UTC (permalink / raw)
To: buildroot
Cairo requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/cairo/Config.in | 4 ++++
package/efl/libevas-generic-loaders/Config.in | 6 ++++--
package/gstreamer/gst-plugins-good/Config.in | 4 ++++
package/gstreamer1/gst1-plugins-good/Config.in | 4 ++++
package/libgtk2/Config.in | 5 +++--
package/librsvg/Config.in | 6 ++++--
package/libsvg-cairo/Config.in | 4 ++++
package/pango/Config.in | 5 +++--
package/webkit/Config.in | 6 ++++--
package/weston/Config.in | 4 ++++
10 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 0c87a29..2aeaa2a 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
@@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
http://cairographics.org/
+comment "cairo needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
if BR2_PACKAGE_CAIRO
config BR2_PACKAGE_CAIRO_PS
diff --git a/package/efl/libevas-generic-loaders/Config.in b/package/efl/libevas-generic-loaders/Config.in
index 23b9f77..c7145d5 100644
--- a/package/efl/libevas-generic-loaders/Config.in
+++ b/package/efl/libevas-generic-loaders/Config.in
@@ -17,10 +17,12 @@ config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
depends on BR2_USE_WCHAR # librsvg -> glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
This option enables the Evas generic SVG loader
-comment "SVG loader needs a toolchain w/ wchar, threads, C++"
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+comment "SVG loader needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
endif
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 3ec93cf..8bc79a2 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -178,9 +178,13 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
+comment "cairo needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC
bool "flac (libFLAC)"
depends on BR2_USE_WCHAR # flac
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 7159c5a..60ee17d 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -274,11 +274,15 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
help
Cairo-based elements
+comment "cairo needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC
bool "flac (libFLAC)"
depends on BR2_USE_WCHAR # flac
diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
index 5239c25..ce70256 100644
--- a/package/libgtk2/Config.in
+++ b/package/libgtk2/Config.in
@@ -17,6 +17,7 @@ config BR2_PACKAGE_LIBGTK2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
The GTK+ version 2 graphical user interface library
@@ -32,8 +33,8 @@ config BR2_PACKAGE_LIBGTK2_DEMO
endif
-comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
+comment "libgtk2 needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_XORG7
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_HAS_THREADS
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
index 5dd4c58..e1dbf4f 100644
--- a/package/librsvg/Config.in
+++ b/package/librsvg/Config.in
@@ -10,12 +10,14 @@ config BR2_PACKAGE_LIBRSVG
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
The rsvg library is an efficient renderer for Scalable
Vector Graphics (SVG) pictures.
http://librsvg.sourceforge.net/
-comment "librsvg needs a toolchain w/ wchar, threads, C++"
+comment "librsvg needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/libsvg-cairo/Config.in b/package/libsvg-cairo/Config.in
index 9577c69..48f09f6 100644
--- a/package/libsvg-cairo/Config.in
+++ b/package/libsvg-cairo/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBSVG_CAIRO
bool "libsvg-cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_SVG
select BR2_PACKAGE_LIBSVG
@@ -9,3 +10,6 @@ config BR2_PACKAGE_LIBSVG_CAIRO
rendering library.
http://cairographics.org
+
+comment "cairo needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/pango/Config.in b/package/pango/Config.in
index 70f4fd3..6dee251 100644
--- a/package/pango/Config.in
+++ b/package/pango/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_PANGO
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # freetype support
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_CAIRO
@@ -21,7 +22,7 @@ config BR2_PACKAGE_PANGO
http://www.pango.org/
-comment "pango needs a toolchain w/ wchar, threads, C++"
+comment "pango needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_INSTALL_LIBSTDCPP
+ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index c86eb94..99fe18a 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -17,6 +17,7 @@ config BR2_PACKAGE_WEBKIT
depends on BR2_PACKAGE_LIBGTK2
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT # icu
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ
@@ -41,7 +42,8 @@ config BR2_PACKAGE_WEBKIT
http://webkit.org/
-comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
+comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads, atomic intrinsics"
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/weston/Config.in b/package/weston/Config.in
index aaef405..4b3ca74 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -15,6 +15,7 @@ config BR2_PACKAGE_WESTON
depends on !BR2_avr32 # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
# Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG
# Make sure at least one compositor is selected.
@@ -27,6 +28,9 @@ config BR2_PACKAGE_WESTON
http://wayland.freedesktop.org/
+comment "weston needs a toolchain with atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
if BR2_PACKAGE_WESTON
# Helper to make sure at least one compositor is selected.
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v3 2/4] pulseaudio: Add dependency on atomic intrinsics
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
@ 2014-08-04 12:16 ` Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 3/4] libftdi: " Anton Kolesov
` (2 subsequent siblings)
3 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-04 12:16 UTC (permalink / raw)
To: buildroot
Pulseaudio requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/gstreamer/gst-plugins-good/Config.in | 5 +++++
package/gstreamer1/gst1-plugins-good/Config.in | 5 +++++
package/mpd/Config.in | 5 +++--
package/pulseaudio/Config.in | 6 ++++--
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 8bc79a2..7b577c7 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -212,9 +212,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
+comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 60ee17d..46bf553 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -308,11 +308,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
help
PulseAudio plugin library
+comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index f5f5b34..8382a5d 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -45,12 +45,13 @@ config BR2_PACKAGE_MPD_AUDIOFILE
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
-comment "pulseaudio support needs a toolchain w/ largefile"
- depends on !BR2_LARGEFILE
+comment "pulseaudio support needs a toolchain w/ largefile, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
config BR2_PACKAGE_MPD_BZIP2
bool "bzip2"
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
index ac6222c..de99fc8 100644
--- a/package/pulseaudio/Config.in
+++ b/package/pulseaudio/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_SPEEX
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
PulseAudio is a sound system for POSIX OSes, meaning that it
is a proxy for your sound applications. It allows you to do
@@ -30,6 +31,7 @@ config BR2_PACKAGE_PULSEAUDIO_DAEMON
endif
-comment "pulseaudio needs a toolchain w/ wchar, largefile, threads"
+comment "pulseaudio needs a toolchain w/ wchar, largefile, threads, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v3 3/4] libftdi: Add dependency on atomic intrinsics
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 2/4] pulseaudio: " Anton Kolesov
@ 2014-08-04 12:16 ` Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 4/4] msgpack: " Anton Kolesov
2014-08-07 15:42 ` [Buildroot] [PATCH v3 1/4] cairo: " Thomas De Schampheleire
3 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-04 12:16 UTC (permalink / raw)
To: buildroot
Libftdi requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libftdi/Config.in | 5 +++--
package/openocd/Config.in | 4 ++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/package/libftdi/Config.in b/package/libftdi/Config.in
index dc81514..ce65158 100644
--- a/package/libftdi/Config.in
+++ b/package/libftdi/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBFTDI
bool "libftdi"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
@@ -18,5 +19,5 @@ config BR2_PACKAGE_LIBTFDI_CPP
endif # BR2_PACKAGE_LIBFTDI
-comment "libftdi needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libftdi needs a toolchain w/ threads, atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/openocd/Config.in b/package/openocd/Config.in
index 7f96ef8..e692d2d 100644
--- a/package/openocd/Config.in
+++ b/package/openocd/Config.in
@@ -14,11 +14,15 @@ comment "Adapters"
config BR2_PACKAGE_OPENOCD_FT2XXX
bool "FT2xxx/FT4xxx Based JTAG Programmer"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # libftdi
select BR2_PACKAGE_LIBFTDI
help
Enable building support for FT2232 based devices
using the libftdi driver, opensource alternate of FTD2XX
+comment "FT2232 support needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_OPENOCD_JLINK
bool "Segger J-Link JTAG Programmer"
help
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v3 4/4] msgpack: Add dependency on atomic intrinsics
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 2/4] pulseaudio: " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 3/4] libftdi: " Anton Kolesov
@ 2014-08-04 12:16 ` Anton Kolesov
2014-08-07 15:42 ` [Buildroot] [PATCH v3 1/4] cairo: " Thomas De Schampheleire
3 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-04 12:16 UTC (permalink / raw)
To: buildroot
Msgpack requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/msgpack/Config.in | 7 +++----
package/python-msgpack/Config.in | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in
index b380c58..7d6277f 100644
--- a/package/msgpack/Config.in
+++ b/package/msgpack/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MSGPACK
bool "msgpack"
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
MessagePack is an efficient binary serialization format.
@@ -10,6 +10,5 @@ config BR2_PACKAGE_MSGPACK
http://msgpack.org/
-comment "msgpack needs a toolchain w/ C++"
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+comment "msgpack needs a toolchain w/ C++, atomic intrinsics"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in
index c4b68a3..3b825a1 100644
--- a/package/python-msgpack/Config.in
+++ b/package/python-msgpack/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_MSGPACK
depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_MSGPACK
depends on BR2_INSTALL_LIBSTDCPP # msgpack
- depends on !BR2_arc # msgpack - atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # msgpack
help
MessagePack (http://msgpack.org/) is a fast, compact binary
serialization format, suitable for similar data to JSON.
@@ -12,7 +12,6 @@ config BR2_PACKAGE_PYTHON_MSGPACK
https://pypi.python.org/pypi/msgpack-python/
-comment "python-msgpack needs a toolchain w/ C++"
+comment "python-msgpack needs a toolchain w/ C++, atomic intrinsics"
depends on BR2_PACKAGE_PYTHON
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-03 9:32 ` Thomas Petazzoni
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
@ 2014-08-04 12:17 ` Anton Kolesov
2014-08-15 20:40 ` Yann E. MORIN
2014-08-15 22:17 ` Thomas Petazzoni
1 sibling, 2 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-04 12:17 UTC (permalink / raw)
To: buildroot
Add atomic intrinsics to the examples of dependencies comments.
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
docs/manual/adding-packages-directory.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
index 93e6a3e..4b4d056 100644
--- a/docs/manual/adding-packages-directory.txt
+++ b/docs/manual/adding-packages-directory.txt
@@ -265,6 +265,10 @@ use in the comment.
** Dependency symbol: +!BR2_PREFER_STATIC_LIB+
** Comment string: +dynamic library+
+* Atomic intrinsics
+** Dependency symbol: +!BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS+
+** Comment string: +atomic intrinsics+
+
==== Dependencies on a Linux kernel built by buildroot
Some packages need a Linux kernel to be built by buildroot. These are
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v3 1/4] cairo: Add dependency on atomic intrinsics
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
` (2 preceding siblings ...)
2014-08-04 12:16 ` [Buildroot] [PATCH v3 4/4] msgpack: " Anton Kolesov
@ 2014-08-07 15:42 ` Thomas De Schampheleire
3 siblings, 0 replies; 42+ messages in thread
From: Thomas De Schampheleire @ 2014-08-07 15:42 UTC (permalink / raw)
To: buildroot
Hi Anton,
On Mon, Aug 4, 2014 at 2:16 PM, Anton Kolesov
<Anton.Kolesov@synopsys.com> wrote:
> Cairo requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
>
> This fixes:
> http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
> ---
> package/cairo/Config.in | 4 ++++
> package/efl/libevas-generic-loaders/Config.in | 6 ++++--
> package/gstreamer/gst-plugins-good/Config.in | 4 ++++
> package/gstreamer1/gst1-plugins-good/Config.in | 4 ++++
> package/libgtk2/Config.in | 5 +++--
> package/librsvg/Config.in | 6 ++++--
> package/libsvg-cairo/Config.in | 4 ++++
> package/pango/Config.in | 5 +++--
> package/webkit/Config.in | 6 ++++--
> package/weston/Config.in | 4 ++++
> 10 files changed, 38 insertions(+), 10 deletions(-)
>
> diff --git a/package/cairo/Config.in b/package/cairo/Config.in
> index 0c87a29..2aeaa2a 100644
> --- a/package/cairo/Config.in
> +++ b/package/cairo/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> select BR2_PACKAGE_PIXMAN
> select BR2_PACKAGE_FONTCONFIG
> select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
> @@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
>
> http://cairographics.org/
>
> +comment "cairo needs a toolchain with atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
This should be 'w/' instead of 'with'
> +
> if BR2_PACKAGE_CAIRO
>
> config BR2_PACKAGE_CAIRO_PS
> diff --git a/package/efl/libevas-generic-loaders/Config.in b/package/efl/libevas-generic-loaders/Config.in
> index 23b9f77..c7145d5 100644
> --- a/package/efl/libevas-generic-loaders/Config.in
> +++ b/package/efl/libevas-generic-loaders/Config.in
> @@ -17,10 +17,12 @@ config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
> depends on BR2_USE_WCHAR # librsvg -> glib2
> depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
> depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> This option enables the Evas generic SVG loader
>
> -comment "SVG loader needs a toolchain w/ wchar, threads, C++"
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
> +comment "SVG loader needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
> + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
>
> endif
> diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
> index 3ec93cf..8bc79a2 100644
> --- a/package/gstreamer/gst-plugins-good/Config.in
> +++ b/package/gstreamer/gst-plugins-good/Config.in
> @@ -178,9 +178,13 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
>
> config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_PNG
>
> +comment "cairo needs a toolchain with atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
Same here
> +
> config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC
> bool "flac (libFLAC)"
> depends on BR2_USE_WCHAR # flac
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index 7159c5a..60ee17d 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -274,11 +274,15 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
>
> config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_PNG
> help
> Cairo-based elements
>
> +comment "cairo needs a toolchain with atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
and here
> config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC
> bool "flac (libFLAC)"
> depends on BR2_USE_WCHAR # flac
> diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
> index 5239c25..ce70256 100644
> --- a/package/libgtk2/Config.in
> +++ b/package/libgtk2/Config.in
> @@ -17,6 +17,7 @@ config BR2_PACKAGE_LIBGTK2
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> The GTK+ version 2 graphical user interface library
>
> @@ -32,8 +33,8 @@ config BR2_PACKAGE_LIBGTK2_DEMO
>
> endif
>
> -comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
> +comment "libgtk2 needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
> depends on BR2_USE_MMU
> depends on BR2_PACKAGE_XORG7
> depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
> - !BR2_TOOLCHAIN_HAS_THREADS
> + !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
> index 5dd4c58..e1dbf4f 100644
> --- a/package/librsvg/Config.in
> +++ b/package/librsvg/Config.in
> @@ -10,12 +10,14 @@ config BR2_PACKAGE_LIBRSVG
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> The rsvg library is an efficient renderer for Scalable
> Vector Graphics (SVG) pictures.
>
> http://librsvg.sourceforge.net/
>
> -comment "librsvg needs a toolchain w/ wchar, threads, C++"
> +comment "librsvg needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
> depends on BR2_USE_MMU
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
> + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/libsvg-cairo/Config.in b/package/libsvg-cairo/Config.in
> index 9577c69..48f09f6 100644
> --- a/package/libsvg-cairo/Config.in
> +++ b/package/libsvg-cairo/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_LIBSVG_CAIRO
> bool "libsvg-cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_SVG
> select BR2_PACKAGE_LIBSVG
> @@ -9,3 +10,6 @@ config BR2_PACKAGE_LIBSVG_CAIRO
> rendering library.
>
> http://cairographics.org
> +
> +comment "cairo needs a toolchain with atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
and here
> diff --git a/package/pango/Config.in b/package/pango/Config.in
> index 70f4fd3..6dee251 100644
> --- a/package/pango/Config.in
> +++ b/package/pango/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_PANGO
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # freetype support
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_LIBGLIB2
> select BR2_PACKAGE_EXPAT
> select BR2_PACKAGE_CAIRO
> @@ -21,7 +22,7 @@ config BR2_PACKAGE_PANGO
>
> http://www.pango.org/
>
> -comment "pango needs a toolchain w/ wchar, threads, C++"
> +comment "pango needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
> depends on BR2_USE_MMU
> depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> - !BR2_INSTALL_LIBSTDCPP
> + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/webkit/Config.in b/package/webkit/Config.in
> index c86eb94..99fe18a 100644
> --- a/package/webkit/Config.in
> +++ b/package/webkit/Config.in
> @@ -17,6 +17,7 @@ config BR2_PACKAGE_WEBKIT
> depends on BR2_PACKAGE_LIBGTK2
> depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
> depends on !BR2_BINFMT_FLAT # icu
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO_PNG
> select BR2_PACKAGE_ENCHANT
> select BR2_PACKAGE_HARFBUZZ
> @@ -41,7 +42,8 @@ config BR2_PACKAGE_WEBKIT
>
> http://webkit.org/
>
> -comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
> +comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads, atomic intrinsics"
> depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
> depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
> - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/weston/Config.in b/package/weston/Config.in
> index aaef405..4b3ca74 100644
> --- a/package/weston/Config.in
> +++ b/package/weston/Config.in
> @@ -15,6 +15,7 @@ config BR2_PACKAGE_WESTON
> depends on !BR2_avr32 # wayland
> depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> # Runtime dependency
> select BR2_PACKAGE_XKEYBOARD_CONFIG
> # Make sure at least one compositor is selected.
> @@ -27,6 +28,9 @@ config BR2_PACKAGE_WESTON
>
> http://wayland.freedesktop.org/
>
> +comment "weston needs a toolchain with atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
and here
Best regards,
Thomas
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics
[not found] <In-Reply-To: <CAAXf6LURyGxEfQR+3g6xriwqUeE1E91Oav2X=r_C3YD66JzpEA@mail.gmail.com>
@ 2014-08-08 15:09 ` Anton Kolesov
2014-08-08 15:09 ` [Buildroot] [PATCH v4 2/4] pulseaudio: " Anton Kolesov
` (4 more replies)
0 siblings, 5 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-08 15:09 UTC (permalink / raw)
To: buildroot
Cairo requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/cairo/Config.in | 4 ++++
package/efl/libevas-generic-loaders/Config.in | 6 ++++--
package/gstreamer/gst-plugins-good/Config.in | 4 ++++
package/gstreamer1/gst1-plugins-good/Config.in | 4 ++++
package/libgtk2/Config.in | 5 +++--
package/librsvg/Config.in | 6 ++++--
package/libsvg-cairo/Config.in | 4 ++++
package/pango/Config.in | 5 +++--
package/webkit/Config.in | 6 ++++--
package/weston/Config.in | 4 ++++
10 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/package/cairo/Config.in b/package/cairo/Config.in
index 0c87a29..103aa0d 100644
--- a/package/cairo/Config.in
+++ b/package/cairo/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_PIXMAN
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
@@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
http://cairographics.org/
+comment "cairo needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
if BR2_PACKAGE_CAIRO
config BR2_PACKAGE_CAIRO_PS
diff --git a/package/efl/libevas-generic-loaders/Config.in b/package/efl/libevas-generic-loaders/Config.in
index 23b9f77..c7145d5 100644
--- a/package/efl/libevas-generic-loaders/Config.in
+++ b/package/efl/libevas-generic-loaders/Config.in
@@ -17,10 +17,12 @@ config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
depends on BR2_USE_WCHAR # librsvg -> glib2
depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
This option enables the Evas generic SVG loader
-comment "SVG loader needs a toolchain w/ wchar, threads, C++"
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+comment "SVG loader needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
endif
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 3ec93cf..2e81a6a 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -178,9 +178,13 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
+comment "cairo needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC
bool "flac (libFLAC)"
depends on BR2_USE_WCHAR # flac
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index 7159c5a..aa45ba7 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -274,11 +274,15 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
bool "cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_PNG
help
Cairo-based elements
+comment "cairo needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC
bool "flac (libFLAC)"
depends on BR2_USE_WCHAR # flac
diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
index 5239c25..ce70256 100644
--- a/package/libgtk2/Config.in
+++ b/package/libgtk2/Config.in
@@ -17,6 +17,7 @@ config BR2_PACKAGE_LIBGTK2
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
The GTK+ version 2 graphical user interface library
@@ -32,8 +33,8 @@ config BR2_PACKAGE_LIBGTK2_DEMO
endif
-comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
+comment "libgtk2 needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
depends on BR2_PACKAGE_XORG7
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_HAS_THREADS
+ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
index 5dd4c58..e1dbf4f 100644
--- a/package/librsvg/Config.in
+++ b/package/librsvg/Config.in
@@ -10,12 +10,14 @@ config BR2_PACKAGE_LIBRSVG
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # pango
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
help
The rsvg library is an efficient renderer for Scalable
Vector Graphics (SVG) pictures.
http://librsvg.sourceforge.net/
-comment "librsvg needs a toolchain w/ wchar, threads, C++"
+comment "librsvg needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/libsvg-cairo/Config.in b/package/libsvg-cairo/Config.in
index 9577c69..a1a8401 100644
--- a/package/libsvg-cairo/Config.in
+++ b/package/libsvg-cairo/Config.in
@@ -1,5 +1,6 @@
config BR2_PACKAGE_LIBSVG_CAIRO
bool "libsvg-cairo"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_CAIRO_SVG
select BR2_PACKAGE_LIBSVG
@@ -9,3 +10,6 @@ config BR2_PACKAGE_LIBSVG_CAIRO
rendering library.
http://cairographics.org
+
+comment "cairo needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/pango/Config.in b/package/pango/Config.in
index 70f4fd3..6dee251 100644
--- a/package/pango/Config.in
+++ b/package/pango/Config.in
@@ -4,6 +4,7 @@ config BR2_PACKAGE_PANGO
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
depends on BR2_USE_MMU # glib2
depends on BR2_INSTALL_LIBSTDCPP # freetype support
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_LIBGLIB2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_CAIRO
@@ -21,7 +22,7 @@ config BR2_PACKAGE_PANGO
http://www.pango.org/
-comment "pango needs a toolchain w/ wchar, threads, C++"
+comment "pango needs a toolchain w/ wchar, threads, C++, atomic intrinsics"
depends on BR2_USE_MMU
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
- !BR2_INSTALL_LIBSTDCPP
+ !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/webkit/Config.in b/package/webkit/Config.in
index b7f903c..f42a96f 100644
--- a/package/webkit/Config.in
+++ b/package/webkit/Config.in
@@ -17,6 +17,7 @@ config BR2_PACKAGE_WEBKIT
depends on BR2_PACKAGE_LIBGTK2
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_BINFMT_FLAT # icu
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
select BR2_PACKAGE_CAIRO_PNG
select BR2_PACKAGE_ENCHANT
select BR2_PACKAGE_HARFBUZZ
@@ -41,8 +42,9 @@ config BR2_PACKAGE_WEBKIT
http://webkit.org/
-comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
+comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads, atomic intrinsics"
depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+ !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
depends on BR2_USE_MMU
diff --git a/package/weston/Config.in b/package/weston/Config.in
index aaef405..f927c5f 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -15,6 +15,7 @@ config BR2_PACKAGE_WESTON
depends on !BR2_avr32 # wayland
depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
# Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG
# Make sure at least one compositor is selected.
@@ -27,6 +28,9 @@ config BR2_PACKAGE_WESTON
http://wayland.freedesktop.org/
+comment "weston needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
if BR2_PACKAGE_WESTON
# Helper to make sure at least one compositor is selected.
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 2/4] pulseaudio: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
@ 2014-08-08 15:09 ` Anton Kolesov
2014-08-15 20:54 ` Yann E. MORIN
2014-08-08 15:09 ` [Buildroot] [PATCH v4 3/4] libftdi: " Anton Kolesov
` (3 subsequent siblings)
4 siblings, 1 reply; 42+ messages in thread
From: Anton Kolesov @ 2014-08-08 15:09 UTC (permalink / raw)
To: buildroot
Pulseaudio requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/gstreamer/gst-plugins-good/Config.in | 5 +++++
package/gstreamer1/gst1-plugins-good/Config.in | 5 +++++
package/mpd/Config.in | 5 +++--
package/pulseaudio/Config.in | 6 ++++--
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
index 2e81a6a..7ab9519 100644
--- a/package/gstreamer/gst-plugins-good/Config.in
+++ b/package/gstreamer/gst-plugins-good/Config.in
@@ -212,9 +212,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
+comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
index aa45ba7..71b0a37 100644
--- a/package/gstreamer1/gst1-plugins-good/Config.in
+++ b/package/gstreamer1/gst1-plugins-good/Config.in
@@ -308,11 +308,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
depends on BR2_USE_MMU # pulseaudio
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
bool "pulseaudio"
help
PulseAudio plugin library
+comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
bool "souphttpsrc (http client)"
depends on BR2_USE_WCHAR # libsoup -> glib2
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index f5f5b34..8382a5d 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -45,12 +45,13 @@ config BR2_PACKAGE_MPD_AUDIOFILE
config BR2_PACKAGE_MPD_PULSEAUDIO
bool "pulseaudio"
depends on BR2_LARGEFILE # pulseaudio -> libsndfile
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
select BR2_PACKAGE_PULSEAUDIO
help
Enable pulseaudio output support.
-comment "pulseaudio support needs a toolchain w/ largefile"
- depends on !BR2_LARGEFILE
+comment "pulseaudio support needs a toolchain w/ largefile, atomic intrinsics"
+ depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
config BR2_PACKAGE_MPD_BZIP2
bool "bzip2"
diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
index ac6222c..de99fc8 100644
--- a/package/pulseaudio/Config.in
+++ b/package/pulseaudio/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_PULSEAUDIO
select BR2_PACKAGE_SPEEX
depends on BR2_LARGEFILE
depends on BR2_USE_MMU # fork()
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
PulseAudio is a sound system for POSIX OSes, meaning that it
is a proxy for your sound applications. It allows you to do
@@ -30,6 +31,7 @@ config BR2_PACKAGE_PULSEAUDIO_DAEMON
endif
-comment "pulseaudio needs a toolchain w/ wchar, largefile, threads"
+comment "pulseaudio needs a toolchain w/ wchar, largefile, threads, atomic intrinsics"
depends on BR2_USE_MMU
- depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
+ || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 3/4] libftdi: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
2014-08-08 15:09 ` [Buildroot] [PATCH v4 2/4] pulseaudio: " Anton Kolesov
@ 2014-08-08 15:09 ` Anton Kolesov
2014-08-15 20:58 ` Yann E. MORIN
2014-08-08 15:09 ` [Buildroot] [PATCH v4 4/4] msgpack: " Anton Kolesov
` (2 subsequent siblings)
4 siblings, 1 reply; 42+ messages in thread
From: Anton Kolesov @ 2014-08-08 15:09 UTC (permalink / raw)
To: buildroot
Libftdi requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/libftdi/Config.in | 5 +++--
package/openocd/Config.in | 4 ++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/package/libftdi/Config.in b/package/libftdi/Config.in
index dc81514..ce65158 100644
--- a/package/libftdi/Config.in
+++ b/package/libftdi/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBFTDI
bool "libftdi"
depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
select BR2_PACKAGE_LIBUSB
select BR2_PACKAGE_LIBUSB_COMPAT
help
@@ -18,5 +19,5 @@ config BR2_PACKAGE_LIBTFDI_CPP
endif # BR2_PACKAGE_LIBFTDI
-comment "libftdi needs a toolchain w/ threads"
- depends on !BR2_TOOLCHAIN_HAS_THREADS
+comment "libftdi needs a toolchain w/ threads, atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/openocd/Config.in b/package/openocd/Config.in
index 7f96ef8..e692d2d 100644
--- a/package/openocd/Config.in
+++ b/package/openocd/Config.in
@@ -14,11 +14,15 @@ comment "Adapters"
config BR2_PACKAGE_OPENOCD_FT2XXX
bool "FT2xxx/FT4xxx Based JTAG Programmer"
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # libftdi
select BR2_PACKAGE_LIBFTDI
help
Enable building support for FT2232 based devices
using the libftdi driver, opensource alternate of FTD2XX
+comment "FT2232 support needs a toolchain w/ atomic intrinsics"
+ depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
config BR2_PACKAGE_OPENOCD_JLINK
bool "Segger J-Link JTAG Programmer"
help
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 4/4] msgpack: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
2014-08-08 15:09 ` [Buildroot] [PATCH v4 2/4] pulseaudio: " Anton Kolesov
2014-08-08 15:09 ` [Buildroot] [PATCH v4 3/4] libftdi: " Anton Kolesov
@ 2014-08-08 15:09 ` Anton Kolesov
2014-08-15 21:04 ` Yann E. MORIN
2014-08-15 12:49 ` [Buildroot] [PATCH v4 1/4] cairo: " Anton Kolesov
2014-08-15 20:46 ` Yann E. MORIN
4 siblings, 1 reply; 42+ messages in thread
From: Anton Kolesov @ 2014-08-08 15:09 UTC (permalink / raw)
To: buildroot
Msgpack requires GCC built-in atomic functions which are architecture specific
and may not be implemented.
This fixes:
http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
---
package/msgpack/Config.in | 7 +++----
package/python-msgpack/Config.in | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in
index b380c58..7d6277f 100644
--- a/package/msgpack/Config.in
+++ b/package/msgpack/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_MSGPACK
bool "msgpack"
depends on BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc # atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
help
MessagePack is an efficient binary serialization format.
@@ -10,6 +10,5 @@ config BR2_PACKAGE_MSGPACK
http://msgpack.org/
-comment "msgpack needs a toolchain w/ C++"
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+comment "msgpack needs a toolchain w/ C++, atomic intrinsics"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in
index c4b68a3..3b825a1 100644
--- a/package/python-msgpack/Config.in
+++ b/package/python-msgpack/Config.in
@@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_MSGPACK
depends on BR2_PACKAGE_PYTHON
select BR2_PACKAGE_MSGPACK
depends on BR2_INSTALL_LIBSTDCPP # msgpack
- depends on !BR2_arc # msgpack - atomic builtins
+ depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # msgpack
help
MessagePack (http://msgpack.org/) is a fast, compact binary
serialization format, suitable for similar data to JSON.
@@ -12,7 +12,6 @@ config BR2_PACKAGE_PYTHON_MSGPACK
https://pypi.python.org/pypi/msgpack-python/
-comment "python-msgpack needs a toolchain w/ C++"
+comment "python-msgpack needs a toolchain w/ C++, atomic intrinsics"
depends on BR2_PACKAGE_PYTHON
- depends on !BR2_INSTALL_LIBSTDCPP
- depends on !BR2_arc
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
--
1.8.4.1
^ permalink raw reply related [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
` (2 preceding siblings ...)
2014-08-08 15:09 ` [Buildroot] [PATCH v4 4/4] msgpack: " Anton Kolesov
@ 2014-08-15 12:49 ` Anton Kolesov
2014-08-15 20:46 ` Yann E. MORIN
4 siblings, 0 replies; 42+ messages in thread
From: Anton Kolesov @ 2014-08-15 12:49 UTC (permalink / raw)
To: buildroot
Hi,
Any news on this and my submission to the manual (https://patchwork.ozlabs.org/patch/376259/)?
Anton
> -----Original Message-----
> From: Anton Kolesov [mailto:Anton.Kolesov at synopsys.com]
> Sent: 08 August 2014 19:09
> To: buildroot at uclibc.org
> Cc: Anton Kolesov; Alexey Brodkin
> Subject: [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics
>
> Cairo requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
>
> This fixes:
> http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31b
> ee1601d0/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
> ---
> package/cairo/Config.in | 4 ++++
> package/efl/libevas-generic-loaders/Config.in | 6 ++++--
> package/gstreamer/gst-plugins-good/Config.in | 4 ++++
> package/gstreamer1/gst1-plugins-good/Config.in | 4 ++++
> package/libgtk2/Config.in | 5 +++--
> package/librsvg/Config.in | 6 ++++--
> package/libsvg-cairo/Config.in | 4 ++++
> package/pango/Config.in | 5 +++--
> package/webkit/Config.in | 6 ++++--
> package/weston/Config.in | 4 ++++
> 10 files changed, 38 insertions(+), 10 deletions(-)
>
> diff --git a/package/cairo/Config.in b/package/cairo/Config.in
> index 0c87a29..103aa0d 100644
> --- a/package/cairo/Config.in
> +++ b/package/cairo/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> select BR2_PACKAGE_PIXMAN
> select BR2_PACKAGE_FONTCONFIG
> select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
> @@ -13,6 +14,9 @@ config BR2_PACKAGE_CAIRO
>
> http://cairographics.org/
>
> +comment "cairo needs a toolchain w/ atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> if BR2_PACKAGE_CAIRO
>
> config BR2_PACKAGE_CAIRO_PS
> diff --git a/package/efl/libevas-generic-loaders/Config.in
> b/package/efl/libevas-generic-loaders/Config.in
> index 23b9f77..c7145d5 100644
> --- a/package/efl/libevas-generic-loaders/Config.in
> +++ b/package/efl/libevas-generic-loaders/Config.in
> @@ -17,10 +17,12 @@ config
> BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS_SVG
> depends on BR2_USE_WCHAR # librsvg -> glib2
> depends on BR2_TOOLCHAIN_HAS_THREADS # librsvg -> glib2
> depends on BR2_INSTALL_LIBSTDCPP # librsvg -> pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> This option enables the Evas generic SVG loader
>
> -comment "SVG loader needs a toolchain w/ wchar, threads, C++"
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> || !BR2_INSTALL_LIBSTDCPP
> +comment "SVG loader needs a toolchain w/ wchar, threads, C++, atomic
> intrinsics"
> + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> || !BR2_INSTALL_LIBSTDCPP \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
>
> endif
> diff --git a/package/gstreamer/gst-plugins-good/Config.in
> b/package/gstreamer/gst-plugins-good/Config.in
> index 3ec93cf..2e81a6a 100644
> --- a/package/gstreamer/gst-plugins-good/Config.in
> +++ b/package/gstreamer/gst-plugins-good/Config.in
> @@ -178,9 +178,13 @@ config
> BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_ANNODEX
>
> config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_PNG
>
> +comment "cairo needs a toolchain w/ atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_FLAC
> bool "flac (libFLAC)"
> depends on BR2_USE_WCHAR # flac
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in
> b/package/gstreamer1/gst1-plugins-good/Config.in
> index 7159c5a..aa45ba7 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -274,11 +274,15 @@ config
> BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_V4L2
>
> config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_CAIRO
> bool "cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_PNG
> help
> Cairo-based elements
>
> +comment "cairo needs a toolchain w/ atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_FLAC
> bool "flac (libFLAC)"
> depends on BR2_USE_WCHAR # flac
> diff --git a/package/libgtk2/Config.in b/package/libgtk2/Config.in
> index 5239c25..ce70256 100644
> --- a/package/libgtk2/Config.in
> +++ b/package/libgtk2/Config.in
> @@ -17,6 +17,7 @@ config BR2_PACKAGE_LIBGTK2
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> The GTK+ version 2 graphical user interface library
>
> @@ -32,8 +33,8 @@ config BR2_PACKAGE_LIBGTK2_DEMO
>
> endif
>
> -comment "libgtk2 needs a toolchain w/ wchar, threads, C++"
> +comment "libgtk2 needs a toolchain w/ wchar, threads, C++, atomic
> intrinsics"
> depends on BR2_USE_MMU
> depends on BR2_PACKAGE_XORG7
> depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
> - !BR2_TOOLCHAIN_HAS_THREADS
> + !BR2_TOOLCHAIN_HAS_THREADS ||
> !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/librsvg/Config.in b/package/librsvg/Config.in
> index 5dd4c58..e1dbf4f 100644
> --- a/package/librsvg/Config.in
> +++ b/package/librsvg/Config.in
> @@ -10,12 +10,14 @@ config BR2_PACKAGE_LIBRSVG
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # pango
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> help
> The rsvg library is an efficient renderer for Scalable
> Vector Graphics (SVG) pictures.
>
> http://librsvg.sourceforge.net/
>
> -comment "librsvg needs a toolchain w/ wchar, threads, C++"
> +comment "librsvg needs a toolchain w/ wchar, threads, C++, atomic
> intrinsics"
> depends on BR2_USE_MMU
> - depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> || !BR2_INSTALL_LIBSTDCPP
> + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> || !BR2_INSTALL_LIBSTDCPP \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/libsvg-cairo/Config.in b/package/libsvg-cairo/Config.in
> index 9577c69..a1a8401 100644
> --- a/package/libsvg-cairo/Config.in
> +++ b/package/libsvg-cairo/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_LIBSVG_CAIRO
> bool "libsvg-cairo"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO
> select BR2_PACKAGE_CAIRO_SVG
> select BR2_PACKAGE_LIBSVG
> @@ -9,3 +10,6 @@ config BR2_PACKAGE_LIBSVG_CAIRO
> rendering library.
>
> http://cairographics.org
> +
> +comment "cairo needs a toolchain w/ atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/pango/Config.in b/package/pango/Config.in
> index 70f4fd3..6dee251 100644
> --- a/package/pango/Config.in
> +++ b/package/pango/Config.in
> @@ -4,6 +4,7 @@ config BR2_PACKAGE_PANGO
> depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
> depends on BR2_USE_MMU # glib2
> depends on BR2_INSTALL_LIBSTDCPP # freetype support
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_LIBGLIB2
> select BR2_PACKAGE_EXPAT
> select BR2_PACKAGE_CAIRO
> @@ -21,7 +22,7 @@ config BR2_PACKAGE_PANGO
>
> http://www.pango.org/
>
> -comment "pango needs a toolchain w/ wchar, threads, C++"
> +comment "pango needs a toolchain w/ wchar, threads, C++, atomic
> intrinsics"
> depends on BR2_USE_MMU
> depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> || \
> - !BR2_INSTALL_LIBSTDCPP
> + !BR2_INSTALL_LIBSTDCPP ||
> !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/webkit/Config.in b/package/webkit/Config.in
> index b7f903c..f42a96f 100644
> --- a/package/webkit/Config.in
> +++ b/package/webkit/Config.in
> @@ -17,6 +17,7 @@ config BR2_PACKAGE_WEBKIT
> depends on BR2_PACKAGE_LIBGTK2
> depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
> depends on !BR2_BINFMT_FLAT # icu
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO_PNG
> select BR2_PACKAGE_ENCHANT
> select BR2_PACKAGE_HARFBUZZ
> @@ -41,8 +42,9 @@ config BR2_PACKAGE_WEBKIT
>
> http://webkit.org/
>
> -comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads"
> +comment "webkit needs libgtk2 and a toolchain w/ C++, wchar, threads,
> atomic intrinsics"
> depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
> depends on !BR2_PACKAGE_LIBGTK2 || !BR2_INSTALL_LIBSTDCPP
> || \
> - !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
> + !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
> + !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> depends on BR2_USE_MMU
> diff --git a/package/weston/Config.in b/package/weston/Config.in
> index aaef405..f927c5f 100644
> --- a/package/weston/Config.in
> +++ b/package/weston/Config.in
> @@ -15,6 +15,7 @@ config BR2_PACKAGE_WESTON
> depends on !BR2_avr32 # wayland
> depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
> depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> # Runtime dependency
> select BR2_PACKAGE_XKEYBOARD_CONFIG
> # Make sure at least one compositor is selected.
> @@ -27,6 +28,9 @@ config BR2_PACKAGE_WESTON
>
> http://wayland.freedesktop.org/
>
> +comment "weston needs a toolchain w/ atomic intrinsics"
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> if BR2_PACKAGE_WESTON
>
> # Helper to make sure at least one compositor is selected.
> --
> 1.8.4.1
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-04 12:17 ` [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section Anton Kolesov
@ 2014-08-15 20:40 ` Yann E. MORIN
2014-08-15 22:17 ` Thomas Petazzoni
1 sibling, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 20:40 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-08-04 16:17 +0400, Anton Kolesov spake thusly:
> Add atomic intrinsics to the examples of dependencies comments.
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> ---
> docs/manual/adding-packages-directory.txt | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
> index 93e6a3e..4b4d056 100644
> --- a/docs/manual/adding-packages-directory.txt
> +++ b/docs/manual/adding-packages-directory.txt
> @@ -265,6 +265,10 @@ use in the comment.
> ** Dependency symbol: +!BR2_PREFER_STATIC_LIB+
> ** Comment string: +dynamic library+
>
> +* Atomic intrinsics
> +** Dependency symbol: +!BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS+
> +** Comment string: +atomic intrinsics+
> +
> ==== Dependencies on a Linux kernel built by buildroot
>
> Some packages need a Linux kernel to be built by buildroot. These are
> --
> 1.8.4.1
>
> _______________________________________________
> 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
` (3 preceding siblings ...)
2014-08-15 12:49 ` [Buildroot] [PATCH v4 1/4] cairo: " Anton Kolesov
@ 2014-08-15 20:46 ` Yann E. MORIN
4 siblings, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 20:46 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-08-08 19:09 +0400, Anton Kolesov spake thusly:
> Cairo requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
>
> This fixes:
> http://autobuild.buildroot.net/results/fadfaa9916724d310d0dda555a1db31bee1601d0/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
However, a small comment, unrelated to your change...
[--SNIP--]
> diff --git a/package/webkit/Config.in b/package/webkit/Config.in
> index b7f903c..f42a96f 100644
> --- a/package/webkit/Config.in
> +++ b/package/webkit/Config.in
> @@ -17,6 +17,7 @@ config BR2_PACKAGE_WEBKIT
> depends on BR2_PACKAGE_LIBGTK2
> depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
> depends on !BR2_BINFMT_FLAT # icu
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # cairo
> select BR2_PACKAGE_CAIRO_PNG
This should also 'select BR2_PACKAGE_CAIRO' but that's not the fault of
your patch.
I'll send a fix for that shortly.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 2/4] pulseaudio: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 2/4] pulseaudio: " Anton Kolesov
@ 2014-08-15 20:54 ` Yann E. MORIN
0 siblings, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 20:54 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-08-08 19:09 +0400, Anton Kolesov spake thusly:
> Pulseaudio requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
>
> This fixes:
> http://autobuild.buildroot.net/results/d463f3bf730a600a07ed6cd33695bf45e9fd3540/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
You forgot espeak's pulseaudio backen option:
config BR2_PACKAGE_ESPEAK_AUDIO_BACKEND_PULSEAUDIO
select BR2_PACKAGE_PULSEAUDIO
which should also depend on intrinsics.
Regards,
Yann E. MORIN.
> ---
> package/gstreamer/gst-plugins-good/Config.in | 5 +++++
> package/gstreamer1/gst1-plugins-good/Config.in | 5 +++++
> package/mpd/Config.in | 5 +++--
> package/pulseaudio/Config.in | 6 ++++--
> 4 files changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/package/gstreamer/gst-plugins-good/Config.in b/package/gstreamer/gst-plugins-good/Config.in
> index 2e81a6a..7ab9519 100644
> --- a/package/gstreamer/gst-plugins-good/Config.in
> +++ b/package/gstreamer/gst-plugins-good/Config.in
> @@ -212,9 +212,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
> depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
> depends on BR2_LARGEFILE # pulseaudio -> libsndfile
> depends on BR2_USE_MMU # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
> select BR2_PACKAGE_PULSEAUDIO
> bool "pulseaudio"
>
> +comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
> + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
> bool "souphttpsrc (http client)"
> depends on BR2_USE_WCHAR # libsoup -> glib2
> diff --git a/package/gstreamer1/gst1-plugins-good/Config.in b/package/gstreamer1/gst1-plugins-good/Config.in
> index aa45ba7..71b0a37 100644
> --- a/package/gstreamer1/gst1-plugins-good/Config.in
> +++ b/package/gstreamer1/gst1-plugins-good/Config.in
> @@ -308,11 +308,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
> depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
> depends on BR2_LARGEFILE # pulseaudio -> libsndfile
> depends on BR2_USE_MMU # pulseaudio
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
> select BR2_PACKAGE_PULSEAUDIO
> bool "pulseaudio"
> help
> PulseAudio plugin library
>
> +comment "pulseaudio support needs a toolchain w/ largefile, threads, atomic intrinsics"
> + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
> bool "souphttpsrc (http client)"
> depends on BR2_USE_WCHAR # libsoup -> glib2
> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index f5f5b34..8382a5d 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -45,12 +45,13 @@ config BR2_PACKAGE_MPD_AUDIOFILE
> config BR2_PACKAGE_MPD_PULSEAUDIO
> bool "pulseaudio"
> depends on BR2_LARGEFILE # pulseaudio -> libsndfile
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # pulseaudio
> select BR2_PACKAGE_PULSEAUDIO
> help
> Enable pulseaudio output support.
>
> -comment "pulseaudio support needs a toolchain w/ largefile"
> - depends on !BR2_LARGEFILE
> +comment "pulseaudio support needs a toolchain w/ largefile, atomic intrinsics"
> + depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
>
> config BR2_PACKAGE_MPD_BZIP2
> bool "bzip2"
> diff --git a/package/pulseaudio/Config.in b/package/pulseaudio/Config.in
> index ac6222c..de99fc8 100644
> --- a/package/pulseaudio/Config.in
> +++ b/package/pulseaudio/Config.in
> @@ -8,6 +8,7 @@ config BR2_PACKAGE_PULSEAUDIO
> select BR2_PACKAGE_SPEEX
> depends on BR2_LARGEFILE
> depends on BR2_USE_MMU # fork()
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> help
> PulseAudio is a sound system for POSIX OSes, meaning that it
> is a proxy for your sound applications. It allows you to do
> @@ -30,6 +31,7 @@ config BR2_PACKAGE_PULSEAUDIO_DAEMON
>
> endif
>
> -comment "pulseaudio needs a toolchain w/ wchar, largefile, threads"
> +comment "pulseaudio needs a toolchain w/ wchar, largefile, threads, atomic intrinsics"
> depends on BR2_USE_MMU
> - depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
> + depends on !BR2_USE_WCHAR || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS \
> + || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> --
> 1.8.4.1
>
> _______________________________________________
> 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 3/4] libftdi: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 3/4] libftdi: " Anton Kolesov
@ 2014-08-15 20:58 ` Yann E. MORIN
0 siblings, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 20:58 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-08-08 19:09 +0400, Anton Kolesov spake thusly:
> Libftdi requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
>
> This fixes:
> http://autobuild.buildroot.net/results/6cb25ed954840109c9d0e582e922b0ba9d07e174/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
However, I do have a small eye-candy comment to make, see below...
[--SNIP--]
> diff --git a/package/openocd/Config.in b/package/openocd/Config.in
> index 7f96ef8..e692d2d 100644
> --- a/package/openocd/Config.in
> +++ b/package/openocd/Config.in
> @@ -14,11 +14,15 @@ comment "Adapters"
>
> config BR2_PACKAGE_OPENOCD_FT2XXX
> bool "FT2xxx/FT4xxx Based JTAG Programmer"
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # libftdi
> select BR2_PACKAGE_LIBFTDI
> help
> Enable building support for FT2232 based devices
> using the libftdi driver, opensource alternate of FTD2XX
>
> +comment "FT2232 support needs a toolchain w/ atomic intrinsics"
I'd prefer we keep the same title for comment and options, such as:
comment "FT2xxx/FT4xxx support needs a toolchain w/ atomic intrinsics"
This can be fixed by whoever commits that, I guess no need to resend.
Regards,
Yann E. MORIN.
> + depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> +
> config BR2_PACKAGE_OPENOCD_JLINK
> bool "Segger J-Link JTAG Programmer"
> help
> --
> 1.8.4.1
>
> _______________________________________________
> 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH v4 4/4] msgpack: Add dependency on atomic intrinsics
2014-08-08 15:09 ` [Buildroot] [PATCH v4 4/4] msgpack: " Anton Kolesov
@ 2014-08-15 21:04 ` Yann E. MORIN
0 siblings, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 21:04 UTC (permalink / raw)
To: buildroot
Anton, All,
On 2014-08-08 19:09 +0400, Anton Kolesov spake thusly:
> Msgpack requires GCC built-in atomic functions which are architecture specific
> and may not be implemented.
Well, this patch does a bit more than that: it replaces the dependency
on !ARC with the new generic dependency.
What about enhancing the commit log as thus, for example:
Msgpack requires GCC built-in atomic functions which are
architecture specific and may not be implemented.
Replace the current dependency on !ARC (which was the sole
architecture so far to not have intrinsics), to the generic
_HAS_ATOMIC_INTRINSICS dependency.
Otherwise:
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Regards,
Yann E. MORIN.
> This fixes:
> http://autobuild.buildroot.net/results/44849a386cefb8899f4560296bfbbd8ea19ee910/
>
> Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
> ---
> package/msgpack/Config.in | 7 +++----
> package/python-msgpack/Config.in | 7 +++----
> 2 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/package/msgpack/Config.in b/package/msgpack/Config.in
> index b380c58..7d6277f 100644
> --- a/package/msgpack/Config.in
> +++ b/package/msgpack/Config.in
> @@ -1,7 +1,7 @@
> config BR2_PACKAGE_MSGPACK
> bool "msgpack"
> depends on BR2_INSTALL_LIBSTDCPP
> - depends on !BR2_arc # atomic builtins
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> help
> MessagePack is an efficient binary serialization format.
>
> @@ -10,6 +10,5 @@ config BR2_PACKAGE_MSGPACK
>
> http://msgpack.org/
>
> -comment "msgpack needs a toolchain w/ C++"
> - depends on !BR2_INSTALL_LIBSTDCPP
> - depends on !BR2_arc
> +comment "msgpack needs a toolchain w/ C++, atomic intrinsics"
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> diff --git a/package/python-msgpack/Config.in b/package/python-msgpack/Config.in
> index c4b68a3..3b825a1 100644
> --- a/package/python-msgpack/Config.in
> +++ b/package/python-msgpack/Config.in
> @@ -3,7 +3,7 @@ config BR2_PACKAGE_PYTHON_MSGPACK
> depends on BR2_PACKAGE_PYTHON
> select BR2_PACKAGE_MSGPACK
> depends on BR2_INSTALL_LIBSTDCPP # msgpack
> - depends on !BR2_arc # msgpack - atomic builtins
> + depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # msgpack
> help
> MessagePack (http://msgpack.org/) is a fast, compact binary
> serialization format, suitable for similar data to JSON.
> @@ -12,7 +12,6 @@ config BR2_PACKAGE_PYTHON_MSGPACK
>
> https://pypi.python.org/pypi/msgpack-python/
>
> -comment "python-msgpack needs a toolchain w/ C++"
> +comment "python-msgpack needs a toolchain w/ C++, atomic intrinsics"
> depends on BR2_PACKAGE_PYTHON
> - depends on !BR2_INSTALL_LIBSTDCPP
> - depends on !BR2_arc
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
> --
> 1.8.4.1
>
> _______________________________________________
> 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-04 12:17 ` [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section Anton Kolesov
2014-08-15 20:40 ` Yann E. MORIN
@ 2014-08-15 22:17 ` Thomas Petazzoni
2014-08-15 22:23 ` Yann E. MORIN
1 sibling, 1 reply; 42+ messages in thread
From: Thomas Petazzoni @ 2014-08-15 22:17 UTC (permalink / raw)
To: buildroot
Dear Anton Kolesov,
On Mon, 4 Aug 2014 16:17:08 +0400, Anton Kolesov wrote:
> diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
> index 93e6a3e..4b4d056 100644
> --- a/docs/manual/adding-packages-directory.txt
> +++ b/docs/manual/adding-packages-directory.txt
> @@ -265,6 +265,10 @@ use in the comment.
> ** Dependency symbol: +!BR2_PREFER_STATIC_LIB+
> ** Comment string: +dynamic library+
>
> +* Atomic intrinsics
> +** Dependency symbol: +!BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS+
> +** Comment string: +atomic intrinsics+
Actually, the more I think about this, and the more I believe it should
be a property of the architecture rather than a property of the
toolchain. So it should probably rather be
BR2_ARCH_HAS_ATOMIC_INTRINSICS. And then, since it's a property of the
architecture, i.e not something the user can enable/disable, there is
no point in adding Config.in comment for that. So we would handle that
like we handle BR2_USE_MMU, not like we handle BR2_LARGEFILE.
Thoughts?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-15 22:17 ` Thomas Petazzoni
@ 2014-08-15 22:23 ` Yann E. MORIN
2014-08-16 7:40 ` Thomas Petazzoni
0 siblings, 1 reply; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-15 22:23 UTC (permalink / raw)
To: buildroot
Thomas, Anton, All,
On 2014-08-16 00:17 +0200, Thomas Petazzoni spake thusly:
> On Mon, 4 Aug 2014 16:17:08 +0400, Anton Kolesov wrote:
> > diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt
> > index 93e6a3e..4b4d056 100644
> > --- a/docs/manual/adding-packages-directory.txt
> > +++ b/docs/manual/adding-packages-directory.txt
> > @@ -265,6 +265,10 @@ use in the comment.
> > ** Dependency symbol: +!BR2_PREFER_STATIC_LIB+
> > ** Comment string: +dynamic library+
> >
> > +* Atomic intrinsics
> > +** Dependency symbol: +!BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS+
> > +** Comment string: +atomic intrinsics+
>
> Actually, the more I think about this, and the more I believe it should
> be a property of the architecture rather than a property of the
> toolchain. So it should probably rather be
> BR2_ARCH_HAS_ATOMIC_INTRINSICS. And then, since it's a property of the
> architecture, i.e not something the user can enable/disable, there is
> no point in adding Config.in comment for that. So we would handle that
> like we handle BR2_USE_MMU, not like we handle BR2_LARGEFILE.
>
> Thoughts?
Ah, I remember now, that we talked about that. My bad, I had forgotten
during the review.
However, we can't really change the implementation now, we're frozen for
the release.
What about adding this to the manual for now, since it does reflect the
current status of the code, and switch to an architecture option in
-next, or after the release is cut?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-15 22:23 ` Yann E. MORIN
@ 2014-08-16 7:40 ` Thomas Petazzoni
2014-08-16 15:26 ` Yann E. MORIN
0 siblings, 1 reply; 42+ messages in thread
From: Thomas Petazzoni @ 2014-08-16 7:40 UTC (permalink / raw)
To: buildroot
Dear Yann E. MORIN,
On Sat, 16 Aug 2014 00:23:08 +0200, Yann E. MORIN wrote:
> Ah, I remember now, that we talked about that. My bad, I had forgotten
> during the review.
>
> However, we can't really change the implementation now, we're frozen for
> the release.
>
> What about adding this to the manual for now, since it does reflect the
> current status of the code, and switch to an architecture option in
> -next, or after the release is cut?
I disagree: it's still time to change this, before it gets set in stone
by doing a release.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 42+ messages in thread
* [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section
2014-08-16 7:40 ` Thomas Petazzoni
@ 2014-08-16 15:26 ` Yann E. MORIN
0 siblings, 0 replies; 42+ messages in thread
From: Yann E. MORIN @ 2014-08-16 15:26 UTC (permalink / raw)
To: buildroot
Thomas, All,
On 2014-08-16 09:40 +0200, Thomas Petazzoni spake thusly:
> On Sat, 16 Aug 2014 00:23:08 +0200, Yann E. MORIN wrote:
>
> > Ah, I remember now, that we talked about that. My bad, I had forgotten
> > during the review.
> >
> > However, we can't really change the implementation now, we're frozen for
> > the release.
> >
> > What about adding this to the manual for now, since it does reflect the
> > current status of the code, and switch to an architecture option in
> > -next, or after the release is cut?
>
> I disagree: it's still time to change this, before it gets set in stone
> by doing a release.
OK, I'll see to send a patch series for that tonight.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 42+ messages in thread
end of thread, other threads:[~2014-08-16 15:26 UTC | newest]
Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-07-28 18:02 [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 2/9] cairo: arc: Disable if ARC atomics are disabled Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 3/9] jack2: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 4/9] pulseaudio: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 5/9] libftdi: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 6/9] msgpack: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 7/9] icu: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 8/9] libtorrent: " Anton Kolesov
2014-07-28 18:02 ` [Buildroot] [PATCH 9/9] thrift: " Anton Kolesov
2014-07-30 6:45 ` [Buildroot] [PATCH 1/9] arc: Support option of atomic extension Thomas Petazzoni
2014-07-31 13:24 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for atomic intrinsics Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 2/9] cairo: Add dependency on " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 3/9] jack2: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 4/9] pulseaudio: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 5/9] libftdi: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 6/9] msgpack: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 7/9] icu: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 8/9] libtorrent: " Anton Kolesov
2014-07-31 13:24 ` [Buildroot] [PATCH v2 9/9] thrift: " Anton Kolesov
2014-07-31 17:25 ` [Buildroot] [PATCH v2 1/9] toolchain: Add config option for " Yann E. MORIN
2014-07-31 18:05 ` Thomas Petazzoni
2014-08-03 9:32 ` Thomas Petazzoni
2014-08-04 12:16 ` [Buildroot] [PATCH v3 1/4] cairo: Add dependency on " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 2/4] pulseaudio: " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 3/4] libftdi: " Anton Kolesov
2014-08-04 12:16 ` [Buildroot] [PATCH v3 4/4] msgpack: " Anton Kolesov
2014-08-07 15:42 ` [Buildroot] [PATCH v3 1/4] cairo: " Thomas De Schampheleire
2014-08-04 12:17 ` [Buildroot] [PATCH] manual: Add atomic intrinsics to the dependencies section Anton Kolesov
2014-08-15 20:40 ` Yann E. MORIN
2014-08-15 22:17 ` Thomas Petazzoni
2014-08-15 22:23 ` Yann E. MORIN
2014-08-16 7:40 ` Thomas Petazzoni
2014-08-16 15:26 ` Yann E. MORIN
[not found] <In-Reply-To: <CAAXf6LURyGxEfQR+3g6xriwqUeE1E91Oav2X=r_C3YD66JzpEA@mail.gmail.com>
2014-08-08 15:09 ` [Buildroot] [PATCH v4 1/4] cairo: Add dependency on atomic intrinsics Anton Kolesov
2014-08-08 15:09 ` [Buildroot] [PATCH v4 2/4] pulseaudio: " Anton Kolesov
2014-08-15 20:54 ` Yann E. MORIN
2014-08-08 15:09 ` [Buildroot] [PATCH v4 3/4] libftdi: " Anton Kolesov
2014-08-15 20:58 ` Yann E. MORIN
2014-08-08 15:09 ` [Buildroot] [PATCH v4 4/4] msgpack: " Anton Kolesov
2014-08-15 21:04 ` Yann E. MORIN
2014-08-15 12:49 ` [Buildroot] [PATCH v4 1/4] cairo: " Anton Kolesov
2014-08-15 20:46 ` Yann E. MORIN
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.