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

begin fix for slepc

parent abfe5dca
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,7 @@ public class Gmsh implements Parcelable { ...@@ -10,6 +10,7 @@ public class Gmsh implements Parcelable {
System.loadLibrary("f2cblas"); System.loadLibrary("f2cblas");
System.loadLibrary("f2clapack"); System.loadLibrary("f2clapack");
System.loadLibrary("petsc"); System.loadLibrary("petsc");
System.loadLibrary("slepc");
System.loadLibrary("Gmsh"); System.loadLibrary("Gmsh");
System.loadLibrary("GetDP"); System.loadLibrary("GetDP");
System.loadLibrary("Onelab"); System.loadLibrary("Onelab");
......
...@@ -155,10 +155,11 @@ if(ENABLE_BUILD_ANDROID) ...@@ -155,10 +155,11 @@ if(ENABLE_BUILD_ANDROID)
set_target_properties(androidOnelab PROPERTIES OUTPUT_NAME Onelab) set_target_properties(androidOnelab PROPERTIES OUTPUT_NAME Onelab)
target_link_libraries(androidOnelab ${LIBRARY_DEPS} ${EXTERNAL_LIBRARIES}) target_link_libraries(androidOnelab ${LIBRARY_DEPS} ${EXTERNAL_LIBRARIES})
find_library(PETSC_LIB petsc PATH_SUFFIXES lib) find_library(PETSC_LIB petsc PATH_SUFFIXES lib)
find_library(SLEPC_LIB slepc PATH_SUFFIXES lib)
find_library(BLAS_LIB f2cblas PATH_SUFFIXES lib) find_library(BLAS_LIB f2cblas PATH_SUFFIXES lib)
find_library(LAPACK_LIB f2clapack PATH_SUFFIXES lib) find_library(LAPACK_LIB f2clapack PATH_SUFFIXES lib)
set(ONELAB_LIB ${CMAKE_CURRENT_BINARY_DIR}/libs/libOnelab.so) set(ONELAB_LIB ${CMAKE_CURRENT_BINARY_DIR}/libs/libOnelab.so)
if(PETSC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB) if(PETSC_LIB AND SLEPC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB)
add_custom_target(androidProject add_custom_target(androidProject
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/Onelab/
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/models/ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/models/
...@@ -168,6 +169,7 @@ if(ENABLE_BUILD_ANDROID) ...@@ -168,6 +169,7 @@ if(ENABLE_BUILD_ANDROID)
COMMAND ${CMAKE_COMMAND} -E copy ${GETDP_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${GETDP_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
COMMAND ${CMAKE_COMMAND} -E copy ${ONELAB_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${ONELAB_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${PETSC_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
COMMAND ${CMAKE_COMMAND} -E copy ${SLEPC_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
COMMAND ${CMAKE_COMMAND} -E copy ${LAPACK_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${LAPACK_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
COMMAND ${CMAKE_COMMAND} -E copy ${BLAS_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/ COMMAND ${CMAKE_COMMAND} -E copy ${BLAS_LIB} ${CMAKE_CURRENT_BINARY_DIR}/Onelab/libs/armeabi-v7a/
) )
...@@ -187,7 +189,7 @@ if(ENABLE_BUILD_ANDROID) ...@@ -187,7 +189,7 @@ if(ENABLE_BUILD_ANDROID)
message(STATUS " * Finally you can build the app with ant 'ant debug'") message(STATUS " * Finally you can build the app with ant 'ant debug'")
message(STATUS "") message(STATUS "")
else(PETSC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB) else(PETSC_LIB AND SLEPC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB)
message(STATUS "Cannot make Android project without PETSc or without BLAS or without LAPACK or without \"Onelab library\"") message(STATUS "Cannot make Android project without PETSc or SLEPc or without BLAS or without LAPACK or without \"Onelab library\"")
endif(PETSC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB) endif(PETSC_LIB AND SLEPC_LIB AND BLAS_LIB AND LAPACK_LIB AND ONELAB_LIB)
endif(ENABLE_BUILD_ANDROID) endif(ENABLE_BUILD_ANDROID)
...@@ -4,16 +4,21 @@ if __name__ == '__main__': ...@@ -4,16 +4,21 @@ if __name__ == '__main__':
import os import os
sys.path.insert(0, os.path.abspath('config')) sys.path.insert(0, os.path.abspath('config'))
import configure 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/'
ndklibs2=ndkroot + 'platforms/android-14/arch-arm/usr/lib/'
externallibs='/Users/geuzaine/src/gmsh/contrib/mobile/frameworks_android/petsc/'
configure_options = [ configure_options = [
'--AR=/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-ar', '--AR=' + ndkbin + 'arm-linux-androideabi-ar',
'--CC=/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc', '--CC=' + ndkbin + 'arm-linux-androideabi-gcc',
'--CFLAGS=--sysroot=/opt/android-ndk/platforms/android-8/arch-arm', '--CFLAGS=--sysroot=' + ndkroot + 'platforms/android-8/arch-arm',
'--CPP=/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-cpp', '--CPP=' + ndkbin + 'arm-linux-androideabi-cpp',
'--CPPFLAGS=--sysroot=/opt/android-ndk/platforms/android-8/arch-arm', '--CPPFLAGS=--sysroot=' + ndkroot + 'platforms/android-8/arch-arm',
'--CXX=/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-g++', '--CXX=' + ndkbin + 'arm-linux-androideabi-g++',
'--CXXFLAGS=--sysroot=/opt/android-ndk/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 /opt/android-ndk/platforms/android-8/arch-arm/usr/include -isystem /opt/android-ndk/sources/cxx-stl/gnu-libstdc++/4.6/include -isystem /opt/android-ndk/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include -lstdc++', '--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++',
'--LDFLAGS= -L/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/user/libs/armeabi-v7a -L/home/maxime/Stage/_gmsh/CMakeFiles/ndklibs/armeabi-v7a -L/home/maxime/Stage/petsc-3.3-p6/armv7-unknown-linux/lib', '--LDFLAGS= -L' + ndklibs + 'armeabi-v7a -L' + ndklibs2 + ' -lm',
'--LD_SHARED=/opt/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-ld', '--LD_SHARED=' + ndkbin + 'arm-linux-androideabi-ld',
'--download-blacs=0', '--download-blacs=0',
'--download-mumps=0', '--download-mumps=0',
'--download-parmetis=0', '--download-parmetis=0',
...@@ -34,18 +39,18 @@ if __name__ == '__main__': ...@@ -34,18 +39,18 @@ if __name__ == '__main__':
'--known-sizeof-short=2', '--known-sizeof-short=2',
'--known-sizeof-size_t=8', '--known-sizeof-size_t=8',
'--known-sizeof-void-p=8', '--known-sizeof-void-p=8',
'--with-blas-lib=/home/maxime/Stage/petsc-3.3-p6/externalpackages/f2cblaslapack-3.1.1.q/libf2cblas.so', '--with-blas-lib=' + externallibs + 'libf2cblas.so',
'--with-clanguage=cxx', '--with-clanguage=cxx',
'--with-cmake=1', '--with-cmake=1',
'--with-debugging=0', '--with-debugging=0',
'--with-fc=0', '--with-fc=0',
'--with-lapack-lib=/home/maxime/Stage/petsc-3.3-p6/externalpackages/f2clapacklapack-3.1.1.q/libf2clapack.so', '--with-lapack-lib=' + externallibs + 'libf2clapack.so',
'--with-mpi=0', '--with-mpi=0',
'--with-shared-libraries=1', '--with-shared-libraries=1',
'--with-x=0', '--with-x=0',
'-I/opt/android-ndk/sources/cxx-stl/gnu-libstdc++/include/', '-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/include/',
'-I/opt/android-ndk/sources/cxx-stl/gnu-libstdc++/include/backward', '-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/include/backward',
'-I/opt/android-ndk/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include', '-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/libs/armeabi/include',
'-lstdc++', '-lstdc++',
'-with-batch=1', '-with-batch=1',
'PETSC_ARCH=armv7-android-linux', 'PETSC_ARCH=armv7-android-linux',
......
...@@ -49,7 +49,7 @@ if [ ! -d "$getdp_svn/build_android" ] || [ ! -f "$getdp_svn/build_android/CMake ...@@ -49,7 +49,7 @@ if [ ! -d "$getdp_svn/build_android" ] || [ ! -f "$getdp_svn/build_android/CMake
mkdir $getdp_svn/build_android mkdir $getdp_svn/build_android
fi fi
cd $getdp_svn/build_android cd $getdp_svn/build_android
PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_lib/Headers/" -DSLEPC_LIB="$slepc_lib/libslepc.a" -DGMSH_INC="$gmsh_svn/build_android/Headers/" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" .. PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_lib/Headers;$petsc_lib/Headers/mpiuni" -DPETSC_LIBS="$petsc_lib/libpetsc.so" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_lib/Headers/" -DSLEPC_LIB="$slepc_lib/libslepc.so" -DGMSH_INC="$gmsh_svn/build_android/Headers/" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" -DBLAS_LAPACK_LIBRARIES="$petsc_lib/libf2cblas.so;$petsc_lib/libf2clapack.so" ..
check check
make androidGetdp -j$cmake_thread make androidGetdp -j$cmake_thread
check check
...@@ -64,7 +64,7 @@ cd $gmsh_svn/contrib/mobile/build_android ...@@ -64,7 +64,7 @@ cd $gmsh_svn/contrib/mobile/build_android
cmake $cmake_default \ cmake $cmake_default \
-DCMAKE_INCLUDE_PATH="$getdp_svn/" \ -DCMAKE_INCLUDE_PATH="$getdp_svn/" \
-DBLAS_LIB="$petsc_lib/libf2cblas.so" -DLAPACK_LIB="$petsc_lib/libf2clapack.so" \ -DBLAS_LIB="$petsc_lib/libf2cblas.so" -DLAPACK_LIB="$petsc_lib/libf2clapack.so" \
-DPETSC_LIB="$petsc_lib/libpetsc.so" \ -DPETSC_LIB="$petsc_lib/libpetsc.so" -DSLEPC_LIB="$slepc_lib/libslepc.so" \
-DGMSH_INC="$gmsh_svn/build_android/Headers" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" \ -DGMSH_INC="$gmsh_svn/build_android/Headers" -DGMSH_LIB="$gmsh_svn/build_android/libs/libGmsh.so" \
-DBENCHMARKSDIR="$getdp_svn/" \ -DBENCHMARKSDIR="$getdp_svn/" \
-DGETDP_INC="$getdp_svn/build_android/Headers" -DGETDP_LIB="$getdp_svn/build_android/libs/libGetDP.so" .. -DGETDP_INC="$getdp_svn/build_android/Headers" -DGETDP_LIB="$getdp_svn/build_android/libs/libGetDP.so" ..
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment