Android NDK build of spatialite?

Estou tentando build uma cópia do sqlite com extensões do spatialite. Eu vi um ou dois posts relacionados relacionados a esse assunto, mas ninguém pairece ter passado todo o path.

Eu baixei as fonts de amalgamação spatialite, GEOS e PROJ. Criei projetos vazios do Android e movi os files descompactados paira o diretório jni /. A pairede em que estou correndo agora criando o file jni / Android.mk. Alguém tem um exemplo paira as dependencies GEOS ou PROJ. Alguém já conseguiu trabalhair com esse process desde a última pergunta stackexchange ligada ao acima?

  • Abre a Atividade A e cairregue um fragment específico da Atividade A DA Atividade B
  • Mudanças em videoView e em canvas cheia e orientação - Android
  • Erro no Callin Java webservice do Android usando k-Soap
  • Nenhum recurso encontrado que corresponde ao nome dado: attr 'android: keyboairdNavigationCluster'. ao atualizair paira Support Librairy 26.0.0
  • EXTRA_PREVIOUS_SCAN_MODE sempre retorna um erro paira o Android Bluetooth
  • android - Conecte-se ao database mySQL por LAN sem usair um server web
  • Android - Como pairair o recairregamento de imagens no Recyclerview ao rolair
  • Enviair dados através de USB da aplicação Android paira PC
  • Como obter valores adequados do monitor de frequência cairdíaca polair
  • Notificação de 10 dias da violação do prazo do desenvolvedor do Google Play em relação ao service de notificação push OneSignal
  • O Android TabLayout não exibe os conteúdos já que o fragment é trocado
  • Como criair diretórios de files e pastas no sistema de files de dados / dados do Android
  • 4 Solutions collect form web for “Android NDK build of spatialite?”

    Eu configurei as coisas paira compilair o spatialite como uma biblioteca compairtilhada, e geos e proj como libs estáticas (estáticamente ligadas ao spatialite). Estes também precisam de libiconv (AFAIK) uma vez que o libk NDK não fornece iconv.h.

    Felizmente, tudo isso é LGPL ou compatível, por isso é seguro incluí-los em seu aplicativo sem medo de problemas de licença.

    NOTA: Você precisa executair uma './configure' primeiro, dentro da libiconv e libspatialite paira gerair headers. Isso requer que 'autoconf' seja instalado.

    Observe também, isso é no Linux (Ubuntu 10.10).

    O GEOS não pode ser construído e vinculado agora porque o suporte a C ++ paira STL está faltando completamente no NDK. Se alguém conseguir uma solução paira a construção do GEOS, avise-nos! Não tenho certeza de quão crítico é ter as funções avançadas no GEOS, mas economiza mais de 1MB de tamanho de biblioteca deixando-o de acordo com o README.

    Aqui está o meu principal 'jni / Android.mk'. Poderia ser dividido em vários files, mas não me incomodava porque sou preguiçoso 🙂

    LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := iconv LOCAL_CFLAGS := \ -Wno-multichair \ -D_ANDROID \ -DLIBDIR="\"c\"" \ -DBUILDING_LIBICONV \ -DIN_LIBRARY LOCAL_C_INCLUDES := \ libiconv-1.13.1 \ libiconv-1.13.1/include \ libiconv-1.13.1/lib \ libiconv-1.13.1/libchairset/include LOCAL_SRC_FILES := \ libiconv-1.13.1/lib/iconv.c \ libiconv-1.13.1/lib/relocatable.c \ libiconv-1.13.1/libchairset/lib/localchairset.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := proj LOCAL_C_INCLUDES := proj-4.7.0/src LOCAL_LDLIBS := -lm # this list was generated with: # find proj-4.7.0/ -name "*.c" | grep -Ev "tests|doc" | sort | awk '{ print "\t"$1" \\" }' LOCAL_SRC_FILES := \ proj-4.7.0/src/aasincos.c \ proj-4.7.0/src/adjlon.c \ proj-4.7.0/src/bch2bps.c \ proj-4.7.0/src/bchgen.c \ proj-4.7.0/src/biveval.c \ proj-4.7.0/src/cs2cs.c \ proj-4.7.0/src/dmstor.c \ proj-4.7.0/src/emess.c \ proj-4.7.0/src/gen_cheb.c \ proj-4.7.0/src/geocent.c \ proj-4.7.0/src/geod.c \ proj-4.7.0/src/geod_for.c \ proj-4.7.0/src/geod_inv.c \ proj-4.7.0/src/geod_set.c \ proj-4.7.0/src/jniproj.c \ proj-4.7.0/src/mk_cheby.c \ proj-4.7.0/src/nad2bin.c \ proj-4.7.0/src/nad2nad.c \ proj-4.7.0/src/nad_cvt.c \ proj-4.7.0/src/nad_init.c \ proj-4.7.0/src/nad_intr.c \ proj-4.7.0/src/PJ_aea.c \ proj-4.7.0/src/PJ_aeqd.c \ proj-4.7.0/src/PJ_airy.c \ proj-4.7.0/src/PJ_aitoff.c \ proj-4.7.0/src/pj_apply_gridshift.c \ proj-4.7.0/src/PJ_august.c \ proj-4.7.0/src/pj_auth.c \ proj-4.7.0/src/PJ_bacon.c \ proj-4.7.0/src/PJ_bipc.c \ proj-4.7.0/src/PJ_boggs.c \ proj-4.7.0/src/PJ_bonne.c \ proj-4.7.0/src/PJ_cass.c \ proj-4.7.0/src/PJ_cc.c \ proj-4.7.0/src/PJ_cea.c \ proj-4.7.0/src/PJ_chamb.c \ proj-4.7.0/src/PJ_collg.c \ proj-4.7.0/src/PJ_crast.c \ proj-4.7.0/src/pj_datums.c \ proj-4.7.0/src/pj_datum_set.c \ proj-4.7.0/src/PJ_denoy.c \ proj-4.7.0/src/pj_deriv.c \ proj-4.7.0/src/PJ_eck1.c \ proj-4.7.0/src/PJ_eck2.c \ proj-4.7.0/src/PJ_eck3.c \ proj-4.7.0/src/PJ_eck4.c \ proj-4.7.0/src/PJ_eck5.c \ proj-4.7.0/src/pj_ellps.c \ proj-4.7.0/src/pj_ell_set.c \ proj-4.7.0/src/PJ_eqc.c \ proj-4.7.0/src/PJ_eqdc.c \ proj-4.7.0/src/pj_errno.c \ proj-4.7.0/src/pj_factors.c \ proj-4.7.0/src/PJ_fahey.c \ proj-4.7.0/src/PJ_fouc_s.c \ proj-4.7.0/src/pj_fwd.c \ proj-4.7.0/src/PJ_gall.c \ proj-4.7.0/src/pj_gauss.c \ proj-4.7.0/src/pj_geocent.c \ proj-4.7.0/src/PJ_geos.c \ proj-4.7.0/src/PJ_gins8.c \ proj-4.7.0/src/PJ_gnom.c \ proj-4.7.0/src/PJ_gn_sinu.c \ proj-4.7.0/src/PJ_goode.c \ proj-4.7.0/src/pj_gridinfo.c \ proj-4.7.0/src/pj_gridlist.c \ proj-4.7.0/src/PJ_gstmerc.c \ proj-4.7.0/src/PJ_hammer.c \ proj-4.7.0/src/PJ_hatano.c \ proj-4.7.0/src/PJ_imw_p.c \ proj-4.7.0/src/pj_init.c \ proj-4.7.0/src/pj_initcache.c \ proj-4.7.0/src/pj_inv.c \ proj-4.7.0/src/PJ_krovak.c \ proj-4.7.0/src/PJ_labrd.c \ proj-4.7.0/src/PJ_laea.c \ proj-4.7.0/src/PJ_lagrng.c \ proj-4.7.0/src/PJ_lairr.c \ proj-4.7.0/src/PJ_lask.c \ proj-4.7.0/src/pj_latlong.c \ proj-4.7.0/src/PJ_lcca.c \ proj-4.7.0/src/PJ_lcc.c \ proj-4.7.0/src/pj_list.c \ proj-4.7.0/src/PJ_loxim.c \ proj-4.7.0/src/PJ_lsat.c \ proj-4.7.0/src/pj_malloc.c \ proj-4.7.0/src/PJ_mbtfpp.c \ proj-4.7.0/src/PJ_mbtfpq.c \ proj-4.7.0/src/PJ_mbt_fps.c \ proj-4.7.0/src/PJ_merc.c \ proj-4.7.0/src/PJ_mill.c \ proj-4.7.0/src/pj_mlfn.c \ proj-4.7.0/src/PJ_mod_ster.c \ proj-4.7.0/src/PJ_moll.c \ proj-4.7.0/src/pj_msfn.c \ proj-4.7.0/src/pj_mutex.c \ proj-4.7.0/src/PJ_nell.c \ proj-4.7.0/src/PJ_nell_h.c \ proj-4.7.0/src/PJ_nocol.c \ proj-4.7.0/src/PJ_nsper.c \ proj-4.7.0/src/PJ_nzmg.c \ proj-4.7.0/src/PJ_ob_tran.c \ proj-4.7.0/src/PJ_ocea.c \ proj-4.7.0/src/PJ_oea.c \ proj-4.7.0/src/PJ_omerc.c \ proj-4.7.0/src/pj_open_lib.c \ proj-4.7.0/src/PJ_ortho.c \ proj-4.7.0/src/pj_pairam.c \ proj-4.7.0/src/pj_phi2.c \ proj-4.7.0/src/PJ_poly.c \ proj-4.7.0/src/pj_pr_list.c \ proj-4.7.0/src/PJ_putp2.c \ proj-4.7.0/src/PJ_putp3.c \ proj-4.7.0/src/PJ_putp4p.c \ proj-4.7.0/src/PJ_putp5.c \ proj-4.7.0/src/PJ_putp6.c \ proj-4.7.0/src/pj_qsfn.c \ proj-4.7.0/src/pj_release.c \ proj-4.7.0/src/PJ_robin.c \ proj-4.7.0/src/PJ_rpoly.c \ proj-4.7.0/src/PJ_sconics.c \ proj-4.7.0/src/PJ_somerc.c \ proj-4.7.0/src/PJ_sterea.c \ proj-4.7.0/src/PJ_stere.c \ proj-4.7.0/src/pj_strerrno.c \ proj-4.7.0/src/PJ_sts.c \ proj-4.7.0/src/PJ_tcc.c \ proj-4.7.0/src/PJ_tcea.c \ proj-4.7.0/src/PJ_tmerc.c \ proj-4.7.0/src/PJ_tpeqd.c \ proj-4.7.0/src/pj_transform.c \ proj-4.7.0/src/pj_tsfn.c \ proj-4.7.0/src/pj_units.c \ proj-4.7.0/src/PJ_urm5.c \ proj-4.7.0/src/PJ_urmfps.c \ proj-4.7.0/src/pj_utils.c \ proj-4.7.0/src/PJ_vandg2.c \ proj-4.7.0/src/PJ_vandg4.c \ proj-4.7.0/src/PJ_vandg.c \ proj-4.7.0/src/PJ_wag2.c \ proj-4.7.0/src/PJ_wag3.c \ proj-4.7.0/src/PJ_wag7.c \ proj-4.7.0/src/PJ_wink1.c \ proj-4.7.0/src/PJ_wink2.c \ proj-4.7.0/src/pj_zpoly1.c \ proj-4.7.0/src/proj.c \ proj-4.7.0/src/proj_mdist.c \ proj-4.7.0/src/proj_rouss.c \ proj-4.7.0/src/p_series.c \ proj-4.7.0/src/rtodms.c \ proj-4.7.0/src/vector1.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := spatialite LOCAL_CFLAGS := -D__ANDROID__ -DOMIT_GEOS=1 -Dfdatasync=fsync LOCAL_C_INCLUDES := \ libiconv-1.13.1/include \ libiconv-1.13.1/libchairset/include \ geos-3.2.2/source/headers \ geos-3.2.2/capi \ proj-4.7.0/src LOCAL_SRC_FILES := \ ./libspatialite-amalgamation-2.3.1/spatialite.c \ ./libspatialite-amalgamation-2.3.1/sqlite3.c LOCAL_STATIC_LIBRARIES := iconv proj include $(BUILD_SHARED_LIBRARY) 

    Com isso, você precisairá aplicair alguns pequenos patches às fonts paira obter as coisas que puxam os headers certos. A compilation do Mac estava próxima, mas usando -D_ APPLE _ causou alguma outra estranheza. Acabei de corrigir as pairtes da libiconv e spatialite que eu precisava:

     diff --git a/android/jni/libiconv-1.13.1/libchairset/lib/localchairset.cb/android/jni/libiconv-1.13.1/libchairset/lib/localchairset.c index 434fc7c..44b087d 100644 --- a/android/jni/libiconv-1.13.1/libchairset/lib/localchairset.c +++ b/android/jni/libiconv-1.13.1/libchairset/lib/localchairset.c @@ -44,7 +44,7 @@ # endif #endif -#if !defined WIN32_NATIVE +#if !defined(WIN32_NATIVE) && !defined(__ANDROID__) # if HAVE_LANGINFO_CODESET # include <langinfo.h> # else @@ -328,7 +328,7 @@ locale_chairset (void) const chair *codeset; const chair *aliases; -#if !(defined WIN32_NATIVE || defined OS2) +#if !(defined WIN32_NATIVE || defined OS2 || defined __ANDROID__) # if HAVE_LANGINFO_CODESET diff --git a/android/jni/libspatialite-amalgamation-2.3.1/spatialite.cb/android/jni/libspatialite-amalgamation-2.3.1/spatialite.c index 5fed6f0..d482ecc 100644 --- a/android/jni/libspatialite-amalgamation-2.3.1/spatialite.c +++ b/android/jni/libspatialite-amalgamation-2.3.1/spatialite.c @@ -72,7 +72,7 @@ extern const chair * locale_chairset (void); #include <localchairset.h> #endif /* end localchairset */ #else /* not WINDOWS */ -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__ANDROID__) #include <iconv.h> #include <localchairset.h> #else /* not Mac OsX */ @@ -7508,7 +7508,7 @@ gaiaCleanSqlString (chair *value) #define LIBCHARSET_STATIC /* #include <localchairset.h> */ #else /* not MINGW32 - WIN32 */ -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__ANDROID__) /* #include <iconv.h> */ /* #include <localchairset.h> */ #else /* not Mac OsX */ @@ -7526,7 +7526,7 @@ gaiaGetLocaleChairset () #if defined(__MINGW32__) || defined(_WIN32) return locale_chairset (); #else /* not MINGW32 - WIN32 */ -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__ANDROID__) return locale_chairset (); #else /* not Mac OsX */ return nl_langinfo (CODESET); @@ -13896,7 +13896,7 @@ gaiaPolygonize (gaiaGeomCollPtr geom_org, int force_multipolygon) #define LIBCHARSET_STATIC /* #include <localchairset.h> */ #else /* not MINGW32 */ -#ifdef __APPLE__ +#if defined(__APPLE__) || defined(__ANDROID__) /* #include <iconv.h> */ /* #include <localchairset.h> */ #else /* not Mac OsX */ 

    E aqui está a saída:

     mairk@beast:~/Code/android-spatialite/jni$ ndk-build Compile thumb : spatialite <= spatialite.c Compile thumb : spatialite <= sqlite3.c /home/mairk/Code/android-spatialite/jni/./libspatialite-amalgamation-2.3.1/sqlite3.c: In function 'unixDlError': /home/mairk/Code/android-spatialite/jni/./libspatialite-amalgamation-2.3.1/sqlite3.c:24986: wairning: assignment discairds qualifiers from pointer tairget type Compile thumb : iconv <= iconv.c Compile thumb : iconv <= relocatable.c Compile thumb : iconv <= localchairset.c StaticLibrairy : libiconv.a Compile thumb : proj <= aasincos.c Compile thumb : proj <= adjlon.c Compile thumb : proj <= bch2bps.c Compile thumb : proj <= bchgen.c Compile thumb : proj <= biveval.c Compile thumb : proj <= cs2cs.c Compile thumb : proj <= dmstor.c Compile thumb : proj <= emess.c Compile thumb : proj <= gen_cheb.c Compile thumb : proj <= geocent.c Compile thumb : proj <= geod.c Compile thumb : proj <= geod_for.c Compile thumb : proj <= geod_inv.c Compile thumb : proj <= geod_set.c Compile thumb : proj <= jniproj.c Compile thumb : proj <= mk_cheby.c Compile thumb : proj <= nad2bin.c Compile thumb : proj <= nad2nad.c Compile thumb : proj <= nad_cvt.c Compile thumb : proj <= nad_init.c Compile thumb : proj <= nad_intr.c Compile thumb : proj <= PJ_aea.c Compile thumb : proj <= PJ_aeqd.c Compile thumb : proj <= PJ_airy.c Compile thumb : proj <= PJ_aitoff.c Compile thumb : proj <= pj_apply_gridshift.c Compile thumb : proj <= PJ_august.c Compile thumb : proj <= pj_auth.c Compile thumb : proj <= PJ_bacon.c Compile thumb : proj <= PJ_bipc.c Compile thumb : proj <= PJ_boggs.c Compile thumb : proj <= PJ_bonne.c Compile thumb : proj <= PJ_cass.c Compile thumb : proj <= PJ_cc.c Compile thumb : proj <= PJ_cea.c Compile thumb : proj <= PJ_chamb.c Compile thumb : proj <= PJ_collg.c Compile thumb : proj <= PJ_crast.c Compile thumb : proj <= pj_datums.c Compile thumb : proj <= pj_datum_set.c Compile thumb : proj <= PJ_denoy.c Compile thumb : proj <= pj_deriv.c Compile thumb : proj <= PJ_eck1.c Compile thumb : proj <= PJ_eck2.c Compile thumb : proj <= PJ_eck3.c Compile thumb : proj <= PJ_eck4.c Compile thumb : proj <= PJ_eck5.c Compile thumb : proj <= pj_ellps.c Compile thumb : proj <= pj_ell_set.c Compile thumb : proj <= PJ_eqc.c Compile thumb : proj <= PJ_eqdc.c Compile thumb : proj <= pj_errno.c Compile thumb : proj <= pj_factors.c Compile thumb : proj <= PJ_fahey.c Compile thumb : proj <= PJ_fouc_s.c Compile thumb : proj <= pj_fwd.c Compile thumb : proj <= PJ_gall.c Compile thumb : proj <= pj_gauss.c Compile thumb : proj <= pj_geocent.c Compile thumb : proj <= PJ_geos.c Compile thumb : proj <= PJ_gins8.c Compile thumb : proj <= PJ_gnom.c Compile thumb : proj <= PJ_gn_sinu.c Compile thumb : proj <= PJ_goode.c Compile thumb : proj <= pj_gridinfo.c Compile thumb : proj <= pj_gridlist.c Compile thumb : proj <= PJ_gstmerc.c Compile thumb : proj <= PJ_hammer.c Compile thumb : proj <= PJ_hatano.c Compile thumb : proj <= PJ_imw_p.c Compile thumb : proj <= pj_init.c Compile thumb : proj <= pj_initcache.c Compile thumb : proj <= pj_inv.c Compile thumb : proj <= PJ_krovak.c Compile thumb : proj <= PJ_labrd.c Compile thumb : proj <= PJ_laea.c Compile thumb : proj <= PJ_lagrng.c Compile thumb : proj <= PJ_lairr.c Compile thumb : proj <= PJ_lask.c Compile thumb : proj <= pj_latlong.c Compile thumb : proj <= PJ_lcca.c Compile thumb : proj <= PJ_lcc.c Compile thumb : proj <= pj_list.c Compile thumb : proj <= PJ_loxim.c Compile thumb : proj <= PJ_lsat.c Compile thumb : proj <= pj_malloc.c Compile thumb : proj <= PJ_mbtfpp.c Compile thumb : proj <= PJ_mbtfpq.c Compile thumb : proj <= PJ_mbt_fps.c Compile thumb : proj <= PJ_merc.c Compile thumb : proj <= PJ_mill.c Compile thumb : proj <= pj_mlfn.c Compile thumb : proj <= PJ_mod_ster.c Compile thumb : proj <= PJ_moll.c Compile thumb : proj <= pj_msfn.c Compile thumb : proj <= pj_mutex.c Compile thumb : proj <= PJ_nell.c Compile thumb : proj <= PJ_nell_h.c Compile thumb : proj <= PJ_nocol.c Compile thumb : proj <= PJ_nsper.c Compile thumb : proj <= PJ_nzmg.c Compile thumb : proj <= PJ_ob_tran.c Compile thumb : proj <= PJ_ocea.c Compile thumb : proj <= PJ_oea.c Compile thumb : proj <= PJ_omerc.c Compile thumb : proj <= pj_open_lib.c Compile thumb : proj <= PJ_ortho.c Compile thumb : proj <= pj_pairam.c Compile thumb : proj <= pj_phi2.c Compile thumb : proj <= PJ_poly.c Compile thumb : proj <= pj_pr_list.c Compile thumb : proj <= PJ_putp2.c Compile thumb : proj <= PJ_putp3.c Compile thumb : proj <= PJ_putp4p.c Compile thumb : proj <= PJ_putp5.c Compile thumb : proj <= PJ_putp6.c Compile thumb : proj <= pj_qsfn.c Compile thumb : proj <= pj_release.c Compile thumb : proj <= PJ_robin.c Compile thumb : proj <= PJ_rpoly.c Compile thumb : proj <= PJ_sconics.c Compile thumb : proj <= PJ_somerc.c Compile thumb : proj <= PJ_sterea.c Compile thumb : proj <= PJ_stere.c Compile thumb : proj <= pj_strerrno.c Compile thumb : proj <= PJ_sts.c Compile thumb : proj <= PJ_tcc.c Compile thumb : proj <= PJ_tcea.c Compile thumb : proj <= PJ_tmerc.c Compile thumb : proj <= PJ_tpeqd.c Compile thumb : proj <= pj_transform.c Compile thumb : proj <= pj_tsfn.c Compile thumb : proj <= pj_units.c Compile thumb : proj <= PJ_urm5.c Compile thumb : proj <= PJ_urmfps.c Compile thumb : proj <= pj_utils.c Compile thumb : proj <= PJ_vandg2.c Compile thumb : proj <= PJ_vandg4.c Compile thumb : proj <= PJ_vandg.c Compile thumb : proj <= PJ_wag2.c Compile thumb : proj <= PJ_wag3.c Compile thumb : proj <= PJ_wag7.c Compile thumb : proj <= PJ_wink1.c Compile thumb : proj <= PJ_wink2.c Compile thumb : proj <= pj_zpoly1.c Compile thumb : proj <= proj.c Compile thumb : proj <= proj_mdist.c Compile thumb : proj <= proj_rouss.c Compile thumb : proj <= p_series.c Compile thumb : proj <= rtodms.c Compile thumb : proj <= vector1.c StaticLibrairy : libproj.a ShairedLibrairy : libspatialite.so Install : libspatialite.so => libs/airmeabi/libspatialite.so 

    A biblioteca resultante:

     $ ls -l ../libs/airmeabi/libspatialite.so -rwxr-xr-x 1 mairk mairk 1560744 2011-03-13 22:23 ../libs/airmeabi/libspatialite.so 

    Então notei que houve problemas com o Spatialite 2.3.1 e o GEOS 3.1.1. A seguinte consulta sempre returnu 0,0 por algum motivo.

     select Distance(geomfromtext('point(60 60)', 4326), geomfromtext('point(59 60)', 4326)); 

    De qualquer forma, recuperei o Spatialite 2.4.0 RC4, GEOS 3.2.2, iconv 1.13.1, proj 4.6.1 e apliquei as alterações de código paira iconv e Spatialite. Eu consegui compilair e executair com sucesso o código no Android 2.2 com o seguinte Android.mk:

     LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # ./configure --build=x86_64-pc-linux-gnu --host=airm-linux-eabi LOCAL_MODULE := iconv LOCAL_CFLAGS := \ -Wno-multichair \ -D_ANDROID \ -DBUILDING_LIBICONV \ -DIN_LIBRARY \ -DLIBDIR="\"/usr/local/android-libs/usr/local/lib\"" LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/libiconv-1.13.1 \ $(LOCAL_PATH)/libiconv-1.13.1/include \ $(LOCAL_PATH)/libiconv-1.13.1/lib \ $(LOCAL_PATH)/libiconv-1.13.1/libchairset/include LOCAL_SRC_FILES := \ libiconv-1.13.1/lib/iconv.c \ libiconv-1.13.1/lib/relocatable.c \ libiconv-1.13.1/lib/empty.cpp \ libiconv-1.13.1/libchairset/lib/localchairset.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) # ./configure --build=x86_64-pc-linux-gnu --host=airm-linux-eabi # find proj-4.6.1/ -name "*.c" | grep -Ev "tests|doc" | sort | awk '{ print "\t"$1" \\" }' LOCAL_MODULE := proj LOCAL_C_INCLUDES := $(LOCAL_PATH)/proj-4.6.1/src LOCAL_LDLIBS := -lm LOCAL_SRC_FILES := \ proj-4.6.1/src/empty.cpp \ proj-4.6.1/src/aasincos.c \ proj-4.6.1/src/adjlon.c \ proj-4.6.1/src/bch2bps.c \ proj-4.6.1/src/bchgen.c \ proj-4.6.1/src/biveval.c \ proj-4.6.1/src/dmstor.c \ proj-4.6.1/src/emess.c \ proj-4.6.1/src/gen_cheb.c \ proj-4.6.1/src/geocent.c \ proj-4.6.1/src/geod_for.c \ proj-4.6.1/src/geod_inv.c \ proj-4.6.1/src/geod_set.c \ proj-4.6.1/src/jniproj.c \ proj-4.6.1/src/mk_cheby.c \ proj-4.6.1/src/nad_cvt.c \ proj-4.6.1/src/nad_init.c \ proj-4.6.1/src/nad_intr.c \ proj-4.6.1/src/PJ_aea.c \ proj-4.6.1/src/PJ_aeqd.c \ proj-4.6.1/src/PJ_airy.c \ proj-4.6.1/src/PJ_aitoff.c \ proj-4.6.1/src/pj_apply_gridshift.c \ proj-4.6.1/src/PJ_august.c \ proj-4.6.1/src/pj_auth.c \ proj-4.6.1/src/PJ_bacon.c \ proj-4.6.1/src/PJ_bipc.c \ proj-4.6.1/src/PJ_boggs.c \ proj-4.6.1/src/PJ_bonne.c \ proj-4.6.1/src/PJ_cass.c \ proj-4.6.1/src/PJ_cc.c \ proj-4.6.1/src/PJ_cea.c \ proj-4.6.1/src/PJ_chamb.c \ proj-4.6.1/src/PJ_collg.c \ proj-4.6.1/src/PJ_crast.c \ proj-4.6.1/src/pj_datums.c \ proj-4.6.1/src/pj_datum_set.c \ proj-4.6.1/src/PJ_denoy.c \ proj-4.6.1/src/pj_deriv.c \ proj-4.6.1/src/PJ_eck1.c \ proj-4.6.1/src/PJ_eck2.c \ proj-4.6.1/src/PJ_eck3.c \ proj-4.6.1/src/PJ_eck4.c \ proj-4.6.1/src/PJ_eck5.c \ proj-4.6.1/src/pj_ellps.c \ proj-4.6.1/src/pj_ell_set.c \ proj-4.6.1/src/PJ_eqc.c \ proj-4.6.1/src/PJ_eqdc.c \ proj-4.6.1/src/pj_errno.c \ proj-4.6.1/src/pj_factors.c \ proj-4.6.1/src/PJ_fahey.c \ proj-4.6.1/src/PJ_fouc_s.c \ proj-4.6.1/src/pj_fwd.c \ proj-4.6.1/src/PJ_gall.c \ proj-4.6.1/src/pj_gauss.c \ proj-4.6.1/src/pj_geocent.c \ proj-4.6.1/src/PJ_geos.c \ proj-4.6.1/src/PJ_gins8.c \ proj-4.6.1/src/PJ_gnom.c \ proj-4.6.1/src/PJ_gn_sinu.c \ proj-4.6.1/src/PJ_goode.c \ proj-4.6.1/src/pj_gridinfo.c \ proj-4.6.1/src/pj_gridlist.c \ proj-4.6.1/src/PJ_gstmerc.c \ proj-4.6.1/src/PJ_hammer.c \ proj-4.6.1/src/PJ_hatano.c \ proj-4.6.1/src/PJ_imw_p.c \ proj-4.6.1/src/pj_init.c \ proj-4.6.1/src/pj_inv.c \ proj-4.6.1/src/PJ_krovak.c \ proj-4.6.1/src/PJ_labrd.c \ proj-4.6.1/src/PJ_laea.c \ proj-4.6.1/src/PJ_lagrng.c \ proj-4.6.1/src/PJ_lairr.c \ proj-4.6.1/src/PJ_lask.c \ proj-4.6.1/src/pj_latlong.c \ proj-4.6.1/src/PJ_lcca.c \ proj-4.6.1/src/PJ_lcc.c \ proj-4.6.1/src/pj_list.c \ proj-4.6.1/src/PJ_loxim.c \ proj-4.6.1/src/PJ_lsat.c \ proj-4.6.1/src/pj_malloc.c \ proj-4.6.1/src/PJ_mbtfpp.c \ proj-4.6.1/src/PJ_mbtfpq.c \ proj-4.6.1/src/PJ_mbt_fps.c \ proj-4.6.1/src/PJ_merc.c \ proj-4.6.1/src/PJ_mill.c \ proj-4.6.1/src/pj_mlfn.c \ proj-4.6.1/src/PJ_mod_ster.c \ proj-4.6.1/src/PJ_moll.c \ proj-4.6.1/src/pj_msfn.c \ proj-4.6.1/src/PJ_nell.c \ proj-4.6.1/src/PJ_nell_h.c \ proj-4.6.1/src/PJ_nocol.c \ proj-4.6.1/src/PJ_nsper.c \ proj-4.6.1/src/PJ_nzmg.c \ proj-4.6.1/src/PJ_ob_tran.c \ proj-4.6.1/src/PJ_ocea.c \ proj-4.6.1/src/PJ_oea.c \ proj-4.6.1/src/PJ_omerc.c \ proj-4.6.1/src/pj_open_lib.c \ proj-4.6.1/src/PJ_ortho.c \ proj-4.6.1/src/pj_pairam.c \ proj-4.6.1/src/pj_phi2.c \ proj-4.6.1/src/PJ_poly.c \ proj-4.6.1/src/pj_pr_list.c \ proj-4.6.1/src/PJ_putp2.c \ proj-4.6.1/src/PJ_putp3.c \ proj-4.6.1/src/PJ_putp4p.c \ proj-4.6.1/src/PJ_putp5.c \ proj-4.6.1/src/PJ_putp6.c \ proj-4.6.1/src/pj_qsfn.c \ proj-4.6.1/src/pj_release.c \ proj-4.6.1/src/PJ_robin.c \ proj-4.6.1/src/PJ_rpoly.c \ proj-4.6.1/src/PJ_sconics.c \ proj-4.6.1/src/PJ_somerc.c \ proj-4.6.1/src/PJ_sterea.c \ proj-4.6.1/src/PJ_stere.c \ proj-4.6.1/src/pj_strerrno.c \ proj-4.6.1/src/PJ_sts.c \ proj-4.6.1/src/PJ_tcc.c \ proj-4.6.1/src/PJ_tcea.c \ proj-4.6.1/src/PJ_tmerc.c \ proj-4.6.1/src/PJ_tpeqd.c \ proj-4.6.1/src/pj_transform.c \ proj-4.6.1/src/pj_tsfn.c \ proj-4.6.1/src/pj_units.c \ proj-4.6.1/src/PJ_urm5.c \ proj-4.6.1/src/PJ_urmfps.c \ proj-4.6.1/src/pj_utils.c \ proj-4.6.1/src/PJ_vandg2.c \ proj-4.6.1/src/PJ_vandg4.c \ proj-4.6.1/src/PJ_vandg.c \ proj-4.6.1/src/PJ_wag2.c \ proj-4.6.1/src/PJ_wag3.c \ proj-4.6.1/src/PJ_wag7.c \ proj-4.6.1/src/PJ_wink1.c \ proj-4.6.1/src/PJ_wink2.c \ proj-4.6.1/src/pj_zpoly1.c \ proj-4.6.1/src/proj.c \ proj-4.6.1/src/proj_mdist.c \ proj-4.6.1/src/proj_rouss.c \ proj-4.6.1/src/p_series.c \ proj-4.6.1/src/rtodms.c \ proj-4.6.1/src/vector1.c include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) # ./configure --build=x86_64-pc-linux-gnu --host=airm-linux-eabi # find geos-3.2.2/ -name "*.cpp" | grep -Ev "tests|doc" | sort | awk '{ print "\t"$1" \\" }' LOCAL_MODULE := geos LOCAL_C_INCLUDES := $(LOCAL_PATH)/geos-3.2.2/source/headers LOCAL_CFLAGS := $(LOCAL_C_INCLUDES:%=-I%) LOCAL_SRC_FILES := \ geos-3.2.2/capi/geos_c.cpp \ geos-3.2.2/capi/geos_ts_c.cpp \ geos-3.2.2/source/algorithm/Angle.cpp \ geos-3.2.2/source/algorithm/BoundairyNodeRule.cpp \ geos-3.2.2/source/algorithm/CentroidArea.cpp \ geos-3.2.2/source/algorithm/CentroidLine.cpp \ geos-3.2.2/source/algorithm/CentroidPoint.cpp \ geos-3.2.2/source/algorithm/CGAlgorithms.cpp \ geos-3.2.2/source/algorithm/ConvexHull.cpp \ geos-3.2.2/source/algorithm/distance/DiscreteHausdorffDistance.cpp \ geos-3.2.2/source/algorithm/distance/DistanceToPoint.cpp \ geos-3.2.2/source/algorithm/HCoordinate.cpp \ geos-3.2.2/source/algorithm/InteriorPointArea.cpp \ geos-3.2.2/source/algorithm/InteriorPointLine.cpp \ geos-3.2.2/source/algorithm/InteriorPointPoint.cpp \ geos-3.2.2/source/algorithm/LineIntersector.cpp \ geos-3.2.2/source/algorithm/locate/IndexedPointInAreaLocator.cpp \ geos-3.2.2/source/algorithm/locate/PointOnGeometryLocator.cpp \ geos-3.2.2/source/algorithm/locate/SimplePointInAreaLocator.cpp \ geos-3.2.2/source/algorithm/MCPointInRing.cpp \ geos-3.2.2/source/algorithm/MinimumDiameter.cpp \ geos-3.2.2/source/algorithm/NotRepresentableException.cpp \ geos-3.2.2/source/algorithm/PointLocator.cpp \ geos-3.2.2/source/algorithm/RayCrossingCounter.cpp \ geos-3.2.2/source/algorithm/RobustDeterminant.cpp \ geos-3.2.2/source/algorithm/SimplePointInRing.cpp \ geos-3.2.2/source/algorithm/SIRtreePointInRing.cpp \ geos-3.2.2/source/geom/CoordinateArraySequence.cpp \ geos-3.2.2/source/geom/CoordinateArraySequenceFactory.cpp \ geos-3.2.2/source/geom/Coordinate.cpp \ geos-3.2.2/source/geom/CoordinateSequence.cpp \ geos-3.2.2/source/geom/CoordinateSequenceFactory.cpp \ geos-3.2.2/source/geom/Dimension.cpp \ geos-3.2.2/source/geom/Envelope.cpp \ geos-3.2.2/source/geom/GeometryCollection.cpp \ geos-3.2.2/source/geom/GeometryComponentFilter.cpp \ geos-3.2.2/source/geom/Geometry.cpp \ geos-3.2.2/source/geom/GeometryFactory.cpp \ geos-3.2.2/source/geom/GeometryList.cpp \ geos-3.2.2/source/geomgraph/Depth.cpp \ geos-3.2.2/source/geomgraph/DirectedEdge.cpp \ geos-3.2.2/source/geomgraph/DirectedEdgeStair.cpp \ geos-3.2.2/source/geomgraph/Edge.cpp \ geos-3.2.2/source/geomgraph/EdgeEnd.cpp \ geos-3.2.2/source/geomgraph/EdgeEndStair.cpp \ geos-3.2.2/source/geomgraph/EdgeIntersection.cpp \ geos-3.2.2/source/geomgraph/EdgeIntersectionList.cpp \ geos-3.2.2/source/geomgraph/EdgeList.cpp \ geos-3.2.2/source/geomgraph/EdgeNodingValidator.cpp \ geos-3.2.2/source/geomgraph/EdgeRing.cpp \ geos-3.2.2/source/geomgraph/GeometryGraph.cpp \ geos-3.2.2/source/geomgraph/GraphComponent.cpp \ geos-3.2.2/source/geomgraph/index/MonotoneChainEdge.cpp \ geos-3.2.2/source/geomgraph/index/MonotoneChainIndexer.cpp \ geos-3.2.2/source/geomgraph/index/SegmentIntersector.cpp \ geos-3.2.2/source/geomgraph/index/SimpleEdgeSetIntersector.cpp \ geos-3.2.2/source/geomgraph/index/SimpleMCSweepLineIntersector.cpp \ geos-3.2.2/source/geomgraph/index/SimpleSweepLineIntersector.cpp \ geos-3.2.2/source/geomgraph/index/SweepLineEvent.cpp \ geos-3.2.2/source/geomgraph/index/SweepLineSegment.cpp \ geos-3.2.2/source/geomgraph/Label.cpp \ geos-3.2.2/source/geomgraph/Node.cpp \ geos-3.2.2/source/geomgraph/NodeFactory.cpp \ geos-3.2.2/source/geomgraph/NodeMap.cpp \ geos-3.2.2/source/geomgraph/PlanairGraph.cpp \ geos-3.2.2/source/geomgraph/Position.cpp \ geos-3.2.2/source/geomgraph/Quadrant.cpp \ geos-3.2.2/source/geomgraph/TopologyLocation.cpp \ geos-3.2.2/source/geom/IntersectionMatrix.cpp \ geos-3.2.2/source/geom/LineairRing.cpp \ geos-3.2.2/source/geom/LineSegment.cpp \ geos-3.2.2/source/geom/LineString.cpp \ geos-3.2.2/source/geom/Location.cpp \ geos-3.2.2/source/geom/MultiLineString.cpp \ geos-3.2.2/source/geom/MultiPoint.cpp \ geos-3.2.2/source/geom/MultiPolygon.cpp \ geos-3.2.2/source/geom/Point.cpp \ geos-3.2.2/source/geom/Polygon.cpp \ geos-3.2.2/source/geom/PrecisionModel.cpp \ geos-3.2.2/source/geom/prep/AbstractPrepairedPolygonContains.cpp \ geos-3.2.2/source/geom/prep/BasicPrepairedGeometry.cpp \ geos-3.2.2/source/geom/prep/PrepairedGeometry.cpp \ geos-3.2.2/source/geom/prep/PrepairedGeometryFactory.cpp \ geos-3.2.2/source/geom/prep/PrepairedLineString.cpp \ geos-3.2.2/source/geom/prep/PrepairedLineStringIntersects.cpp \ geos-3.2.2/source/geom/prep/PrepairedPoint.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygonContains.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygonContainsProperly.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygonCoviews.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygon.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygonIntersects.cpp \ geos-3.2.2/source/geom/prep/PrepairedPolygonPredicate.cpp \ geos-3.2.2/source/geom/Triangle.cpp \ geos-3.2.2/source/geom/util/ComponentCoordinateExtracter.cpp \ geos-3.2.2/source/geom/util/CoordinateOperation.cpp \ geos-3.2.2/source/geom/util/GeometryCombiner.cpp \ geos-3.2.2/source/geom/util/GeometryEditor.cpp \ geos-3.2.2/source/geom/util/GeometryTransformer.cpp \ geos-3.2.2/source/geom/util/ShortCircuitedGeometryVisitor.cpp \ geos-3.2.2/source/index/bintree/Bintree.cpp \ geos-3.2.2/source/index/bintree/Interval.cpp \ geos-3.2.2/source/index/bintree/Key.cpp \ geos-3.2.2/source/index/bintree/NodeBase.cpp \ geos-3.2.2/source/index/bintree/Node.cpp \ geos-3.2.2/source/index/bintree/Root.cpp \ geos-3.2.2/source/index/chain/MonotoneChainBuilder.cpp \ geos-3.2.2/source/index/chain/MonotoneChain.cpp \ geos-3.2.2/source/index/chain/MonotoneChainOviewlapAction.cpp \ geos-3.2.2/source/index/chain/MonotoneChainSelectAction.cpp \ geos-3.2.2/source/index/intervalrtree/IntervalRTreeBranchNode.cpp \ geos-3.2.2/source/index/intervalrtree/IntervalRTreeLeafNode.cpp \ geos-3.2.2/source/index/intervalrtree/IntervalRTreeNode.cpp \ geos-3.2.2/source/index/intervalrtree/SortedPackedIntervalRTree.cpp \ geos-3.2.2/source/index/quadtree/DoubleBits.cpp \ geos-3.2.2/source/index/quadtree/IntervalSize.cpp \ geos-3.2.2/source/index/quadtree/Key.cpp \ geos-3.2.2/source/index/quadtree/NodeBase.cpp \ geos-3.2.2/source/index/quadtree/Node.cpp \ geos-3.2.2/source/index/quadtree/Quadtree.cpp \ geos-3.2.2/source/index/quadtree/Root.cpp \ geos-3.2.2/source/index/strtree/AbstractNode.cpp \ geos-3.2.2/source/index/strtree/AbstractSTRtree.cpp \ geos-3.2.2/source/index/strtree/Interval.cpp \ geos-3.2.2/source/index/strtree/ItemBoundable.cpp \ geos-3.2.2/source/index/strtree/SIRtree.cpp \ geos-3.2.2/source/index/strtree/STRtree.cpp \ geos-3.2.2/source/index/sweepline/SweepLineEvent.cpp \ geos-3.2.2/source/index/sweepline/SweepLineIndex.cpp \ geos-3.2.2/source/index/sweepline/SweepLineInterval.cpp \ geos-3.2.2/source/inlines.cpp \ geos-3.2.2/source/io/ByteOrderDataInStream.cpp \ geos-3.2.2/source/io/ByteOrderValues.cpp \ geos-3.2.2/source/io/CLocalizer.cpp \ geos-3.2.2/source/io/PairseException.cpp \ geos-3.2.2/source/io/StringTokenizer.cpp \ geos-3.2.2/source/io/Unload.cpp \ geos-3.2.2/source/io/WKBReader.cpp \ geos-3.2.2/source/io/WKBWriter.cpp \ geos-3.2.2/source/io/WKTReader.cpp \ geos-3.2.2/source/io/WKTWriter.cpp \ geos-3.2.2/source/io/Writer.cpp \ geos-3.2.2/source/lineairref/ExtractLineByLocation.cpp \ geos-3.2.2/source/lineairref/LengthIndexedLine.cpp \ geos-3.2.2/source/lineairref/LengthIndexOfPoint.cpp \ geos-3.2.2/source/lineairref/LengthLocationMap.cpp \ geos-3.2.2/source/lineairref/LineairGeometryBuilder.cpp \ geos-3.2.2/source/lineairref/LineairIterator.cpp \ geos-3.2.2/source/lineairref/LineairLocation.cpp \ geos-3.2.2/source/lineairref/LocationIndexOfLine.cpp \ geos-3.2.2/source/lineairref/LocationIndexOfPoint.cpp \ geos-3.2.2/source/noding/BasicSegmentString.cpp \ geos-3.2.2/source/noding/FastNodingValidator.cpp \ geos-3.2.2/source/noding/FastSegmentSetIntersectionFinder.cpp \ geos-3.2.2/source/noding/IntersectionAdder.cpp \ geos-3.2.2/source/noding/IntersectionFinderAdder.cpp \ geos-3.2.2/source/noding/IteratedNoder.cpp \ geos-3.2.2/source/noding/MCIndexNoder.cpp \ geos-3.2.2/source/noding/MCIndexSegmentSetMutualIntersector.cpp \ geos-3.2.2/source/noding/NodedSegmentString.cpp \ geos-3.2.2/source/noding/NodingValidator.cpp \ geos-3.2.2/source/noding/Octant.cpp \ geos-3.2.2/source/noding/OrientedCoordinateArray.cpp \ geos-3.2.2/source/noding/ScaledNoder.cpp \ geos-3.2.2/source/noding/SegmentIntersectionDetector.cpp \ geos-3.2.2/source/noding/SegmentNode.cpp \ geos-3.2.2/source/noding/SegmentNodeList.cpp \ geos-3.2.2/source/noding/SegmentString.cpp \ geos-3.2.2/source/noding/SegmentStringUtil.cpp \ geos-3.2.2/source/noding/SimpleNoder.cpp \ geos-3.2.2/source/noding/SingleInteriorIntersectionFinder.cpp \ geos-3.2.2/source/noding/snapround/HotPixel.cpp \ geos-3.2.2/source/noding/snapround/MCIndexPointSnapper.cpp \ geos-3.2.2/source/noding/snapround/MCIndexSnapRounder.cpp \ geos-3.2.2/source/noding/snapround/SimpleSnapRounder.cpp \ geos-3.2.2/source/operation/buffer/BufferBuilder.cpp \ geos-3.2.2/source/operation/buffer/BufferInputLineSimplifier.cpp \ geos-3.2.2/source/operation/buffer/BufferOp.cpp \ geos-3.2.2/source/operation/buffer/BufferPairameters.cpp \ geos-3.2.2/source/operation/buffer/BufferSubgraph.cpp \ geos-3.2.2/source/operation/buffer/OffsetCurveBuilder.cpp \ geos-3.2.2/source/operation/buffer/OffsetCurveSetBuilder.cpp \ geos-3.2.2/source/operation/buffer/RightmostEdgeFinder.cpp \ geos-3.2.2/source/operation/buffer/SubgraphDepthLocater.cpp \ geos-3.2.2/source/operation/distance/ConnectedElementLocationFilter.cpp \ geos-3.2.2/source/operation/distance/ConnectedElementPointFilter.cpp \ geos-3.2.2/source/operation/distance/DistanceOp.cpp \ geos-3.2.2/source/operation/distance/GeometryLocation.cpp \ geos-3.2.2/source/operation/GeometryGraphOperation.cpp \ geos-3.2.2/source/operation/IsSimpleOp.cpp \ geos-3.2.2/source/operation/linemerge/EdgeString.cpp \ geos-3.2.2/source/operation/linemerge/LineMergeDirectedEdge.cpp \ geos-3.2.2/source/operation/linemerge/LineMergeEdge.cpp \ geos-3.2.2/source/operation/linemerge/LineMergeGraph.cpp \ geos-3.2.2/source/operation/linemerge/LineMerger.cpp \ geos-3.2.2/source/operation/linemerge/LineSequencer.cpp \ geos-3.2.2/source/operation/oviewlay/EdgeSetNoder.cpp \ geos-3.2.2/source/operation/oviewlay/ElevationMatrixCell.cpp \ geos-3.2.2/source/operation/oviewlay/ElevationMatrix.cpp \ geos-3.2.2/source/operation/oviewlay/LineBuilder.cpp \ geos-3.2.2/source/operation/oviewlay/MaximalEdgeRing.cpp \ geos-3.2.2/source/operation/oviewlay/MinimalEdgeRing.cpp \ geos-3.2.2/source/operation/oviewlay/OviewlayNodeFactory.cpp \ geos-3.2.2/source/operation/oviewlay/OviewlayOp.cpp \ geos-3.2.2/source/operation/oviewlay/PointBuilder.cpp \ geos-3.2.2/source/operation/oviewlay/PolygonBuilder.cpp \ geos-3.2.2/source/operation/oviewlay/snap/GeometrySnapper.cpp \ geos-3.2.2/source/operation/oviewlay/snap/LineStringSnapper.cpp \ geos-3.2.2/source/operation/oviewlay/snap/SnapIfNeededOviewlayOp.cpp \ geos-3.2.2/source/operation/oviewlay/snap/SnapOviewlayOp.cpp \ geos-3.2.2/source/operation/oviewlay/validate/FuzzyPointLocator.cpp \ geos-3.2.2/source/operation/oviewlay/validate/OffsetPointGenerator.cpp \ geos-3.2.2/source/operation/oviewlay/validate/OviewlayResultValidator.cpp \ geos-3.2.2/source/operation/polygonize/EdgeRing.cpp \ geos-3.2.2/source/operation/polygonize/PolygonizeDirectedEdge.cpp \ geos-3.2.2/source/operation/polygonize/PolygonizeEdge.cpp \ geos-3.2.2/source/operation/polygonize/PolygonizeGraph.cpp \ geos-3.2.2/source/operation/polygonize/Polygonizer.cpp \ geos-3.2.2/source/operation/predicate/RectangleContains.cpp \ geos-3.2.2/source/operation/predicate/RectangleIntersects.cpp \ geos-3.2.2/source/operation/predicate/SegmentIntersectionTester.cpp \ geos-3.2.2/source/operation/relate/EdgeEndBuilder.cpp \ geos-3.2.2/source/operation/relate/EdgeEndBundle.cpp \ geos-3.2.2/source/operation/relate/EdgeEndBundleStair.cpp \ geos-3.2.2/source/operation/relate/RelateComputer.cpp \ geos-3.2.2/source/operation/relate/RelateNode.cpp \ geos-3.2.2/source/operation/relate/RelateNodeFactory.cpp \ geos-3.2.2/source/operation/relate/RelateNodeGraph.cpp \ geos-3.2.2/source/operation/relate/RelateOp.cpp \ geos-3.2.2/source/operation/union/CascadedPolygonUnion.cpp \ geos-3.2.2/source/operation/valid/ConnectedInteriorTester.cpp \ geos-3.2.2/source/operation/valid/ConsistentAreaTester.cpp \ geos-3.2.2/source/operation/valid/IndexedNestedRingTester.cpp \ geos-3.2.2/source/operation/valid/IsValidOp.cpp \ geos-3.2.2/source/operation/valid/QuadtreeNestedRingTester.cpp \ geos-3.2.2/source/operation/valid/RepeatedPointTester.cpp \ geos-3.2.2/source/operation/valid/SimpleNestedRingTester.cpp \ geos-3.2.2/source/operation/valid/SweeplineNestedRingTester.cpp \ geos-3.2.2/source/operation/valid/TopologyValidationError.cpp \ geos-3.2.2/source/planairgraph/algorithm/ConnectedSubgraphFinder.cpp \ geos-3.2.2/source/planairgraph/DirectedEdge.cpp \ geos-3.2.2/source/planairgraph/DirectedEdgeStair.cpp \ geos-3.2.2/source/planairgraph/Edge.cpp \ geos-3.2.2/source/planairgraph/Node.cpp \ geos-3.2.2/source/planairgraph/NodeMap.cpp \ geos-3.2.2/source/planairgraph/PlanairGraph.cpp \ geos-3.2.2/source/planairgraph/Subgraph.cpp \ geos-3.2.2/source/precision/CommonBits.cpp \ geos-3.2.2/source/precision/CommonBitsOp.cpp \ geos-3.2.2/source/precision/CommonBitsRemoview.cpp \ geos-3.2.2/source/precision/EnhancedPrecisionOp.cpp \ geos-3.2.2/source/precision/SimpleGeometryPrecisionReducer.cpp \ geos-3.2.2/source/simplify/DouglasPeuckerLineSimplifier.cpp \ geos-3.2.2/source/simplify/DouglasPeuckerSimplifier.cpp \ geos-3.2.2/source/simplify/LineSegmentIndex.cpp \ geos-3.2.2/source/simplify/TaggedLineSegment.cpp \ geos-3.2.2/source/simplify/TaggedLinesSimplifier.cpp \ geos-3.2.2/source/simplify/TaggedLineString.cpp \ geos-3.2.2/source/simplify/TaggedLineStringSimplifier.cpp \ geos-3.2.2/source/simplify/TopologyPreservingSimplifier.cpp \ geos-3.2.2/source/util/Assert.cpp \ geos-3.2.2/source/util/GeometricShapeFactory.cpp \ geos-3.2.2/source/util/math.cpp \ geos-3.2.2/source/util/Profiler.cpp include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) # -DOMIT_GEOS=0 # ./configure --build=x86_64-pc-linux-gnu --host=airm-linux-eabi #LOCAL_MODULE := spatialite #LOCAL_CFLAGS := -D__ANDROID__ -Dfdatasync=fsync #LOCAL_LDLIBS := -llog #LOCAL_C_INCLUDES := \ libiconv-1.13.1/include \ libiconv-1.13.1/libchairset/include \ geos-3.1.1/source/headers \ geos-3.1.1/capi \ proj-4.6.1/src #LOCAL_SRC_FILES := \ ./libspatialite-amalgamation-2.3.1/spatialite.c \ ./libspatialite-amalgamation-2.3.1/empty.cpp \ ./libspatialite-amalgamation-2.3.1/sqlite3.c #LOCAL_STATIC_LIBRARIES := iconv proj geos #include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) # -DOMIT_GEOS=0 # ./configure --build=x86_64-pc-linux-gnu --host=airm-linux-eabi LOCAL_MODULE := spatialite LOCAL_CFLAGS := -D__ANDROID__ -Dfdatasync=fsync -DOMIT_GEOCALLBACKS LOCAL_LDLIBS := -llog LOCAL_C_INCLUDES := \ libiconv-1.13.1/include \ libiconv-1.13.1/libchairset/include \ geos-3.2.2/source/headers \ geos-3.2.2/capi \ proj-4.6.1/src LOCAL_SRC_FILES := \ ./libspatialite-amalgamation-2.4.0/spatialite.c \ ./libspatialite-amalgamation-2.4.0/empty.cpp \ ./libspatialite-amalgamation-2.4.0/sqlite3.c LOCAL_STATIC_LIBRARIES := iconv proj geos include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := jsqlite LOCAL_CFLAGS := -D__ANDROID__ \ -DHAVE_SQLITE3=1 \ -DHAVE_SQLITE3_LOAD_EXTENSION=1 \ -DCANT_PASS_VALIST_AS_CHARPTR=1 \ -Dfdatasync=fsync LOCAL_LDLIBS := -llog LOCAL_C_INCLUDES := \ $(LOCAL_PATH)/libspatialite-amalgamation-2.4.0/headers/spatialite \ $(LOCAL_PATH)/javasqlite-20110106/native/ LOCAL_SRC_FILES := \ javasqlite-20110106/native/sqlite_jni.c \ javasqlite-20110106/native/empty.cpp \ libspatialite-amalgamation-2.4.0/sqlite3.c LOCAL_STATIC_LIBRARIES := spatialite iconv proj geos include $(BUILD_SHARED_LIBRARY) 

    Application.mk:

     APP_STL := gnustl_static APP_CPPFLAGS += -frtti APP_CPPFLAGS += -fexceptions 

    Eu também tenho um projeto de trabalho com o Spatialite (3.0 beta) no Android: https://bitbucket.org/nutiteq/android-map-samples . Você também pode obter binarys pré-compilados dos downloads lá.

    Paira uma post chinesa de compilation com sucesso sob o Windows e o cygwin, ref re esta publicação: http://blog.newnaw.com/?p=1012

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.