From: Alex P. <pes...@ma...> - 2012-07-23 09:49:44
|
On 07/23/12 06:03, Adriano dos Santos Fernandes wrote: >> Checkout trunk and use the following configure (autogen.sh) parameter >> --with-cross-build=android.arme >> > I tried it, with official NDK but got error compiling common/CharSet.cpp > which needs ICU. So not even the client compiled. > > --------------------------------------- > asfernandes:~/fb/dev/trunk.git$ echo $NDK > /home/asfernandes/android/android-ndk-r8 > > asfernandes:~/fb/dev/trunk.git$ ./autogen.sh --with-cross-build=android.arme > > /home/asfernandes/android/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-g++ > -ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DANDROID -DARM -pipe -MMD > -fPIC -fmessage-length=0 > -I/home/asfernandes/fb/dev/trunk.git/extern/libtommath > --sysroot=/home/asfernandes/android/android-ndk-r8/platforms/android-9/arch-arm > -I/home/asfernandes/fb/dev/trunk.git/extern/icu/source/common > -I/home/asfernandes/fb/dev/trunk.git/extern/icu/source/i18n -O3 > -fno-omit-frame-pointer > -I/home/asfernandes/fb/dev/trunk.git/src/include/gen > -I/home/asfernandes/fb/dev/trunk.git/src/include -pthread -fno-rtti > -c /home/asfernandes/fb/dev/trunk.git/src/common/CharSet.cpp -o > /home/asfernandes/fb/dev/trunk.git/temp/Release/common/CharSet.o > In file included from > /home/asfernandes/fb/dev/trunk.git/extern/icu/source/common/unicode/utypes.h:36, > from > /home/asfernandes/fb/dev/trunk.git/extern/icu/source/common/unicode/ucnv.h:56, > from > /home/asfernandes/fb/dev/trunk.git/src/common/../jrd/../common/unicode_util.h:33, > from > /home/asfernandes/fb/dev/trunk.git/src/common/../jrd/intl_classes.h:35, > from > /home/asfernandes/fb/dev/trunk.git/src/common/CharSet.cpp:95: > /home/asfernandes/fb/dev/trunk.git/extern/icu/source/common/unicode/umachine.h:52:33: > error: unicode/platform.h: No such file or directory > --------------------------------------- > Somewhy it happened that in my trunk I have platform.h in extern/icu/source/common/unicode. No idea how did it arrive in that dir (certainly, not under version control). As far as I know about Android, icu libraries are present in default device's setup. But question comes - what is best way to access them when doing cross-build? >> BTW - I did not find any VM in android's NDK. What is the best way to >> check/debug android's soft? > The VM comes with the *SDK*. Ahh - thank you. > AFAIU, Android Apps can't be standalone > native executable. It must have a Java (Dalvik) laucher which calls the > native part as JNI. Using latest NDK one can build complete native application. But for firebird this does not appear critical - first of all we provide libraries, out utlities do not make much sense (except for people who have non-standard Android with command line support). I hope that to start daemon on linux we need not have Java wrapper for it? :-) > Please note file docs/STANDALONE-TOOLCHAIN.html. It says that without > installing the toolchain in different location, RTTI, STL and exceptions > can't be used. That's not completely true. Setting correct flags for linker one can use at least exceptions without any problems. They should not cross module boundaries - but that's OK for us. |