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