Pārlūkot izejas kodu

icu: Add dependency on atomic intrinsics

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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Anton Kolesov 11 gadi atpakaļ
vecāks
revīzija
b7a791a103

+ 6 - 6
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
 config BR2_PACKAGE_BEECRYPT
 	bool "beecrypt"
 	bool "beecrypt"
@@ -15,15 +15,15 @@ config BR2_PACKAGE_BEECRYPT_CPP
 	bool "C++ support"
 	bool "C++ support"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR # icu
 	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
 	depends on !BR2_BINFMT_FLAT # icu
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_ICU
 	help
 	help
 	  Enable C++ support. This pulls in the (large) icu package.
 	  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_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
 endif # BR2_PACKAGE_BEECRYPT

+ 3 - 4
package/cppcms/Config.in

@@ -24,17 +24,16 @@ if BR2_PACKAGE_CPPCMS
 
 
 config BR2_PACKAGE_CPPCMS_ICU
 config BR2_PACKAGE_CPPCMS_ICU
 	bool "enable icu support"
 	bool "enable icu support"
-	depends on !BR2_arc # icu -> atomic builtins
 	depends on !BR2_BINFMT_FLAT # icu
 	depends on !BR2_BINFMT_FLAT # icu
 	depends on BR2_USE_WCHAR # icu
 	depends on BR2_USE_WCHAR # icu
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_ICU
 	help
 	help
 	  Using ICU allows advanced localization features into CppCMS,
 	  Using ICU allows advanced localization features into CppCMS,
 	  in another hand ICU is heavier than iconv.
 	  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
 	depends on !BR2_USE_WCHAR
 
 
 endif
 endif

+ 3 - 4
package/icu/Config.in

@@ -7,7 +7,7 @@ config BR2_PACKAGE_ICU
 	# file, and it cannot easily be changed to generate FLAT
 	# file, and it cannot easily be changed to generate FLAT
 	# format.
 	# format.
 	depends on !BR2_BINFMT_FLAT
 	depends on !BR2_BINFMT_FLAT
-	depends on !BR2_arc # atomic builtins
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
 	help
 	help
 	  International Components for Unicode.
 	  International Components for Unicode.
 
 
@@ -25,8 +25,7 @@ config BR2_PACKAGE_ICU_CUSTOM_DATA_PATH
 
 
 endif
 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_BINFMT_FLAT
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-		!BR2_TOOLCHAIN_HAS_THREADS
+		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS

+ 4 - 4
package/php/Config.ext

@@ -166,16 +166,16 @@ config BR2_PACKAGE_PHP_EXT_INTL
 	select BR2_PACKAGE_ICU
 	select BR2_PACKAGE_ICU
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_USE_WCHAR
 	depends on BR2_USE_WCHAR
-	depends on !BR2_arc # icu -> atomic builtins
 	depends on !BR2_BINFMT_FLAT # icu
 	depends on !BR2_BINFMT_FLAT # icu
 	depends on BR2_TOOLCHAIN_HAS_THREADS # icu
 	depends on BR2_TOOLCHAIN_HAS_THREADS # icu
+	depends on BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS # icu
 	help
 	help
 	  Internationalization support
 	  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_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"
 comment "Image processing"
 
 

+ 4 - 1
package/qt5/qt5base/Config.in

@@ -241,12 +241,15 @@ config BR2_PACKAGE_QT5BASE_DBUS
 config BR2_PACKAGE_QT5BASE_ICU
 config BR2_PACKAGE_QT5BASE_ICU
 	bool "Enable ICU support"
 	bool "Enable ICU support"
 	select BR2_PACKAGE_ICU
 	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
 	depends on !BR2_BINFMT_FLAT # icu
 	help
 	help
 	  This option enables ICU support in Qt5. This is for example
 	  This option enables ICU support in Qt5. This is for example
 	  needed for Qt5Webkit.
 	  needed for Qt5Webkit.
 
 
+comment "icu needs a toolchain w/ atomic intrinsics"
+	depends on !BR2_TOOLCHAIN_HAS_ATOMIC_INTRINSICS
+
 config BR2_PACKAGE_QT5BASE_TSLIB
 config BR2_PACKAGE_QT5BASE_TSLIB
 	bool "Enable Tslib support"
 	bool "Enable Tslib support"
 	depends on !BR2_PREFER_STATIC_LIB # dlopen
 	depends on !BR2_PREFER_STATIC_LIB # dlopen