icu: not available when BR2_BINFMT_FLAT is used
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 20 Feb 2014 13:32:45 +0000 (14:32 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Thu, 20 Feb 2014 18:06:31 +0000 (19:06 +0100)
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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/beecrypt/Config.in
package/cppcms/Config.in
package/icu/Config.in
package/php/Config.ext
package/qt5/qt5base/Config.in
package/webkit/Config.in

index 033742c8f8767880397916e3c5386c9e6d32d858..8d63e5e6d1370cb515bcd0012cda261858235dbf 100644 (file)
@@ -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
index 2df83ba42dc3ccf07ed447942d588def61358b1b..c88ae1ed82b1693dc9b92e0656b11cd55a96adb4 100644 (file)
@@ -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,
index b736b438d813892b0ac98cb2623b006791f4a3e5..9a278942f8b1daf389cedcd3d3c794a21d95c8e5 100644 (file)
@@ -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
index df020479b3a7ac03039da23ff84c28cf3b2f3a5e..463334b3ac9df6361b550ba4271438c39445d69b 100644 (file)
@@ -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"
index 2fca9d26da3bb1e7b33a324d4331afbacbf64edb..5c404d1e624c1e6dcef12265e3945833493670c8 100644 (file)
@@ -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.
index daaec365e00b88f609b35af339fc59865309343c..45f2058f8db27420a56883d95acd2f22d6f3fc40 100644 (file)
@@ -13,6 +13,7 @@ config BR2_PACKAGE_WEBKIT
        depends on BR2_TOOLCHAIN_HAS_THREADS # enchant -> libglib2
        depends on BR2_PACKAGE_LIBGTK2
        depends on BR2_PACKAGE_WEBKIT_ARCH_SUPPORTS
+       depends on !BR2_BINFMT_FLAT # icu
        select BR2_PACKAGE_CAIRO_PNG
        select BR2_PACKAGE_ENCHANT
        select BR2_PACKAGE_HARFBUZZ