xref: /petsc/systems/Apple/iOS/bin/makeframework (revision 90a31879305ce2b4ff9b54ba7c42c3ee2de38a26)
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