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