1fce0c873SBarry Smith#!/bin/sh 2fce0c873SBarry Smith# 390a31879SBarry Smith# This script makes a Apple Mac iOS framework for PETSc see ./makeall 4fce0c873SBarry Smith# 5fce0c873SBarry Smith# To use the framework: 6fce0c873SBarry Smith# 7fce0c873SBarry Smith# 1) replace all #include <petscXXX.h> in application with #import <PETSc/petscXXX.h> 889518752SBarry Smith# 2a) either run the installer or sudo -r mv ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS /Library/Framework 989518752SBarry Smith# 2) use the framework inside Xcode by simply indicating the targets dependence on the PETSc framework located at /Library/Framework/PETSc-iOS/simulator 10fce0c873SBarry Smith# 11fce0c873SBarry Smith# 1289518752SBarry Smithrm -rf ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS 13fce0c873SBarry Smith 1489518752SBarry Smithmkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS 15d9dc08c3SBarry Smithmkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1 16d9dc08c3SBarry Smithmkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework 17d9dc08c3SBarry Smithmkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions 18d9dc08c3SBarry Smithmkdir ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions/A 19d9dc08c3SBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework/Versions/ 20fce0c873SBarry Smithln -s A Current 21fce0c873SBarry Smith 22fce0c873SBarry Smithcd A 23fce0c873SBarry Smithmkdir Headers 24fce0c873SBarry Smithcp ${PETSC_DIR}/include/*.h Headers 25fce0c873SBarry Smithcp ${PETSC_DIR}/${PETSC_ARCH}/include/*.h Headers 26e6e75211SBarry Smithcp -r ${PETSC_DIR}/include/petsc Headers 27fce0c873SBarry Smith 28fce0c873SBarry Smithcd Headers 29e6e75211SBarry Smithsed -i "" "s?#include [ ]*<petsc?#import <PETSc/petsc?g" *.h petsc/private/*.h petsc/mpiuni/*.h 30e6e75211SBarry Smithsed -i "" "s?#include [ ]*<mpi?#import <PETSc/petsc/mpiuni/mpi?g" *.h petsc/private/*.h petsc/mpiuni/*.h 31fce0c873SBarry Smithcd .. 32fce0c873SBarry Smith 335ce846c0SBarry Smithecho "framework module PETSc [system] { header \"petsc.h\" export *}" > module.map 345ce846c0SBarry Smith 35*575a0592SBarry Smithcp ${PETSC_DIR}/${PETSC_ARCH}/lib/PETSc_framework PETSc 366187e55bSBarry Smithinstall_name_tool -id /Library/Frameworks/PETSc-iOS/simulator/PETSc.framework/PETSc PETSc 37fce0c873SBarry Smithmkdir Resources 38fce0c873SBarry Smithcd Resources 39fce0c873SBarry Smithcat <<EOF > Info.plist 40fce0c873SBarry Smith<?xml version="1.0" encoding="UTF-8"?> 41fce0c873SBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 42fce0c873SBarry Smith<plist version="1.0"> 43fce0c873SBarry Smith<dict> 44fce0c873SBarry Smith <key>BuildMachineOSBuild</key> 45fce0c873SBarry Smith <string>12A269</string> 46fce0c873SBarry Smith <key>CFBundleDevelopmentRegion</key> 47fce0c873SBarry Smith <string>English</string> 48fce0c873SBarry Smith <key>CFBundleExecutable</key> 49fce0c873SBarry Smith <string>PETSc</string> 50fce0c873SBarry Smith <key>CFBundleIdentifier</key> 51fce0c873SBarry Smith <string>gov.anl.mcs.PETSc</string> 52fce0c873SBarry Smith <key>CFBundleInfoDictionaryVersion</key> 53fce0c873SBarry Smith <string>6.0</string> 54fce0c873SBarry Smith <key>CFBundleName</key> 55fce0c873SBarry Smith <string>PETSc</string> 56fce0c873SBarry Smith <key>CFBundlePackageType</key> 57fce0c873SBarry Smith <string>FMWK</string> 58fce0c873SBarry Smith <key>CFBundleShortVersionString</key> 59fce0c873SBarry Smith <string>1.0</string> 60fce0c873SBarry Smith <key>CFBundleSignature</key> 61fce0c873SBarry Smith <string>????</string> 62fce0c873SBarry Smith <key>CFBundleVersion</key> 63fce0c873SBarry Smith <string>1</string> 64fce0c873SBarry Smith <key>DTCompiler</key> 65fce0c873SBarry Smith <string></string> 66fce0c873SBarry Smith <key>DTPlatformBuild</key> 67fce0c873SBarry Smith <string>4F250</string> 68fce0c873SBarry Smith <key>DTPlatformVersion</key> 69fce0c873SBarry Smith <string>GM</string> 70fce0c873SBarry Smith <key>DTSDKBuild</key> 71fce0c873SBarry Smith <string>12A264</string> 72fce0c873SBarry Smith <key>DTSDKName</key> 73fce0c873SBarry Smith <string>macosx10.8</string> 74fce0c873SBarry Smith <key>DTXcode</key> 75fce0c873SBarry Smith <string>0440</string> 76fce0c873SBarry Smith <key>DTXcodeBuild</key> 77fce0c873SBarry Smith <string>4F250</string> 78fce0c873SBarry Smith <key>NSHumanReadableCopyright</key> 79fce0c873SBarry Smith <string>Copyright © 2012 Argonne National Laboratory. All rights reserved.</string> 80fce0c873SBarry Smith</dict> 81fce0c873SBarry Smith</plist> 82fce0c873SBarry SmithEOF 83fce0c873SBarry Smith 84d9dc08c3SBarry Smithcd ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework 85fce0c873SBarry Smithln -s Versions/Current/Headers Headers 86fce0c873SBarry Smithln -s Versions/Current/PETSc PETSc 87fce0c873SBarry Smithln -s Versions/Current/Resources Resources 885ce846c0SBarry Smithln -s Versions/Current/module.map module.map 89fce0c873SBarry Smith 90