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.


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to