diff --git a/contrib/mobile/iOS/Onelab/EAGLView.mm b/contrib/mobile/iOS/Onelab/EAGLView.mm
index ac831bfc3dd0138bf58270443486b551673be669..414921a8d8e3989c8681b98f38a7f9899bcc95e6 100644
--- a/contrib/mobile/iOS/Onelab/EAGLView.mm
+++ b/contrib/mobile/iOS/Onelab/EAGLView.mm
@@ -31,21 +31,14 @@
   if ((self = [super initWithCoder:coder])) {
     // Get the layer
     CAEAGLLayer *eaglLayer = (CAEAGLLayer *)self.layer;
-    int w = 320;
-    int h = 480;
-    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 3.2f) {
-      // There is no retina display above 3.2
-      UIScreen* mainscr = [UIScreen mainScreen];
-      w = mainscr.currentMode.size.width;
-      h = mainscr.currentMode.size.height;
-    }
-    if ((w == 640 && h == 960) ||
-        (h == 1136 && w == 640) ||
-        (h == 1536 && w == 2048)) {
-      // Retina display (iPhone or iPhone 4-inch or iPad/iPad mini)
+
+    // detect retina display
+    if ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] &&
+        ([UIScreen mainScreen].scale == 2.0)) {
       self.contentScaleFactor = 2.0;
-      eaglLayer.contentsScale=2;
+      eaglLayer.contentsScale = 2;
     }
+
     eaglLayer.opaque = YES;
     eaglLayer.drawableProperties =
       [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:NO],
@@ -57,8 +50,8 @@
       //[self release];
       return nil;
     }
-    mContext = new drawContext((eaglLayer.contentsScale==2) ? 1.5 : 1,
-                               eaglLayer.contentsScale==2);
+    mContext = new drawContext((eaglLayer.contentsScale == 2) ? 1.5 : 1,
+                               eaglLayer.contentsScale == 2);
   }
   rendering = NO;
   return self;
diff --git a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad.png b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad.png
index cb158169ff961843ae09ad4707c618ff3e4aa29e..f9de893258b0451ab6542a222ae0b49d2107cfaa 100644
Binary files a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad.png and b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad.png differ
diff --git a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png
index 76825fb56efea81bfcf7f73391ff6b10a0978136..4e0c84a8ba5952d465ddd75a84f25656377a55ed 100644
Binary files a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png and b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_ipad_retina.png differ
diff --git a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png
index 40f792f9be93e204ad81c6be7c9270362b17e020..4e50e475c8baed47ec3826275bfe63ad094cac79 100644
Binary files a/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png and b/contrib/mobile/iOS/Onelab/Images_BBEMG.xcassets/AppIcon.appiconset/icon_app_iphone_retina.png differ
diff --git a/contrib/mobile/utils/f2cblaslapack_ios_makefile b/contrib/mobile/utils/f2cblaslapack_ios_makefile
index 96ea5a6e7cfb7b8a360160d55bb1d9a47baf7934..d8698f13afbf8a41852965b70435db8e1e43031f 100644
--- a/contrib/mobile/utils/f2cblaslapack_ios_makefile
+++ b/contrib/mobile/utils/f2cblaslapack_ios_makefile
@@ -9,10 +9,9 @@ ALL: blas_lib lapack_lib
 ########################################################################################
 # Specify options to compile and create libraries
 ########################################################################################
-ARCH       = "armv7"
 CC         = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-COPTFLAGS  = -O -arch $(ARCH) -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -miphoneos-version-min=7.0
-CNOOPT     = -O0 -arch $(ARCH) -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -miphoneos-version-min=7.0
+COPTFLAGS  = -O -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=7.0
+CNOOPT     = -O0 -arch armv7 -arch armv7s -arch arm64 -fembed-bitcode -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -miphoneos-version-min=7.0
 RM         = /bin/rm
 AR         = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ar
 AR_FLAGS   = cr
@@ -32,12 +31,10 @@ MAKE_OPTIONS_LAPACK = $(MAKE_OPTIONS) LIBNAME="$(LAPACK_LIB_NAME)"
 blas_lib:
 	-@cd blas;   $(MAKE) lib $(MAKE_OPTIONS_BLAS)
 	-@$(RANLIB) $(BLAS_LIB_NAME)
-	-@mv $(BLAS_LIB_NAME) $(ARCH)-unknown-darwin/
 
 lapack_lib:
 	-@cd lapack; $(MAKE) lib $(MAKE_OPTIONS_LAPACK)
 	-@$(RANLIB) $(LAPACK_LIB_NAME)
-	-@mv $(LAPACK_LIB_NAME) $(ARCH)-unknown-darwin/
 
 clean: cleanblaslapck cleanlib
 
