From 1eee3a9d287bfbddd192935f85eb835634b05a4a Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 29 Oct 2016 20:50:22 +0000 Subject: [PATCH] umfpack for mobile app --- CMakeLists.txt | 2 +- contrib/mobile/iOS/Onelab/Onelab-Info.plist | 4 ++-- contrib/mobile/utils/android_build.sh | 2 +- contrib/mobile/utils/ios_build.sh | 2 +- contrib/mobile/utils/iossimulator_build.sh | 2 +- contrib/mobile/utils/merge_static_libs.sh | 20 +++++++++++++++++++ .../utils/petsc_reconfigure_android_real.py | 6 ++++-- .../utils/petsc_reconfigure_ios_real.py | 5 +++-- .../petsc_reconfigure_iossimulator_real.py | 7 +++++-- doc/VERSIONS.txt | 3 +++ 10 files changed, 41 insertions(+), 12 deletions(-) create mode 100755 contrib/mobile/utils/merge_static_libs.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index ff32b8cf38..cf4113702d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -94,7 +94,7 @@ opt(ZIPPER "Enable Zip file compression/decompression" OFF) set(GMSH_MAJOR_VERSION 2) set(GMSH_MINOR_VERSION 14) -set(GMSH_PATCH_VERSION 0) +set(GMSH_PATCH_VERSION 1) set(GMSH_EXTRA_VERSION "" CACHE STRING "Gmsh extra version string") set(GMSH_VERSION "${GMSH_MAJOR_VERSION}.${GMSH_MINOR_VERSION}") diff --git a/contrib/mobile/iOS/Onelab/Onelab-Info.plist b/contrib/mobile/iOS/Onelab/Onelab-Info.plist index b050340511..6a95df7054 100644 --- a/contrib/mobile/iOS/Onelab/Onelab-Info.plist +++ b/contrib/mobile/iOS/Onelab/Onelab-Info.plist @@ -35,11 +35,11 @@ <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> - <string>1.4.2</string> + <string>1.5.0</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> - <string>1.4.2.0</string> + <string>1.5.0.0</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UIFileSharingEnabled</key> diff --git a/contrib/mobile/utils/android_build.sh b/contrib/mobile/utils/android_build.sh index aad1059061..1477b11909 100755 --- a/contrib/mobile/utils/android_build.sh +++ b/contrib/mobile/utils/android_build.sh @@ -56,7 +56,7 @@ if [ ! -d "$getdp_svn/build_android" ] || [ ! -f "$getdp_svn/build_android/CMake mkdir $getdp_svn/build_android fi 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.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" .. +PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_SHARED=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=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 make androidGetdp -j$cmake_thread check diff --git a/contrib/mobile/utils/ios_build.sh b/contrib/mobile/utils/ios_build.sh index 9830e41f6e..237223d6ff 100755 --- a/contrib/mobile/utils/ios_build.sh +++ b/contrib/mobile/utils/ios_build.sh @@ -54,7 +54,7 @@ ln -s . gmsh cd $getdp_svn && svn up mkdir -p $getdp_svn/build_ios cd $getdp_svn/build_ios -PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. +PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. check $build_cmd OTHER_CFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=8.0 -fembed-bitcode" check diff --git a/contrib/mobile/utils/iossimulator_build.sh b/contrib/mobile/utils/iossimulator_build.sh index 7a861c5a45..3e582a812c 100755 --- a/contrib/mobile/utils/iossimulator_build.sh +++ b/contrib/mobile/utils/iossimulator_build.sh @@ -54,7 +54,7 @@ ln -s . gmsh cd $getdp_svn && svn up mkdir -p $getdp_svn/build_iossimulator cd $getdp_svn/build_iossimulator -PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_LEGACY=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. +PETSC_DIR= PETSC_ARCH= SLEPC_DIR= cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_GMSH=1 -DENABLE_KERNEL=1 -DENABLE_PETSC=1 -DPETSC_INC="$petsc_framework/Headers/" -DPETSC_LIBS="$petsc_framework/petsc" -DENABLE_SLEPC=1 -DSLEPC_INC="$slepc_framework/Headers/" -DSLEPC_LIB="$slepc_framework/slepc" -DGMSH_INC="$gmsh_framework/Headers/" -DGMSH_LIB="$gmsh_framework/Gmsh" .. check $build_cmd OTHER_CFLAGS="-mios-simulator-version-min=8.0" OTHER_CPLUSPLUSFLAGS="-mios-simulator-version-min=8.0" check diff --git a/contrib/mobile/utils/merge_static_libs.sh b/contrib/mobile/utils/merge_static_libs.sh new file mode 100755 index 0000000000..839ee7d6b1 --- /dev/null +++ b/contrib/mobile/utils/merge_static_libs.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +archs="i386 x86_64" +#archs="armv7 armv7s arm64" + +mkdir -p tmplib +for arch in $archs; do + mkdir -p $arch + for i in $*; do + lipo $i -thin $arch -o ${i}_${arch} + cd $arch + ar x ../${i}_${arch} + cd .. + rm ${i}_${arch} + done + ar r tmplib/${arch}.a ${arch}/*.o + rm -rf ${arch} +done +lipo -create tmplib/*.a -output merged_petsc_lib.a +rm -rf tmplib diff --git a/contrib/mobile/utils/petsc_reconfigure_android_real.py b/contrib/mobile/utils/petsc_reconfigure_android_real.py index e444157327..3d5c6d9210 100755 --- a/contrib/mobile/utils/petsc_reconfigure_android_real.py +++ b/contrib/mobile/utils/petsc_reconfigure_android_real.py @@ -6,8 +6,9 @@ ######## 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 -######## add "-Wl,--unresolved-symbols=ignore-all" to the linker flags to +######## 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' if __name__ == '__main__': @@ -53,6 +54,7 @@ if __name__ == '__main__': '--with-fc=0', '--with-lapack-lib=' + externallibs + 'libf2clapack.so', '--with-mpi=0', + '--download-suitesparse=yes', '--with-shared-libraries=1', '--with-x=0', '-I' + ndkroot + 'sources/cxx-stl/gnu-libstdc++/4.6/include/', diff --git a/contrib/mobile/utils/petsc_reconfigure_ios_real.py b/contrib/mobile/utils/petsc_reconfigure_ios_real.py index 55c1ef349b..0931ffacaa 100755 --- a/contrib/mobile/utils/petsc_reconfigure_ios_real.py +++ b/contrib/mobile/utils/petsc_reconfigure_ios_real.py @@ -5,8 +5,9 @@ if __name__ == '__main__': sys.path.insert(0, os.path.abspath('config')) import configure configure_options = [ - '--CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=7.0 -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -DPETSC_BLASLAPACK_UNDERSCORE', - '--CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=7.0 -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -DPETSC_BLASLAPACK_UNDERSCORE', + '--CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=8.0 -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -DPETSC_BLASLAPACK_UNDERSCORE', + '--CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=8.0 -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -DPETSC_BLASLAPACK_UNDERSCORE', + '--download-suitesparse=yes', '--known-bits-per-byte=8', '--known-endian=little', '--known-level1-dcache-assoc=1', diff --git a/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py b/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py index 62ba1496dd..a784c1e5b3 100755 --- a/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py +++ b/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py @@ -5,10 +5,13 @@ if __name__ == '__main__': sys.path.insert(0, os.path.abspath('config')) import configure configure_options = [ - '--CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -miphoneos-version-min=7.0 -arch i386 -arch x86_64 -DPETSC_BLASLAPACK_UNDERSCORE', - '--CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -miphoneos-version-min=7.0 -arch i386 -arch x86_64 -DPETSC_BLASLAPACK_UNDERSCORE', + '--CFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -miphoneos-version-min=8.0 -arch i386 -arch x86_64 -DPETSC_BLASLAPACK_UNDERSCORE', + '--CXXFLAGS=-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -miphoneos-version-min=8.0 -arch i386 -arch x86_64 -DPETSC_BLASLAPACK_UNDERSCORE', + '--download-suitesparse=yes', + '--with-batch=1', '--with-blas-lib=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libBLAS.dylib', '--with-clanguage=cxx', + '--with-cmake=1', '--with-debugging=0', '--with-fc=0', '--with-ios=1', diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt index 27a9b8dbad..5025bed631 100644 --- a/doc/VERSIONS.txt +++ b/doc/VERSIONS.txt @@ -1,3 +1,6 @@ +2.14.1 (October 29, 2016): fixed regression in periodic meshes; small bug fixes +and code cleanups. + 2.14.0 (October 9, 2016): new Tochnog file format export; added ability to remove last command in scripts generated interactively; ONELAB 1.3 with usability and performance improvements; faster "Coherence Mesh". -- GitLab