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