Full glib porting onto Android

From: Shuxiang Lim <shohyanglim gmail com>

To: gtk-devel-list gnome org

Subject: Full glib porting onto Android

Date: Wed, 23 Mar 2011 17:37:56 +0800

Hello glib/gtk guys! Recently I've been trying on a Android porting work for a project which has which uses glibs-2.22+ including libglib/libgio/libgthread/libgmodule. Other than using the already-on android/bluetooth/glib with only libglib-2.20 built, I have managed to hack by my own for a full glib porting.
I hope such work will be enrolled into master-glib. N.B, this hacking is based on glib-2.28.1 and is still raw and unstable,be care of use! Any correcting and improving is appreciated! This README.android has all the instructions and patches of my hacking:
======README.android=============Shohyang Lim <shohyanglim gmail com>

Note that this document is not really maintained in a seriousfashion. Lots of information here might be misleading or outdated. You
have been warned.

This FULL Android porting is hacked by Shohyang Lim in the porting of one project which uses glibs-2.28 including libglib/libgio/libgthread/libgmoduleother than the already-on android/bluetooth/glib with only libglib-2.20 built.

N.B, this hacking is based on glib-2.28.1 and is still raw and unstable,be care of use!Any correcting and improving is appreciated!

General=======In a POSIXer's view, Android system is CRIPPLED: thus the porting of existing
libraries onto it is TOUGH. Please have this in mind.The basic obstacles in porting:1.Android does not have or offers less/no access in its trimmed bionic C lib :1>No SYS V shm.h/sem.h2>Not standard pwd.h and getpwuid_r(),etc. methods
3>No locale.h 4>Not standard IP/IPV6 headers/support such as arpa/*.h ones5>Not standard pthread. 6>No iconv funcs.7>No intl/gettext funcs 8>No i18n support and wchar_t.
...2.Cross compiling troubles such as the typecast of pointers may be the sin of SIGBUS in ARM,ARM-THUMB troubles,...etc.Therefore the hacking is mainly focusing on such missings. I suppose you are familiar
with ARM cross compiling and Android NDK development.

Building all glibs prerequisites=======================================