View difference between Paste ID: f53dac9e1 and
SHOW:
|
|
- or go back to the newest paste.
1 | - | |
1 | + | #! /bin/bash |
2 | # 2009-02-20, Igor Stepura <igor.stepura@gmail.com> | |
3 | # Script to build universal ARM/i386 OpenCV private framework using iPhone SDK | |
4 | # Based on make_frameworks.sh by Mark Asbach <asbach@ient.rwth-aachen.de> | |
5 | # and script from here http://lambdajive.wordpress.com/2008/12/20/cross-compiling-for-iphone/ | |
6 | ||
7 | # Tested to build with OpenCV 1.1pre1 | |
8 | # (http://sourceforge.net/project/showfiles.php?group_id=22870&package_id=16948&release_id=634504) | |
9 | ||
10 | ||
11 | #You will need modified Makefile.in (http://pastebin.com/f35b8b20e) for this script to work properly | |
12 | #see http://zaaghad.blogspot.com/2009/02/universal-i386arm-opencv-framework-for.html for details | |
13 | ||
14 | if test -x Makefile; then make distclean; fi | |
15 | ||
16 | # (re-)create directories | |
17 | rm -rf build_ppc build_i386 build_iphoneos OpenCV.framework | |
18 | ||
19 | mkdir build_ppc | |
20 | mkdir build_i386 | |
21 | mkdir build_iphoneos | |
22 | ||
23 | export parallel_jobs=$((2 * `sysctl -n hw.ncpu` + 1)) | |
24 | ||
25 | export FRAMEWORK_INSTALL_PATH="@executable_path/Frameworks" | |
26 | export FRAMEWORK_NAME=OpenCV | |
27 | export FRAMEWORK_VERSION=A | |
28 | export FRAMEWORK_CURRENT_VERSION=1.1 | |
29 | export FRAMEWORK_COMPAT_VERSION=1.1 | |
30 | ||
31 | export DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer | |
32 | export SDK_VER=2.2 | |
33 | export SDK=$DEVROOT/SDKs/iPhoneOS$SDK_VER.sdk | |
34 | ||
35 | ||
36 | ||
37 | # build powerpc version | |
38 | ||
39 | #Uncomment these lines if you need ppc version of framework | |
40 | ||
41 | ##echo "Building ppc version of the OpenCV framework" | |
42 | ##echo "============================================" | |
43 | ##cd build_ppc && ../configure --build=`arch` --host="powerpc-apple-darwin8" CXXFLAGS="-arch ppc" --without-python --without-swig --disable-apps && make -j $parallel_jobs framework FRAMEWORK_ARCH=ppc | |
44 | ||
45 | ##cd build_ppc | |
46 | ||
47 | ||
48 | ||
49 | # build intel version | |
50 | echo "Building i386 version of the OpenCV framework" | |
51 | echo "=============================================" | |
52 | if test -d build_i386; then cd build_i386; fi | |
53 | ../configure --build=`arch` --host="i686-apple-darwin8" CXXFLAGS="-arch i386"\ | |
54 | --enable-static \ | |
55 | --disable-shared \ | |
56 | --without-gtk \ | |
57 | --without-imageio --without-quicktime --without-carbon --without-python --without-swig --disable-apps\ | |
58 | && make -j $parallel_jobs\ | |
59 | framework FRAMEWORK_ARCH=i386 FRAMEWORK_LIBTOOL=libtool | |
60 | ||
61 | # build arm version | |
62 | echo "Building iPhoneOS arm version of the OpenCV framework" | |
63 | echo "=============================================" | |
64 | if test -d ../build_iphoneos; then cd ../build_iphoneos; fi | |
65 | ../configure \ | |
66 | --disable-shared \ | |
67 | --enable-static \ | |
68 | --host=arm-apple-darwin9 --target=arm-apple-darwin9 \ | |
69 | --without-imageio --without-carbon --without-quicktime --without-python --without-gtk --without-swig --disable-apps \ | |
70 | CC=$DEVROOT/usr/bin/gcc-4.0 \ | |
71 | LD=$DEVROOT/usr/bin/ld \ | |
72 | CPP=$DEVROOT/usr/bin/cpp \ | |
73 | CXXCPP=$DEVROOT/usr/bin/cpp \ | |
74 | CXX=$DEVROOT/usr/bin/arm-apple-darwin9-g++-4.0.1\ | |
75 | AR=$DEVROOT/usr/bin/ar \ | |
76 | RANLIB=$DEVROOT/usr/bin/ranlib \ | |
77 | NM=$DEVROOT/usr/bin/nm \ | |
78 | CFLAGS="-arch armv6 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -fasm-blocks -gdwarf-2 -mthumb -miphoneos-version-min=2.0 -I/Library/iPhone/include -isysroot $SDK" \ | |
79 | LDFLAGS="-arch armv6 -pipe -std=c99 -gdwarf-2 -mthumb -isysroot $SDK -L$SDK/usr/lib" \ | |
80 | CXXFLAGS="-arch armv6 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -gdwarf-2 -mthumb -miphoneos-version-min=2.0 -I/Library/iPhone/include -isysroot $SDK" \ | |
81 | && make -j $parallel_jobs framework FRAMEWORK_ARCH=armv6 FRAMEWORK_LIBTOOL=$DEVROOT/usr/bin/libtool | |
82 | ||
83 | ||
84 | # build universal version | |
85 | echo "Creating universal Framework" | |
86 | echo "=============================================" | |
87 | if test -d ../build_i386; then cd .. ; fi | |
88 | cp -Rp build_i386/OpenCV.framework ./ | |
89 | $DEVROOT/usr/bin/lipo -create -arch armv6 build_iphoneos/OpenCV.framework/OpenCV\ | |
90 | -arch i386 build_i386/OpenCV.framework/OpenCV\ | |
91 | -output OpenCV.framework/Versions/A/OpenCV | |
92 | ||
93 | ||
94 | # finalize | |
95 | echo "Done!" | |
96 | open . |