diff --git a/contrib/mobile/utils/iOS.cmake b/contrib/mobile/utils/iOS.cmake
index 611a6c9363dc6554f78839f84711dbeaaa2d6ec2..abbe836dababd71de6a9c2fae0eab915637d2f68 100644
--- a/contrib/mobile/utils/iOS.cmake
+++ b/contrib/mobile/utils/iOS.cmake
@@ -48,15 +48,15 @@ set (CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSI
 set (CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
 
 # Hidden visibilty is required for cxx on iOS 
-set (CMAKE_C_FLAGS "-O2")
-set (CMAKE_CXX_FLAGS "-O2 -headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
+#set (CMAKE_C_FLAGS "-O2")
+#set (CMAKE_CXX_FLAGS "-O2 -fvisibility=hidden -fvisibility-inlines-hidden")
 
 set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
 set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
 
 set (CMAKE_PLATFORM_HAS_INSTALLNAME 1)
-set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -headerpad_max_install_names")
-set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -headerpad_max_install_names")
+set (CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib")
+set (CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle")
 set (CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
 set (CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
 set (CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
@@ -128,4 +128,3 @@ set (CMAKE_SYSTEM_FRAMEWORK_PATH
 set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
 set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-
diff --git a/contrib/mobile/utils/ios_build.sh b/contrib/mobile/utils/ios_build.sh
index 1673a17b8d463a3a7fb89ad8de7ed51ae4f88130..b59bb8da087632c70e483e9adfdb398ec2161d45 100755
--- a/contrib/mobile/utils/ios_build.sh
+++ b/contrib/mobile/utils/ios_build.sh
@@ -12,8 +12,10 @@ frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_ios/"
 
 petsc_framework="$frameworks_dir/petsc.framework"
 slepc_framework="$frameworks_dir/slepc.framework"
+gmsh_framework="$frameworks_dir/Gmsh.framework"
+getdp_framework="$frameworks_dir/GetDP.framework"
 
-cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=OS -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -GXcode"
+cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=OS -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=armv7;armv7s;arm64 -GXcode"
 
 build_cmd="xcodebuild -verbose -target lib -configuration Release"
 headers_cmd="xcodebuild -verbose -target get_headers -configuration Release"
@@ -26,59 +28,34 @@ function check {
   fi
 }
 
-function build_gmsh {
-  if [ $# -ne 1 ]; then
-    echo "You must specify an architecture (e.g. armv7, armv7s, arm64, ...)"
-    return
-  fi
-  if [ ! -d "$gmsh_svn/build_ios_$1" ]; then
-    mkdir $gmsh_svn/build_ios_$1
-  fi
-  cd $gmsh_svn/build_ios_$1
-  cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 -DCMAKE_OSX_ARCHITECTURES="$1" ..
-  check
-  $build_cmd
-  check
-  $headers_cmd
-  cd -
-}
-function build_getdp {
-  if [ $# -ne 1 ]; then
-    echo "You must specify an architecture (e.g. armv7, armv7s, arm64, ...)"
-    return
-  fi
-  if [ ! -d "$getdp_svn/build_ios_$1" ]; then
-    mkdir $getdp_svn/build_ios_$1
-  fi
-  cd $getdp_svn/build_ios_$1
-  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_svn/build_ios_$1/Headers/" -DGMSH_LIB="$gmsh_svn/build_ios_$1/Release-iphoneos/libGmsh.a" -DCMAKE_OSX_ARCHITECTURES="$1" ..
-  check
-  $build_cmd
-  check
-  $headers_cmd
-  cd -
-}
-
 # build gmsh framework
 cd $gmsh_svn && svn up
-build_gmsh armv7
-build_gmsh armv7s
-build_gmsh arm64
-mkdir -p $frameworks_dir/Gmsh.framework/Headers
-lipo -create $gmsh_svn/build_ios_armv7/Release-iphoneos/libGmsh.a $gmsh_svn/build_ios_arm64/Release-iphoneos/libGmsh.a $gmsh_svn/build_ios_armv7s/Release-iphoneos/libGmsh.a -output $frameworks_dir/Gmsh.framework/Gmsh
-cd $frameworks_dir/Gmsh.framework/Headers
-cp $gmsh_svn/build_ios_armv7/Headers/gmsh/* .
+mkdir -p $gmsh_svn/build_ios
+cd $gmsh_svn/build_ios
+cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 ..
+check
+$build_cmd OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=7.0 -fembed-bitcode"
+check
+$headers_cmd
+mkdir -p $gmsh_framework/Headers
+cp $gmsh_svn/build_ios/Release-iphoneos/libGmsh.a $gmsh_framework/Gmsh
+cd $gmsh_framework/Headers
+cp $gmsh_svn/build_ios/Headers/gmsh/* .
 ln -s . gmsh
 
 # build getdp framework
 cd $getdp_svn && svn up
-build_getdp armv7
-build_getdp armv7s
-build_getdp arm64
-mkdir -p $frameworks_dir/GetDP.framework/Headers
-lipo -create $getdp_svn/build_ios_armv7/Release-iphoneos/libGetDP.a $getdp_svn/build_ios_arm64/Release-iphoneos/libGetDP.a $getdp_svn/build_ios_armv7s/Release-iphoneos/libGetDP.a -output $frameworks_dir/GetDP.framework/GetDP
-cd $frameworks_dir/GetDP.framework/Headers
-cp $getdp_svn/build_ios_armv7/Headers/getdp/* .
+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" ..
+check
+$build_cmd OTHER_CPLUSPLUSFLAGS="-miphoneos-version-min=7.0 -fembed-bitcode"
+check
+$headers_cmd
+mkdir -p $getdp_framework/Headers
+cp $getdp_svn/build_ios/Release-iphoneos/libGetDP.a $getdp_framework/GetDP
+cd $getdp_framework/Headers
+cp $getdp_svn/build_ios/Headers/getdp/* .
 
 # create xcode project
 mkdir $gmsh_svn/contrib/mobile/build_ios_${appname}
diff --git a/contrib/mobile/utils/iossimulator_build.sh b/contrib/mobile/utils/iossimulator_build.sh
index b7d61cbde52a425376b133a1f291101815fbe9fc..a2ba470496790b06ae5b5d8e9d293c27a0df93e1 100755
--- a/contrib/mobile/utils/iossimulator_build.sh
+++ b/contrib/mobile/utils/iossimulator_build.sh
@@ -12,48 +12,49 @@ frameworks_dir="${HOME}/src/gmsh/contrib/mobile/frameworks_iossimulator/"
 
 petsc_framework="$frameworks_dir/petsc.framework"
 slepc_framework="$frameworks_dir/slepc.framework"
+gmsh_framework="$frameworks_dir/Gmsh.framework"
+getdp_framework="$frameworks_dir/GetDP.framework"
 
-cmake_default="-DDEFAULT=0 -DCMAKE_C_FLAGS='-m32' -DCMAKE_CXX_FLAGS='-m32'"
+cmake_default="-DDEFAULT=0 -DCMAKE_TOOLCHAIN_FILE=$gmsh_svn/contrib/mobile/utils/iOS.cmake -DIOS_PLATFORM=SIMULATOR -DENABLE_BUILD_IOS=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=i386;x86_64 -GXcode"
 
-build_cmd="make lib -j4"
-headers_cmd="make get_headers"
+build_cmd="xcodebuild -verbose -target lib -configuration Release OTHER_CPLUSPLUSFLAGS=\"-mios-simulator-version-min=7.0\""
+headers_cmd="xcodebuild -verbose -target get_headers -configuration Release"
 
-function build_gmsh {
-  if [ ! -d "$gmsh_svn/build_iossimulator" ]; then
-    mkdir $gmsh_svn/build_iossimulator
+function check {
+  return_code=$?
+  if [ $return_code != 0 ]; then
+    echo "last command failed (return $return_code)"
+    exit $return_code
   fi
-  cd $gmsh_svn/build_iossimulator
-  cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 ..
-  $build_cmd
-  $headers_cmd
-  cd -
-}
-function build_getdp {
-  if [ ! -d "$getdp_svn/build_iossimulator" ]; then
-    mkdir $getdp_svn/build_iossimulator
-  fi
-  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_svn/build_iossimulator/Headers/" -DGMSH_LIB="$gmsh_svn/build_iossimulator/libGmsh.a" ..
-  $build_cmd
-  $headers_cmd
-  cd -
 }
 
 # build gmsh framework
 cd $gmsh_svn && svn up
-build_gmsh
-mkdir -p $frameworks_dir/Gmsh.framework/Headers
-cp $gmsh_svn/build_iossimulator/libGmsh.a $frameworks_dir/Gmsh.framework/Gmsh
-cd $frameworks_dir/Gmsh.framework/Headers
+mkdir -p $gmsh_svn/build_iossimulator
+cd $gmsh_svn/build_iossimulator
+cmake $cmake_default -DENABLE_BLAS_LAPACK=1 -DENABLE_BUILD_LIB=1 -DENABLE_MATHEX=1 -DENABLE_MESH=1 -DENABLE_ONELAB=1 -DENABLE_PARSER=1 -DENABLE_POST=1 -DENABLE_ANN=1 -DENABLE_TETGEN=1 -DENABLE_KBIPACK=1 -DENABLE_GMP=0 -DENABLE_ZIPPER=1 ..
+check
+$build_cmd
+check
+$headers_cmd
+mkdir -p $gmsh_framework/Headers
+cp $gmsh_svn/build_iossimulator/Release-iphonesimulator/libGmsh.a $gmsh_framework/Gmsh
+cd $gmsh_framework/Headers
 cp $gmsh_svn/build_iossimulator/Headers/gmsh/* .
 ln -s . gmsh
 
 # build getdp framework
 cd $getdp_svn && svn up
-build_getdp
-mkdir -p $frameworks_dir/GetDP.framework/Headers
-cp $getdp_svn/build_iossimulator/libGetDP.a $frameworks_dir/GetDP.framework/GetDP
-cd $frameworks_dir/GetDP.framework/Headers
+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" ..
+check
+$build_cmd
+check
+$headers_cmd
+mkdir -p $getdp_framework/Headers
+cp $getdp_svn/build_iossimulator/Release-iphonesimulator/libGetDP.a $getdp_framework/GetDP
+cd $getdp_framework/Headers
 cp $getdp_svn/build_iossimulator/Headers/getdp/* .
 
 # create xcode project
diff --git a/contrib/mobile/utils/make_icon_ios.sh b/contrib/mobile/utils/make_icon_ios.sh
index 9727bca8a6d307a0221144047f80ed8c34ad63f5..5bace9cb5834b5109acf3839170d0960f6c648e5 100755
--- a/contrib/mobile/utils/make_icon_ios.sh
+++ b/contrib/mobile/utils/make_icon_ios.sh
@@ -3,8 +3,8 @@
 icon_source=../../../utils/icons/gmsh_mobile_master.png
 launch_source=../../../utils/icons/gmsh_mobile_master.png
 
-icon_source=../../../utils/icons/bbemg-logo-twitter-white.png
-launch_source=../../../utils/icons/bbemg-logo-color-rgb.png
+icon_source=$HOME/tex/proposals/bbemg/bbemg-logo-twitter-white.png
+launch_source=$HOME/tex/proposals/bbemg/bbemg-logo-color-rgb.png
 
 mkdir -p AppIcon.appiconset
 # App icons (iPad)
diff --git a/contrib/mobile/utils/petsc_reconfigure_ios_real.py b/contrib/mobile/utils/petsc_reconfigure_ios_real.py
index 51479f4dd8dbbabc6cacd4eb79eb62f5d8ec26dc..55c1ef349b5dce93216027c4b9d798ce1cf2fbb0 100755
--- a/contrib/mobile/utils/petsc_reconfigure_ios_real.py
+++ b/contrib/mobile/utils/petsc_reconfigure_ios_real.py
@@ -1,21 +1,12 @@
 #!/Users/geuzaine/anaconda/bin/python
-
-######## FOR PETSC 3.6.0
-########## You will need to compile 3 times, with arch=arm64, armv7, armv7s)
-##########   and lipo the 3 libs
-########## I had to  remove  sys.exit(0) after message saying ".reconfigure..."
-##########   in config/BuildSystem/config/framework.py"
-
 if __name__ == '__main__':
   import sys
   import os
   sys.path.insert(0, os.path.abspath('config'))
   import configure
   configure_options = [
-    '--CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang',
-    '--CFLAGS=-DPETSC_BLASLAPACK_UNDERSCORE -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk -miphoneos-version-min=7.0',
-    '--CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++',
-    '--CXXFLAGS=-DPETSC_BLASLAPACK_UNDERSCORE -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk -miphoneos-version-min=7.0',
+    '--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',
     '--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 abc65c6b641ddf33d09afd0e7c59da2cdf14dee7..62ba1496dd07c9ecc122fb541a3663e656d0c59d 100755
--- a/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py
+++ b/contrib/mobile/utils/petsc_reconfigure_iossimulator_real.py
@@ -5,14 +5,14 @@ if __name__ == '__main__':
   sys.path.insert(0, os.path.abspath('config'))
   import configure
   configure_options = [
-    '--CC=gcc',
-    '--CFLAGS=-m32 -DPETSC_BLASLAPACK_UNDERSCORE',
-    '--CXX=g++',
-    '--CXXFLAGS=-m32 -DPETSC_BLASLAPACK_UNDERSCORE',
+    '--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',
+    '--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-debugging=0',
     '--with-fc=0',
     '--with-ios=1',
+    '--with-lapack-lib=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/libLAPACK.dylib',
     '--with-mpi=0',
     '--with-shared-libraries=0',
     '--with-ssl=0',
diff --git a/doc/VERSIONS.txt b/doc/VERSIONS.txt
index 28af00c0078c2688a91cfd05592a1b59c790207a..b6737af6cec2d5da38fc8bf4a7a5bdf35d65e9a8 100644
--- a/doc/VERSIONS.txt
+++ b/doc/VERSIONS.txt
@@ -1,3 +1,5 @@
+2.10.2: Plugin(ModifyComponents) replaces Plugin(ModifyComponent).
+
 2.10.1 (July 30, 2015): minor fixes.
 
 2.10.0 (July 21, 2015): improved periodic meshing constraints; new Physical