#!/bin/sh # # This script makes a Apple Mac iOS framework for PETSc see ./makeall # # To use the framework: # # 1) replace all #include in application with #import # 2a) either run the installer or sudo -r mv ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS /Library/Framework # 2) use the framework inside Xcode by simply indicating the targets dependence on the PETSc framework located at /Library/Framework/PETSc-iOS/simulator # # rm -rf ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS mkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS mkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1 mkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework mkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions mkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions/A cd ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions/ ln -s A Current cd A mkdir Headers cp ${PETSC_DIR}/include/*.h Headers cp ${PETSC_DIR}/${PETSC_ARCH}/include/*.h Headers cp -r ${PETSC_DIR}/include/petsc Headers cd Headers sed -i "" "s?#include [ ]* module.map cp ${PETSC_DIR}/${PETSC_ARCH}/lib/PETSc PETSc install_name_tool -id /Library/Frameworks/PETSc-iOS/simulator/PETSc.framework/PETSc PETSc mkdir Resources cd Resources cat < Info.plist BuildMachineOSBuild 12A269 CFBundleDevelopmentRegion English CFBundleExecutable PETSc CFBundleIdentifier gov.anl.mcs.PETSc CFBundleInfoDictionaryVersion 6.0 CFBundleName PETSc CFBundlePackageType FMWK CFBundleShortVersionString 1.0 CFBundleSignature ???? CFBundleVersion 1 DTCompiler DTPlatformBuild 4F250 DTPlatformVersion GM DTSDKBuild 12A264 DTSDKName macosx10.8 DTXcode 0440 DTXcodeBuild 4F250 NSHumanReadableCopyright Copyright © 2012 Argonne National Laboratory. All rights reserved. EOF cd ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework ln -s Versions/Current/Headers Headers ln -s Versions/Current/PETSc PETSc ln -s Versions/Current/Resources Resources ln -s Versions/Current/module.map module.map