We might eventually want to use Mike Hommey's "faulty.lib" dynamic
linker (developed for Firefox on Android) to get around the Android
system dynamic linker's silly limitations. It does not like
DT_RPATH. (The Android system dynamic linker just ignores those.) So
no point putting RPATH into the ICU libs for Android.
Note that the faulty.lib linker is not usable currently because it
doesn't like the text relocations that the NDK r8 toolchain generates
for some reason. Sigh.
Change-Id: I9092c6001f0aadbb30e2682e33e7179520846f3b
I don't understand what the "universal" byte order thing tries to
say. Sure, Apple's compilers can produce fat binaries, i.e. containing
code for multiple architectures, which I guess might have differing
byte order. But I think the test for an -arch flag being present here
is backwards, surely if you specify -arch i386 for instance, then we
*know* that the byte order is little endian, not "universal".
Anyway, this broke ICU when built against MacOSX SDK 10.6 at least,
the ICU configury used wrong suffix for ICUDATA_NAME, and genbrk
failed in i18npool with a mysterious "can not initialize ICU. status
= U_FILE_ACCESS_ERROR" message.
In the spirit of 12759f67a3, change
external lib's config.sub to eat the arm-unknown-linux-androideabi
host os string. Also, permit shared libs again - seems Android can
handle those.
Added dictionaries to cross-build-toolset - idxdict is needed.
Should build up to sfx2 - some residual static lib issues there,
and in raptor.
Recognize the arm-linux-androideabi "triplet". (Actually I doubt that
is a well-formed triplet at all, what are the Google people smoking?)
Allow longer lines in pkgdata.cpp as the compiler command line gets
quite long for cross-compilation to Android.
Add the proper assembly source file format for Android to pkg_genc.c
and use that.
Probably a good idea to use --disable-dyload on Android (and iOS).
Tweak gcc flags used for Android a bit to work around some Android C
header weirdness related to strictness and 64-bit types.