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