Imported Upstream version 0.9.1
[platform/upstream/iotivity.git] / tools / darwin / mkfwk_osx.sh
1 #!/bin/sh
2
3
4 #VERSION_IOS="${MAJOR_VERSION}.${MINOR_VERSION}.${RELEASE_NUMBER}.${BUILD_NUMBER}"
5 VERSION_IOS="0.9.0.1"
6
7
8 OUTDIR=$PWD/out/darwin
9 BUILD=debug
10 LIBCOAP=libcoap
11 SDKLIB=liboctbstack
12 LIPO="xcrun -sdk iphoneos lipo"
13
14
15 VERSION_TYPE=Alpha
16 FRAMEWORK_NAME=iotivity-csdk
17 FRAMEWORK_VERSION=A
18 FRAMEWORK_CURRENT_VERSION=${VERSION_IOS}
19 FRAMEWORK_COMPATIBILITY_VERSION=${VERSION_IOS}
20 FRAMEWORKDIR=out/darwin
21
22 FRAMEWORK_BUNDLE=$FRAMEWORKDIR/$FRAMEWORK_NAME.framework
23 rm -rf $FRAMEWORK_BUNDLE
24
25 echo "Framework: Setting up directories..."
26 mkdir -p $FRAMEWORK_BUNDLE
27 mkdir -p $FRAMEWORK_BUNDLE/Versions
28 mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION
29 mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Resources
30 mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Headers
31 mkdir -p $FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/Documentation
32
33 echo "Framework: Creating symlinks..."
34 ln  -s $FRAMEWORK_VERSION               $FRAMEWORK_BUNDLE/Versions/Current
35 ln  -s Versions/Current/Headers         $FRAMEWORK_BUNDLE/Headers
36 ln  -s Versions/Current/Resources       $FRAMEWORK_BUNDLE/Resources
37 ln  -s Versions/Current/Documentation   $FRAMEWORK_BUNDLE/Documentation
38 ln  -s Versions/Current/$FRAMEWORK_NAME $FRAMEWORK_BUNDLE/$FRAMEWORK_NAME
39 FRAMEWORK_INSTALL_NAME=$FRAMEWORK_BUNDLE/Versions/$FRAMEWORK_VERSION/$FRAMEWORK_NAME
40
41 lipolite()
42 {
43    PREV="$PWD"  
44    cd "$1"
45    ar -x "$2"
46    cd "$PREV"
47 }
48
49
50 echo "Extracting libraries..."
51 mkdir $OUTDIR/objs
52
53 ARCHS="x86_64"
54 FATFILE=""
55
56 for ARCH in $ARCHS
57 do
58     echo "extracting $ARCH"
59         mkdir $OUTDIR/objs/$ARCH
60         lipolite $OUTDIR/objs/$ARCH "$OUTDIR/$ARCH/$BUILD/$LIBCOAP.a" 
61         lipolite $OUTDIR/objs/$ARCH "$OUTDIR/$ARCH/$BUILD/$SDKLIB.a" 
62         ar -r $OUTDIR/objs/$ARCH.a $OUTDIR/objs/$ARCH/*.o
63 done
64
65
66 echo "Lipoing library into $FRAMEWORK_INSTALL_NAME..."
67 cp $OUTDIR/objs/x86_64.a "$FRAMEWORK_INSTALL_NAME"
68
69 #$LIPO \
70 #       -create \
71 #        -arch armv7 "$OUTDIR/objs/armv7.a" \
72 #        -arch armv7s "$OUTDIR/objs/armv7s.a" \
73 #        -arch arm64 "$OUTDIR/objs/arm64.a" \
74 #        -arch i386 "$OUTDIR/objs/i386.a" \
75 #        -arch x86_64  "$OUTDIR/objs/x86_64.a" \
76 #        -output "$FRAMEWORK_INSTALL_NAME" \
77 #    || abort "Lipo $1 failed"
78
79 echo rm -rf objs
80 find $OUTDIR/objs -name "*.o" | xargs rm 
81
82 echo "Framework: Copying includes..."
83 cp -r  resource/csdk/stack/include/*.h  $FRAMEWORK_BUNDLE/Headers
84 cp -r  resource/csdk/ocsocket/include/*.h  $FRAMEWORK_BUNDLE/Headers
85 cp -r  resource/csdk/ocrandom/include/*.h  $FRAMEWORK_BUNDLE/Headers
86 cp -r  resource/csdk/ocmalloc/include/*.h  $FRAMEWORK_BUNDLE/Headers
87
88 echo "Framework: Creating plist..."
89 cat > $FRAMEWORK_BUNDLE/Resources/Info.plist <<EOF
90 <?xml version="1.0" encoding="UTF-8"?>
91 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
92 <plist version="1.0">
93 <dict>
94         <key>CFBundleDevelopmentRegion</key>
95         <string>English</string>
96         <key>CFBundleExecutable</key>
97         <string>${FRAMEWORK_NAME}</string>
98         <key>CFBundleIdentifier</key>
99         <string>org.iotivity</string>
100         <key>CFBundleInfoDictionaryVersion</key>
101         <string>6.0</string>
102         <key>CFBundlePackageType</key>
103         <string>FMWK</string>
104         <key>CFBundleSignature</key>
105         <string>????</string>
106         <key>CFBundleVersion</key>
107         <string>${FRAMEWORK_CURRENT_VERSION}</string>
108 </dict>
109 </plist>
110 EOF
111
112 echo
113 echo "    ================================================================="
114 echo "    Done"
115 echo