xref: /petsc/systems/Apple/iOS/bin/makeframework (revision 6187e55b7be868de3dab288e5aecadaea4c1b258)
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
26fce0c873SBarry Smithcp -r  ${PETSC_DIR}/include/petsc-private Headers
27fce0c873SBarry Smithcp -r  ${PETSC_DIR}/include/mpiuni Headers
28fce0c873SBarry Smith
29fce0c873SBarry Smithcd Headers
30fce0c873SBarry Smithsed -i "" "s?#include [ ]*<petsc-private?#import <PETSc/petsc-private?g" *.h petsc-private/*.h
31fce0c873SBarry Smithsed -i "" "s?#include [ ]*<petsc?#import <PETSc/petsc?g" *.h petsc-private/*.h
32fce0c873SBarry Smithsed -i "" "s?#include [ ]*<petsc?#import <PETSc/petsc?g" *.h mpiuni/*.h
33fce0c873SBarry Smithsed -i "" "s?#include [ ]*<mpi?#import <PETSc/mpiuni/mpi?g" *.h petsc-private/*.h
34fce0c873SBarry Smithcd ..
35fce0c873SBarry Smith
36fce0c873SBarry Smithcp  ${PETSC_DIR}/${PETSC_ARCH}/lib/libpetsc.a PETSc
37*6187e55bSBarry Smithinstall_name_tool -id /Library/Frameworks/PETSc-iOS/simulator/PETSc.framework/PETSc PETSc
38fce0c873SBarry Smithmkdir Resources
39fce0c873SBarry Smithcd Resources
40fce0c873SBarry Smithcat <<EOF > Info.plist
41fce0c873SBarry Smith<?xml version="1.0" encoding="UTF-8"?>
42fce0c873SBarry Smith<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
43fce0c873SBarry Smith<plist version="1.0">
44fce0c873SBarry Smith<dict>
45fce0c873SBarry Smith	<key>BuildMachineOSBuild</key>
46fce0c873SBarry Smith	<string>12A269</string>
47fce0c873SBarry Smith	<key>CFBundleDevelopmentRegion</key>
48fce0c873SBarry Smith	<string>English</string>
49fce0c873SBarry Smith	<key>CFBundleExecutable</key>
50fce0c873SBarry Smith	<string>PETSc</string>
51fce0c873SBarry Smith	<key>CFBundleIdentifier</key>
52fce0c873SBarry Smith	<string>gov.anl.mcs.PETSc</string>
53fce0c873SBarry Smith	<key>CFBundleInfoDictionaryVersion</key>
54fce0c873SBarry Smith	<string>6.0</string>
55fce0c873SBarry Smith	<key>CFBundleName</key>
56fce0c873SBarry Smith	<string>PETSc</string>
57fce0c873SBarry Smith	<key>CFBundlePackageType</key>
58fce0c873SBarry Smith	<string>FMWK</string>
59fce0c873SBarry Smith	<key>CFBundleShortVersionString</key>
60fce0c873SBarry Smith	<string>1.0</string>
61fce0c873SBarry Smith	<key>CFBundleSignature</key>
62fce0c873SBarry Smith	<string>????</string>
63fce0c873SBarry Smith	<key>CFBundleVersion</key>
64fce0c873SBarry Smith	<string>1</string>
65fce0c873SBarry Smith	<key>DTCompiler</key>
66fce0c873SBarry Smith	<string></string>
67fce0c873SBarry Smith	<key>DTPlatformBuild</key>
68fce0c873SBarry Smith	<string>4F250</string>
69fce0c873SBarry Smith	<key>DTPlatformVersion</key>
70fce0c873SBarry Smith	<string>GM</string>
71fce0c873SBarry Smith	<key>DTSDKBuild</key>
72fce0c873SBarry Smith	<string>12A264</string>
73fce0c873SBarry Smith	<key>DTSDKName</key>
74fce0c873SBarry Smith	<string>macosx10.8</string>
75fce0c873SBarry Smith	<key>DTXcode</key>
76fce0c873SBarry Smith	<string>0440</string>
77fce0c873SBarry Smith	<key>DTXcodeBuild</key>
78fce0c873SBarry Smith	<string>4F250</string>
79fce0c873SBarry Smith	<key>NSHumanReadableCopyright</key>
80fce0c873SBarry Smith	<string>Copyright © 2012 Argonne National Laboratory. All rights reserved.</string>
81fce0c873SBarry Smith</dict>
82fce0c873SBarry Smith</plist>
83fce0c873SBarry SmithEOF
84fce0c873SBarry Smith
85d9dc08c3SBarry Smithcd  ${PETSC_DIR}/${PETSC_ARCH}/PETSc-iOS/$1/PETSc.framework
86fce0c873SBarry Smithln -s Versions/Current/Headers Headers
87fce0c873SBarry Smithln -s Versions/Current/PETSc PETSc
88fce0c873SBarry Smithln -s Versions/Current/Resources Resources
89fce0c873SBarry Smith
90