Skip to content
Snippets Groups Projects
Commit e21c20e1 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

update android build to work with latest sdk/ndk

parent 71ddc7fd
No related branches found
No related tags found
No related merge requests found
......@@ -376,21 +376,6 @@ if(ENABLE_BLAS_LAPACK)
set_config_option(HAVE_LAPACK "Lapack(VecLib)")
endif(MSVC)
if(ENABLE_BUILD_ANDROID)
find_library(BLAS_LIB f2cblas PATH_SUFFIXES lib)
find_library(LAPACK_LIB f2clapack PATH_SUFFIXES lib)
if(BLAS_LIB)
list(APPEND EXTERNAL_LIBRARIES ${BLAS_LIB})
set_config_option(HAVE_BLAS "Blas")
endif(BLAS_LIB)
if(LAPACK_LIB)
list(APPEND EXTERNAL_LIBRARIES ${LAPACK_LIB})
set_config_option(HAVE_LAPACK "Lapack")
endif(LAPACK_LIB)
# for isnan/isinf
add_definitions(-D_GLIBCXX_USE_C99_MATH=1)
endif(ENABLE_BUILD_ANDROID)
if(NOT HAVE_BLAS OR NOT HAVE_LAPACK)
# if we haven't found blas and lapack check for OpenBlas
set(OPENBLAS_LIBS_REQUIRED openblas)
......@@ -1451,13 +1436,14 @@ if(ENABLE_BUILD_ANDROID)
if(NOT CMAKE_TOOLCHAIN_FILE)
message(FATAL_ERROR "Cannot compile Gmsh for android without android-cmake")
endif(NOT CMAKE_TOOLCHAIN_FILE)
add_definitions(-D_GLIBCXX_USE_C99_MATH=1)
set(CMAKE_BUILD_TYPE Release)
set(LIBRARY_OUTPUT_PATH_ROOT ${CMAKE_CURRENT_BINARY_DIR})
set(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR}/libs/)
add_definitions(-DBUILD_ANDROID)
add_library(androidGmsh SHARED ${GMSH_SRC})
set_target_properties(androidGmsh PROPERTIES OUTPUT_NAME Gmsh)
target_link_libraries(androidGmsh ${EXTERNAL_LIBRARIES})
target_link_libraries(androidGmsh ${EXTERNAL_LIBRARIES} ${LAPACK_LIBRARIES})
endif(ENABLE_BUILD_ANDROID)
# shared library target
......
......@@ -5,7 +5,7 @@
android:installLocation="auto" >
<uses-sdk android:minSdkVersion="14"
android:targetSdkVersion="17" />
android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-feature android:glEsVersion="0x00010000" android:required="true" />
......
This diff is collapsed.
......@@ -19,10 +19,10 @@ fi
petsc_lib="$frameworks_dir/petsc"
slepc_lib="$frameworks_dir/slepc"
android_ndk="${HOME}/android-ndk-r8b/"
android_sdk="${HOME}/android-sdk/"
android_ndk="${HOME}/Library/Android/sdk/ndk-bundle/"
android_sdk="${HOME}/Library/Android/sdk/"
cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/Android.cmake -DENABLE_BUILD_ANDROID=1 -DCMAKE_BUILD_TYPE=Release"
cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=${android_ndk}/build/cmake/android.toolchain.cmake -DANDROID_STL_FORCE_FEATURES=1 -DENABLE_BUILD_ANDROID=1 -DCMAKE_BUILD_TYPE=Release"
cmake_thread=6
function check {
......@@ -33,8 +33,6 @@ function check {
fi
}
export ANDROID_NDK=$android_ndk
# Gmsh
cd $gmsh_svn
svn up
......@@ -42,7 +40,7 @@ if [ ! -d "$gmsh_svn/build_android" ] || [ ! -f "$gmsh_svn/build_android/CMakeCa
mkdir $gmsh_svn/build_android
fi
cd $gmsh_svn/build_android
cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DBLAS_LIB="$petsc_lib/libf2cblas.so" -DLAPACK_LIB="$petsc_lib/libf2clapack.so" ..
cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_PLUGINS=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" ..
check
make androidGmsh -j$cmake_thread
check
......@@ -117,13 +115,13 @@ ant release
check
# to install on the device:
# ~/android-sdk/platform-tools/adb install -r build_android_Onelab/Onelab/bin/Onelab-release.apk
# ~/Library/Android/sdk/platform-tools/adb install -r build_android_Onelab/Onelab/bin/Onelab-release.apk
# to launch the app on the device:
# ~/android-sdk/platform-tools/adb shell am start -n org.geuz.onelab/org.geuz.onelab.SplashScreen
# ~/Library/Android/sdk/platform-tools/adb shell am start -n org.geuz.onelab/org.geuz.onelab.SplashScreen
# to debug and check the log:
# ~/android-sdk/tools/ddms
# ~/Library/Android/sdk/tools/monitor
# to see stack traces after crashes:
# ~/android-sdk/platform-tools/adb logcat | ~/android-ndk-r8b/ndk-stack -sym build_android_Onelab/
# ~/Library/Android/sdk/platform-tools/adb logcat | ~/Library/Android/ndk-bundle/ndk-stack -sym build_android_Onelab/
java.source=1.6
java.target=1.6
key.store=${user.home}/.geuzaine.keystore
key.store.password=Gmsh2013
key.alias=cgeuzaine
key.alias.password=Gmsh2013
java.compilerargs=-Xlint:deprecation
# run this with the android toolchain file, e.g.
#
# mkdir build
# cmake -DCMAKE_TOOLCHAIN_FILE=/Users/geuzaine/Library/Android/sdk/ndk-bundle/build/cmake/android.toolchain.cmake ..
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(f2cblaslapack C)
add_definitions(-D_GLIBCXX_USE_C99_MATH=1)
find_file(CMAKE_TOOLCHAIN_FILE "android.toolchain.cmake")
if(NOT CMAKE_TOOLCHAIN_FILE)
message(FATAL_ERROR "Cannot compile f2cblaslapack for android without android-cmake")
endif(NOT CMAKE_TOOLCHAIN_FILE)
add_definitions(-DBUILD_ANDROID)
set(CMAKE_BUILD_TYPE Release)
set(BLAS_AUX pow_ii.c lsame.c xerbla_array.c xerbla.c)
set(BLAS_SINGLE pow_si.c smaxloc.c sf__cabs.c caxpy.c ccopy.c cdotc.c cdotu.c cgbmv.c cgemm.c cgemv.c cgerc.c cgeru.c chbmv.c chemm.c chemv.c cher2.c cher2k.c cher.c cherk.c chpmv.c chpr2.c chpr.c crotg.c cscal.c csrot.c csscal.c cswap.c csymm.c csyr2k.c csyrk.c ctbmv.c ctbsv.c ctpmv.c ctpsv.c ctrmm.c ctrmv.c ctrsm.c ctrsv.c icamax.c isamax.c sasum.c saxpy.c scabs1.c scasum.c scnrm2.c scopy.c sdot.c sgbmv.c sgemm.c sgemv.c sger.c snrm2.c srot.c srotg.c srotm.c srotmg.c ssbmv.c sscal.c sspmv.c sspr2.c sspr.c sswap.c ssymm.c ssymv.c ssyr2.c ssyr2k.c ssyr.c ssyrk.c stbmv.c stbsv.c stpmv.c stpsv.c strmm.c strmv.c strsm.c strsv.c)
set(BLAS_DOUBLE pow_di.c dmaxloc.c df__cabs.c dasum.c daxpy.c dcabs1.c dcopy.c ddot.c dgbmv.c dgemm.c dgemv.c dger.c dnrm2.c drot.c drotg.c drotm.c drotmg.c dsbmv.c dscal.c dsdot.c dspmv.c dspr2.c dspr.c dswap.c dsymm.c dsymv.c dsyr2.c dsyr2k.c dsyr.c dsyrk.c dtbmv.c dtbsv.c dtpmv.c dtpsv.c dtrmm.c dtrmv.c dtrsm.c dtrsv.c dzasum.c dznrm2.c idamax.c izamax.c sdsdot.c zaxpy.c zcopy.c zdotc.c zdotu.c zdrot.c zdscal.c zgbmv.c zgemm.c zgemv.c zgerc.c zgeru.c zhbmv.c zhemm.c zhemv.c zher2.c zher2k.c zher.c zherk.c zhpmv.c zhpr2.c zhpr.c zrotg.c zscal.c zswap.c zsymm.c zsyr2k.c zsyrk.c ztbmv.c ztbsv.c ztpmv.c ztpsv.c ztrmm.c ztrmv.c ztrsm.c ztrsv.c)
set(LAPACK_SINGLE slamch.c cbbcsd.c cbdsqr.c cgbbrd.c cgbcon.c cgbequb.c cgbequ.c cgbrfs.c cgbsv.c cgbsvx.c cgbtf2.c cgbtrf.c cgbtrs.c cgebak.c cgebal.c cgebd2.c cgebrd.c cgecon.c cgeequb.c cgeequ.c cgees.c cgeesx.c cgeev.c cgeevx.c cgegs.c cgegv.c cgehd2.c cgehrd.c cgelq2.c cgelqf.c cgelsd.c cgels.c cgelss.c cgelsx.c cgelsy.c cgemqrt.c cgeql2.c cgeqlf.c cgeqp3.c cgeqpf.c cgeqr2.c cgeqr2p.c cgeqrf.c cgeqrfp.c cgeqrt2.c cgeqrt3.c cgeqrt.c cgerfs.c cgerq2.c cgerqf.c cgesc2.c cgesdd.c cgesvd.c cgesv.c cgesvx.c cgetc2.c cgetf2.c cgetrf.c cgetri.c cgetrs.c cggbak.c cggbal.c cgges.c cggesx.c cggev.c cggevx.c cggglm.c cgghrd.c cgglse.c cggqrf.c cggrqf.c cggsvd.c cggsvp.c cgtcon.c cgtrfs.c cgtsv.c cgtsvx.c cgttrf.c cgttrs.c cgtts2.c chbevd.c chbev.c chbevx.c chbgst.c chbgvd.c chbgv.c chbgvx.c chbtrd.c checon.c cheequb.c cheevd.c cheev.c cheevr.c cheevx.c chegs2.c chegst.c chegvd.c chegv.c chegvx.c cherfs.c chesv.c chesvx.c cheswapr.c chetd2.c chetf2.c chetrd.c chetrf.c chetri2.c chetri2x.c chetri.c chetrs2.c chetrs.c chfrk.c chgeqz.c chpcon.c chpevd.c chpev.c chpevx.c chpgst.c chpgvd.c chpgv.c chpgvx.c chprfs.c chpsv.c chpsvx.c chptrd.c chptrf.c chptri.c chptrs.c chsein.c chseqr.c clabrd.c clacgv.c clacn2.c clacon.c clacp2.c clacpy.c clacrm.c clacrt.c cladiv.c claed0.c claed7.c claed8.c claein.c claesy.c claev2.c clag2z.c cla_gerpvgrw.c clags2.c clagtm.c clahef.c clahqr.c clahr2.c clahrd.c claic1.c clals0.c clalsa.c clalsd.c clangb.c clange.c clangt.c clanhb.c clanhe.c clanhf.c clanhp.c clanhs.c clanht.c clansb.c clansp.c clansy.c clantb.c clantp.c clantr.c clapll.c clapmr.c clapmt.c claqgb.c claqge.c claqhb.c claqhe.c claqhp.c claqp2.c claqps.c claqr0.c claqr1.c claqr2.c claqr3.c claqr4.c claqr5.c claqsb.c claqsp.c claqsy.c clar1v.c clar2v.c clarcm.c clarfb.c clarf.c clarfg.c clarfgp.c clarft.c clarfx.c clargv.c clarnv.c clarrv.c clartg.c clartv.c clarzb.c clarz.c clarzt.c clascl.c claset.c clasr.c classq.c claswp.c clasyf.c clatbs.c clatdf.c clatps.c clatrd.c clatrs.c clatrz.c clatzm.c clauu2.c clauum.c cpbcon.c cpbequ.c cpbrfs.c cpbstf.c cpbsv.c cpbsvx.c cpbtf2.c cpbtrf.c cpbtrs.c cpftrf.c cpftri.c cpftrs.c cpocon.c cpoequb.c cpoequ.c cporfs.c cposv.c cposvx.c cpotf2.c cpotrf.c cpotri.c cpotrs.c cppcon.c cppequ.c cpprfs.c cppsv.c cppsvx.c cpptrf.c cpptri.c cpptrs.c cpstf2.c cpstrf.c cptcon.c cpteqr.c cptrfs.c cptsv.c cptsvx.c cpttrf.c cpttrs.c cptts2.c crot.c cspcon.c cspmv.c cspr.c csprfs.c cspsv.c cspsvx.c csptrf.c csptri.c csptrs.c csrscl.c cstedc.c cstegr.c cstein.c cstemr.c csteqr.c csycon.c csyconv.c csyequb.c csymv.c csyr.c csyrfs.c csysv.c csysvx.c csyswapr.c csytf2.c csytrf.c csytri2.c csytri2x.c csytri.c csytrs2.c csytrs.c ctbcon.c ctbrfs.c ctbtrs.c ctfsm.c ctftri.c ctfttp.c ctfttr.c ctgevc.c ctgex2.c ctgexc.c ctgsen.c ctgsja.c ctgsna.c ctgsy2.c ctgsyl.c ctpcon.c ctpmqrt.c ctpqrt2.c ctpqrt.c ctprfb.c ctprfs.c ctptri.c ctptrs.c ctpttf.c ctpttr.c ctrcon.c ctrevc.c ctrexc.c ctrrfs.c ctrsen.c ctrsna.c ctrsyl.c ctrti2.c ctrtri.c ctrtrs.c ctrttf.c ctrttp.c ctzrqf.c ctzrzf.c cunbdb.c cuncsd.c cung2l.c cung2r.c cungbr.c cunghr.c cungl2.c cunglq.c cungql.c cungqr.c cungr2.c cungrq.c cungtr.c cunm2l.c cunm2r.c cunmbr.c cunmhr.c cunml2.c cunmlq.c cunmql.c cunmqr.c cunmr2.c cunmr3.c cunmrq.c cunmrz.c cunmtr.c cupgtr.c cupmtr.c icmax1.c ilaclc.c ilaclr.c ilaslc.c ilaslr.c sbbcsd.c sbdsdc.c sbdsqr.c scsum1.c sdisna.c sgbbrd.c sgbcon.c sgbequb.c sgbequ.c sgbrfs.c sgbsv.c sgbsvx.c sgbtf2.c sgbtrf.c sgbtrs.c sgebak.c sgebal.c sgebd2.c sgebrd.c sgecon.c sgeequb.c sgeequ.c sgees.c sgeesx.c sgeev.c sgeevx.c sgegs.c sgegv.c sgehd2.c sgehrd.c sgejsv.c sgelq2.c sgelqf.c sgelsd.c sgels.c sgelss.c sgelsx.c sgelsy.c sgemqrt.c sgeql2.c sgeqlf.c sgeqp3.c sgeqpf.c sgeqr2.c sgeqr2p.c sgeqrf.c sgeqrfp.c sgeqrt2.c sgeqrt3.c sgeqrt.c sgerfs.c sgerq2.c sgerqf.c sgesc2.c sgesdd.c sgesvd.c sgesv.c sgesvj.c sgesvx.c sgetc2.c sgetf2.c sgetrf.c sgetri.c sgetrs.c sggbak.c sggbal.c sgges.c sggesx.c sggev.c sggevx.c sggglm.c sgghrd.c sgglse.c sggqrf.c sggrqf.c sggsvd.c sggsvp.c sgsvj0.c sgsvj1.c sgtcon.c sgtrfs.c sgtsv.c sgtsvx.c sgttrf.c sgttrs.c sgtts2.c shgeqz.c shsein.c shseqr.c sisnan.c slabad.c slabrd.c slacn2.c slacon.c slacpy.c sladiv.c slae2.c slaebz.c slaed0.c slaed1.c slaed2.c slaed3.c slaed4.c slaed5.c slaed6.c slaed7.c slaed8.c slaed9.c slaeda.c slaein.c slaev2.c slaexc.c slag2d.c slag2.c sla_gerpvgrw.c slags2.c slagtf.c slagtm.c slagts.c slagv2.c slahqr.c slahr2.c slahrd.c slaic1.c slaisnan.c slaln2.c slals0.c slalsa.c slalsd.c slamrg.c slaneg.c slangb.c slange.c slangt.c slanhs.c slansb.c slansf.c slansp.c slanst.c slansy.c slantb.c slantp.c slantr.c slanv2.c slapll.c slapmr.c slapmt.c slapy2.c slapy3.c slaqgb.c slaqge.c slaqp2.c slaqps.c slaqr0.c slaqr1.c slaqr2.c slaqr3.c slaqr4.c slaqr5.c slaqsb.c slaqsp.c slaqsy.c slaqtr.c slar1v.c slar2v.c slarfb.c slarf.c slarfg.c slarfgp.c slarft.c slarfx.c slargv.c slarnv.c slarra.c slarrb.c slarrc.c slarrd.c slarre.c slarrf.c slarrj.c slarrk.c slarrr.c slarrv.c slartg.c slartgp.c slartgs.c slartv.c slaruv.c slarzb.c slarz.c slarzt.c slas2.c slascl.c slasd0.c slasd1.c slasd2.c slasd3.c slasd4.c slasd5.c slasd6.c slasd7.c slasd8.c slasda.c slasdq.c slasdt.c slaset.c slasq1.c slasq2.c slasq3.c slasq4.c slasq5.c slasq6.c slasr.c slasrt.c slassq.c slasv2.c slaswp.c slasy2.c slasyf.c slatbs.c slatdf.c slatps.c slatrd.c slatrs.c slatrz.c slatzm.c slauu2.c slauum.c sopgtr.c sopmtr.c sorbdb.c sorcsd.c sorg2l.c sorg2r.c sorgbr.c sorghr.c sorgl2.c sorglq.c sorgql.c sorgqr.c sorgr2.c sorgrq.c sorgtr.c sorm2l.c sorm2r.c sormbr.c sormhr.c sorml2.c sormlq.c sormql.c sormqr.c sormr2.c sormr3.c sormrq.c sormrz.c sormtr.c spbcon.c spbequ.c spbrfs.c spbstf.c spbsv.c spbsvx.c spbtf2.c spbtrf.c spbtrs.c spftrf.c spftri.c spftrs.c spocon.c spoequb.c spoequ.c sporfs.c sposv.c sposvx.c spotf2.c spotrf.c spotri.c spotrs.c sppcon.c sppequ.c spprfs.c sppsv.c sppsvx.c spptrf.c spptri.c spptrs.c spstf2.c spstrf.c sptcon.c spteqr.c sptrfs.c sptsv.c sptsvx.c spttrf.c spttrs.c sptts2.c srscl.c ssbevd.c ssbev.c ssbevx.c ssbgst.c ssbgvd.c ssbgv.c ssbgvx.c ssbtrd.c ssfrk.c sspcon.c sspevd.c sspev.c sspevx.c sspgst.c sspgvd.c sspgv.c sspgvx.c ssprfs.c sspsv.c sspsvx.c ssptrd.c ssptrf.c ssptri.c ssptrs.c sstebz.c sstedc.c sstegr.c sstein.c sstemr.c ssteqr.c ssterf.c sstevd.c sstev.c sstevr.c sstevx.c ssycon.c ssyconv.c ssyequb.c ssyevd.c ssyev.c ssyevr.c ssyevx.c ssygs2.c ssygst.c ssygvd.c ssygv.c ssygvx.c ssyrfs.c ssysv.c ssysvx.c ssyswapr.c ssytd2.c ssytf2.c ssytrd.c ssytrf.c ssytri2.c ssytri2x.c ssytri.c ssytrs2.c ssytrs.c stbcon.c stbrfs.c stbtrs.c stfsm.c stftri.c stfttp.c stfttr.c stgevc.c stgex2.c stgexc.c stgsen.c stgsja.c stgsna.c stgsy2.c stgsyl.c stpcon.c stpmqrt.c stpqrt2.c stpqrt.c stprfb.c stprfs.c stptri.c stptrs.c stpttf.c stpttr.c strcon.c strevc.c strexc.c strrfs.c strsen.c strsna.c strsyl.c strti2.c strtri.c strtrs.c strttf.c strttp.c stzrqf.c stzrzf.c)
set(LAPACK_DOUBLE dlamch.c dbbcsd.c dbdsdc.c dbdsqr.c ddisna.c dgbbrd.c dgbcon.c dgbequb.c dgbequ.c dgbrfs.c dgbsv.c dgbsvx.c dgbtf2.c dgbtrf.c dgbtrs.c dgebak.c dgebal.c dgebd2.c dgebrd.c dgecon.c dgeequb.c dgeequ.c dgees.c dgeesx.c dgeev.c dgeevx.c dgegs.c dgegv.c dgehd2.c dgehrd.c dgejsv.c dgelq2.c dgelqf.c dgelsd.c dgels.c dgelss.c dgelsx.c dgelsy.c dgemqrt.c dgeql2.c dgeqlf.c dgeqp3.c dgeqpf.c dgeqr2.c dgeqr2p.c dgeqrf.c dgeqrfp.c dgeqrt2.c dgeqrt3.c dgeqrt.c dgerfs.c dgerq2.c dgerqf.c dgesc2.c dgesdd.c dgesvd.c dgesv.c dgesvj.c dgesvx.c dgetc2.c dgetf2.c dgetrf.c dgetri.c dgetrs.c dggbak.c dggbal.c dgges.c dggesx.c dggev.c dggevx.c dggglm.c dgghrd.c dgglse.c dggqrf.c dggrqf.c dggsvd.c dggsvp.c dgsvj0.c dgsvj1.c dgtcon.c dgtrfs.c dgtsv.c dgtsvx.c dgttrf.c dgttrs.c dgtts2.c dhgeqz.c dhsein.c dhseqr.c disnan.c dlabad.c dlabrd.c dlacn2.c dlacon.c dlacpy.c dladiv.c dlae2.c dlaebz.c dlaed0.c dlaed1.c dlaed2.c dlaed3.c dlaed4.c dlaed5.c dlaed6.c dlaed7.c dlaed8.c dlaed9.c dlaeda.c dlaein.c dlaev2.c dlaexc.c dlag2.c dlag2s.c dla_gerpvgrw.c dlags2.c dlagtf.c dlagtm.c dlagts.c dlagv2.c dlahqr.c dlahr2.c dlahrd.c dlaic1.c dlaisnan.c dlaln2.c dlals0.c dlalsa.c dlalsd.c dlamrg.c dlaneg.c dlangb.c dlange.c dlangt.c dlanhs.c dlansb.c dlansf.c dlansp.c dlanst.c dlansy.c dlantb.c dlantp.c dlantr.c dlanv2.c dlapll.c dlapmr.c dlapmt.c dlapy2.c dlapy3.c dlaqgb.c dlaqge.c dlaqp2.c dlaqps.c dlaqr0.c dlaqr1.c dlaqr2.c dlaqr3.c dlaqr4.c dlaqr5.c dlaqsb.c dlaqsp.c dlaqsy.c dlaqtr.c dlar1v.c dlar2v.c dlarfb.c dlarf.c dlarfg.c dlarfgp.c dlarft.c dlarfx.c dlargv.c dlarnv.c dlarra.c dlarrb.c dlarrc.c dlarrd.c dlarre.c dlarrf.c dlarrj.c dlarrk.c dlarrr.c dlarrv.c dlartg.c dlartgp.c dlartgs.c dlartv.c dlaruv.c dlarzb.c dlarz.c dlarzt.c dlas2.c dlascl.c dlasd0.c dlasd1.c dlasd2.c dlasd3.c dlasd4.c dlasd5.c dlasd6.c dlasd7.c dlasd8.c dlasda.c dlasdq.c dlasdt.c dlaset.c dlasq1.c dlasq2.c dlasq3.c dlasq4.c dlasq5.c dlasq6.c dlasr.c dlasrt.c dlassq.c dlasv2.c dlaswp.c dlasy2.c dlasyf.c dlat2s.c dlatbs.c dlatdf.c dlatps.c dlatrd.c dlatrs.c dlatrz.c dlatzm.c dlauu2.c dlauum.c dopgtr.c dopmtr.c dorbdb.c dorcsd.c dorg2l.c dorg2r.c dorgbr.c dorghr.c dorgl2.c dorglq.c dorgql.c dorgqr.c dorgr2.c dorgrq.c dorgtr.c dorm2l.c dorm2r.c dormbr.c dormhr.c dorml2.c dormlq.c dormql.c dormqr.c dormr2.c dormr3.c dormrq.c dormrz.c dormtr.c dpbcon.c dpbequ.c dpbrfs.c dpbstf.c dpbsv.c dpbsvx.c dpbtf2.c dpbtrf.c dpbtrs.c dpftrf.c dpftri.c dpftrs.c dpocon.c dpoequb.c dpoequ.c dporfs.c dposv.c dposvx.c dpotf2.c dpotrf.c dpotri.c dpotrs.c dppcon.c dppequ.c dpprfs.c dppsv.c dppsvx.c dpptrf.c dpptri.c dpptrs.c dpstf2.c dpstrf.c dptcon.c dpteqr.c dptrfs.c dptsv.c dptsvx.c dpttrf.c dpttrs.c dptts2.c drscl.c dsbevd.c dsbev.c dsbevx.c dsbgst.c dsbgvd.c dsbgv.c dsbgvx.c dsbtrd.c dsfrk.c dsgesv.c dspcon.c dspevd.c dspev.c dspevx.c dspgst.c dspgvd.c dspgv.c dspgvx.c dsposv.c dsprfs.c dspsv.c dspsvx.c dsptrd.c dsptrf.c dsptri.c dsptrs.c dstebz.c dstedc.c dstegr.c dstein.c dstemr.c dsteqr.c dsterf.c dstevd.c dstev.c dstevr.c dstevx.c dsycon.c dsyconv.c dsyequb.c dsyevd.c dsyev.c dsyevr.c dsyevx.c dsygs2.c dsygst.c dsygvd.c dsygv.c dsygvx.c dsyrfs.c dsysv.c dsysvx.c dsyswapr.c dsytd2.c dsytf2.c dsytrd.c dsytrf.c dsytri2.c dsytri2x.c dsytri.c dsytrs2.c dsytrs.c dtbcon.c dtbrfs.c dtbtrs.c dtfsm.c dtftri.c dtfttp.c dtfttr.c dtgevc.c dtgex2.c dtgexc.c dtgsen.c dtgsja.c dtgsna.c dtgsy2.c dtgsyl.c dtpcon.c dtpmqrt.c dtpqrt2.c dtpqrt.c dtprfb.c dtprfs.c dtptri.c dtptrs.c dtpttf.c dtpttr.c dtrcon.c dtrevc.c dtrexc.c dtrrfs.c dtrsen.c dtrsna.c dtrsyl.c dtrti2.c dtrtri.c dtrtrs.c dtrttf.c dtrttp.c dtzrqf.c dtzrzf.c dzsum1.c iladlc.c iladlr.c ilazlc.c ilazlr.c izmax1.c zbbcsd.c zbdsqr.c zcgesv.c zcposv.c zdrscl.c zgbbrd.c zgbcon.c zgbequb.c zgbequ.c zgbrfs.c zgbsv.c zgbsvx.c zgbtf2.c zgbtrf.c zgbtrs.c zgebak.c zgebal.c zgebd2.c zgebrd.c zgecon.c zgeequb.c zgeequ.c zgees.c zgeesx.c zgeev.c zgeevx.c zgegs.c zgegv.c zgehd2.c zgehrd.c zgelq2.c zgelqf.c zgelsd.c zgels.c zgelss.c zgelsx.c zgelsy.c zgemqrt.c zgeql2.c zgeqlf.c zgeqp3.c zgeqpf.c zgeqr2.c zgeqr2p.c zgeqrf.c zgeqrfp.c zgeqrt2.c zgeqrt3.c zgeqrt.c zgerfs.c zgerq2.c zgerqf.c zgesc2.c zgesdd.c zgesvd.c zgesv.c zgesvx.c zgetc2.c zgetf2.c zgetrf.c zgetri.c zgetrs.c zggbak.c zggbal.c zgges.c zggesx.c zggev.c zggevx.c zggglm.c zgghrd.c zgglse.c zggqrf.c zggrqf.c zggsvd.c zggsvp.c zgtcon.c zgtrfs.c zgtsv.c zgtsvx.c zgttrf.c zgttrs.c zgtts2.c zhbevd.c zhbev.c zhbevx.c zhbgst.c zhbgvd.c zhbgv.c zhbgvx.c zhbtrd.c zhecon.c zheequb.c zheevd.c zheev.c zheevr.c zheevx.c zhegs2.c zhegst.c zhegvd.c zhegv.c zhegvx.c zherfs.c zhesv.c zhesvx.c zheswapr.c zhetd2.c zhetf2.c zhetrd.c zhetrf.c zhetri2.c zhetri2x.c zhetri.c zhetrs2.c zhetrs.c zhfrk.c zhgeqz.c zhpcon.c zhpevd.c zhpev.c zhpevx.c zhpgst.c zhpgvd.c zhpgv.c zhpgvx.c zhprfs.c zhpsv.c zhpsvx.c zhptrd.c zhptrf.c zhptri.c zhptrs.c zhsein.c zhseqr.c zlabrd.c zlacgv.c zlacn2.c zlacon.c zlacp2.c zlacpy.c zlacrm.c zlacrt.c zladiv.c zlaed0.c zlaed7.c zlaed8.c zlaein.c zlaesy.c zlaev2.c zlag2c.c zla_gerpvgrw.c zlags2.c zlagtm.c zlahef.c zlahqr.c zlahr2.c zlahrd.c zlaic1.c zlals0.c zlalsa.c zlalsd.c zlangb.c zlange.c zlangt.c zlanhb.c zlanhe.c zlanhf.c zlanhp.c zlanhs.c zlanht.c zlansb.c zlansp.c zlansy.c zlantb.c zlantp.c zlantr.c zlapll.c zlapmr.c zlapmt.c zlaqgb.c zlaqge.c zlaqhb.c zlaqhe.c zlaqhp.c zlaqp2.c zlaqps.c zlaqr0.c zlaqr1.c zlaqr2.c zlaqr3.c zlaqr4.c zlaqr5.c zlaqsb.c zlaqsp.c zlaqsy.c zlar1v.c zlar2v.c zlarcm.c zlarfb.c zlarf.c zlarfg.c zlarfgp.c zlarft.c zlarfx.c zlargv.c zlarnv.c zlarrv.c zlartg.c zlartv.c zlarzb.c zlarz.c zlarzt.c zlascl.c zlaset.c zlasr.c zlassq.c zlaswp.c zlasyf.c zlat2c.c zlatbs.c zlatdf.c zlatps.c zlatrd.c zlatrs.c zlatrz.c zlatzm.c zlauu2.c zlauum.c zpbcon.c zpbequ.c zpbrfs.c zpbstf.c zpbsv.c zpbsvx.c zpbtf2.c zpbtrf.c zpbtrs.c zpftrf.c zpftri.c zpftrs.c zpocon.c zpoequb.c zpoequ.c zporfs.c zposv.c zposvx.c zpotf2.c zpotrf.c zpotri.c zpotrs.c zppcon.c zppequ.c zpprfs.c zppsv.c zppsvx.c zpptrf.c zpptri.c zpptrs.c zpstf2.c zpstrf.c zptcon.c zpteqr.c zptrfs.c zptsv.c zptsvx.c zpttrf.c zpttrs.c zptts2.c zrot.c zspcon.c zspmv.c zspr.c zsprfs.c zspsv.c zspsvx.c zsptrf.c zsptri.c zsptrs.c zstedc.c zstegr.c zstein.c zstemr.c zsteqr.c zsycon.c zsyconv.c zsyequb.c zsymv.c zsyr.c zsyrfs.c zsysv.c zsysvx.c zsyswapr.c zsytf2.c zsytrf.c zsytri2.c zsytri2x.c zsytri.c zsytrs2.c zsytrs.c ztbcon.c ztbrfs.c ztbtrs.c ztfsm.c ztftri.c ztfttp.c ztfttr.c ztgevc.c ztgex2.c ztgexc.c ztgsen.c ztgsja.c ztgsna.c ztgsy2.c ztgsyl.c ztpcon.c ztpmqrt.c ztpqrt2.c ztpqrt.c ztprfb.c ztprfs.c ztptri.c ztptrs.c ztpttf.c ztpttr.c ztrcon.c ztrevc.c ztrexc.c ztrrfs.c ztrsen.c ztrsna.c ztrsyl.c ztrti2.c ztrtri.c ztrtrs.c ztrttf.c ztrttp.c ztzrqf.c ztzrzf.c zunbdb.c zuncsd.c zung2l.c zung2r.c zungbr.c zunghr.c zungl2.c zunglq.c zungql.c zungqr.c zungr2.c zungrq.c zungtr.c zunm2l.c zunm2r.c zunmbr.c zunmhr.c zunml2.c zunmlq.c zunmql.c zunmqr.c zunmr2.c zunmr3.c zunmrq.c zunmrz.c zunmtr.c zupgtr.c zupmtr.c)
set(LAPACK_AUX chla_transtype.c ieeeck.c iladiag.c ilaenv.c ilaprec.c ilatrans.c ilauplo.c ilaver.c iparmq.c lsamen.c xerbla_array.c xerbla.c)
foreach(FILE ${BLAS_SINGLE} ${BLAS_DOUBLE} ${BLAS_AUX})
list(APPEND BLAS_SRC blas/${FILE})
endforeach()
foreach(FILE ${LAPACK_SINGLE} ${LAPACK_DOUBLE} ${LAPACK_AUX})
list(APPEND LAPACK_SRC lapack/${FILE})
endforeach()
add_library(f2cblas SHARED ${BLAS_SRC})
add_library(f2clapack SHARED ${LAPACK_SRC})
target_link_libraries(f2clapack f2cblas)
......@@ -5,30 +5,29 @@
######## change Cxx.py in the PETSc 3.6.0 distrib to replace CXXCPP by CPP
######## edit src/system/err.c to remove the exception throwing code
######## edit android_real/lib/petsc/conf/petscvariables:
######## remove the dylib stuff
######## edit SL_LINKER_FUNCTION: SL_LINKER_FUNCTION = -shared
######## edit SONAME_FUNCTION: SONAME_FUNCTION=$(1).$(2).so
######## add "-Wl,--unresolved-symbols=ignore-all" to the PCC_LINKER_FLAGS to
######## fix undefined ref to 'main'
######## 1) change DSYMUTIL = ls
######## 2) change SL_LINKER_FUNCTION = -shared
######## 3) change SONAME_FUNCTION=$(1).$(2).so
######## 4) add "-Wl,--unresolved-symbols=ignore-all" to the PCC_LINKER_FLAGS
if __name__ == '__main__':
import sys
import os
sys.path.insert(0, os.path.abspath('config'))
import configure
ndkroot='/Users/geuzaine/android-ndk-r8b/'
ndkbin=ndkroot + 'toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/bin/'
ndklibs=ndkroot + 'toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86/user/libs/'
ndkroot='/Users/geuzaine/Library/Android/sdk/ndk-bundle/'
ndkbin=ndkroot + 'toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/'
ndklibs=ndkroot + 'toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/user/libs/'
ndklibs2=ndkroot + 'platforms/android-14/arch-arm/usr/lib/'
externallibs='/Users/geuzaine/src/gmsh/contrib/mobile/frameworks_android/petsc/'
configure_options = [
'--AR=' + ndkbin + 'arm-linux-androideabi-ar',
'--CC=' + ndkbin + 'arm-linux-androideabi-gcc',
'--CFLAGS=--sysroot=' + ndkroot + 'platforms/android-8/arch-arm',
'--CFLAGS=--sysroot=' + ndkroot + 'platforms/android-14/arch-arm',
'--CPP=' + ndkbin + 'arm-linux-androideabi-cpp',
'--CPPFLAGS=--sysroot=' + ndkroot + 'platforms/android-8/arch-arm',
'--CPPFLAGS=--sysroot=' + ndkroot + 'platforms/android-14/arch-arm',
'--CXX=' + ndkbin + 'arm-linux-androideabi-g++',
'--CXXFLAGS=--sysroot=' + ndkroot + 'platforms/android-8/arch-arm -fsigned-char -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fdata-sections -ffunction-sections -fPIC -Wno-psabi -frtti -fexceptions -mthumb -O3 -fomit-frame-pointer -DNDEBUG -fPIC -isystem ' + ndkroot + 'platforms/android-8/arch-arm/usr/include -isystem ' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include -isystem ' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include -lstdc++ -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include/ -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include/backward -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include',
'--CXXFLAGS=--sysroot=' + ndkroot + 'platforms/android-14/arch-arm -fsigned-char -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -fdata-sections -ffunction-sections -fPIC -Wno-psabi -frtti -fexceptions -mthumb -O3 -fomit-frame-pointer -DNDEBUG -fPIC -isystem ' + ndkroot + 'platforms/android-14/arch-arm/usr/include -isystem ' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/include -isystem ' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include -lstdc++ -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/include/ -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/include/backward -I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include',
'--LDFLAGS= -L' + ndklibs + 'armeabi-v7a -L' + ndklibs2 + ' -lm',
'--LD_SHARED=' + ndkbin + 'arm-linux-androideabi-ld',
'--CLINKER=' + ndkbin + 'arm-linux-androideabi-gcc',
......@@ -57,9 +56,9 @@ if __name__ == '__main__':
'--download-suitesparse=yes',
'--with-shared-libraries=1',
'--with-x=0',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include/',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include/backward',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi/include',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/include/',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/include/backward',
'-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include',
'-lstdc++',
'-with-batch=1',
'PETSC_ARCH=android_real',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment