Below are some more (Very useful) information received from boost community:
- Is there any specific reason behind the same (like not optimized for
embedded devices)? Or any other reason?
Boost works perfectly on Android. As there is a NDK (native development kit)
with a quite decent gcc (4.6 something) you just need to configure boost build
to use the right gcc. Although this all works, it requires a little bit of
tinkering to get the settings right. But again, in principle, there is not a
lot of difference in building Boost for Android or any other linux
distribution.
- Are there (at all) any known issues if we use boost libraries for
networking and thread synchronization for Smartphone application
development ? Will it be a good idea to use BOOST ASIO for the same?
It is perfectly fine to use Boost.Thread or Boost.Asio. They work perfectly fine
on ARM devices. There is even support for the more platform specific hackeries
like boost.atomic and boost.context.
FYI are the links found
https://github.com/MysticTreeGames/Boost-for-Android
http://www.codexperiments.com/android/2011/05/tips-tricks-building-boost-with-ndk-r5/
Building boost with the Android NDK is even simpler than with boost.build
directly. I compiled a bunch of Android build scripts, which can be found
here:
https://github.com/STEllAR-GROUP/HPXAndroid/tree/master/modules
Look for the boost_${module} for various boost libraries. This is not a
complete list. Only what i needed. Also, might need some love for 1.53.
All the different libraries didn't need any special android treatment (modulo
some minor bugs where the compiler didn't agree with other gcc versions)
I hope this would be useful for others as well!
Thanks!