Commit 8797a8cb authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

icu: not available when BR2_BINFMT_FLAT is used

icu does not recognize 'uclinux' as a supported platform. While making
it recognize uclinux is easy, there is another problem down the road:
icu does very weird things to generate an ELF library containing
static data (libicudata.a), and the generated library being ELF, it is
not compatible with the FLAT binary format expected by uclinux
platforms such as Blackfin in FLAT format.

Therefore, we simply disallow the selection of icu on FLAT
platforms.

Note that adding a dependency on BR2_BINFMT_ELF doesn't work, because
BR2_BINFMT_FDPIC is considered to be separate (even if technically
FDPIC is a derivative of ELF). That's why the dependency we're adding
is "depends on !BR2_BINFMT_FLAT" and not "depends on BR2_BINFMT_ELF".

Fixes:

  http://autobuild.buildroot.org/results/b41/b415fed7fae4012bad7d8b53a481bd71bdab716f/build-end.log



Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 085d4f02
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@ config BR2_PACKAGE_BEECRYPT
	bool "beecrypt"
	depends on BR2_TOOLCHAIN_HAS_THREADS
	select BR2_PACKAGE_ICU if BR2_INSTALL_LIBSTDCPP && BR2_USE_WCHAR && \
	       !BR2_arc
	       !BR2_arc && !BR2_BINFMT_FLAT
	help
	  Beecrypt is a general-purpose cryptography library.

@@ -13,4 +13,5 @@ comment "beecrypt needs a toolchain w/ threads"

comment "beecrypt C++ support needs a toolchain w/ wchar"
	depends on !BR2_arc
	depends on !BR2_BINFMT_FLAT
	depends on BR2_INSTALL_LIBSTDCPP && !BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ 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
	select BR2_PACKAGE_ICU
	help
	  Using ICU allows advanced localization features into CppCMS,
+5 −0
Original line number Diff line number Diff line
@@ -3,6 +3,10 @@ config BR2_PACKAGE_ICU
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_USE_WCHAR
	depends on BR2_TOOLCHAIN_HAS_THREADS
	# icu does some funky things by generating by itself an ELF
	# file, and it cannot easily be changed to generate FLAT
	# format.
	depends on !BR2_BINFMT_FLAT
	depends on !BR2_arc # atomic builtins
	help
	  International Components for Unicode.
@@ -11,5 +15,6 @@ config BR2_PACKAGE_ICU

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
+2 −0
Original line number Diff line number Diff line
@@ -162,11 +162,13 @@ config BR2_PACKAGE_PHP_EXT_INTL
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_USE_WCHAR
	depends on !BR2_arc # icu -> atomic builtins
	depends on !BR2_BINFMT_FLAT # icu
	help
	  Internationalization support

comment "intl support needs a toolchain w/ C++, wchar"
	depends on !BR2_arc
	depends on !BR2_BINFMT_FLAT
	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR

comment "Image processing"
+1 −0
Original line number Diff line number Diff line
@@ -189,6 +189,7 @@ config BR2_PACKAGE_QT5BASE_ICU
	bool "Enable ICU support"
	select BR2_PACKAGE_ICU
	depends on !BR2_arc # icu -> atomic builtins
	depends on !BR2_BINFMT_FLAT # icu
	help
	  This option enables ICU support in Qt5. This is for example
	  needed for Qt5Webkit.
Loading