Advertisement
AOphagen

Build Libtiff on Mac for iOS

Jun 19th, 2013
1,234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.52 KB | None | 0 0
  1. #!/bin/sh
  2. # build.sh
  3.  
  4. GLOBAL_OUTDIR="`pwd`/dependencies"
  5. LOCAL_OUTDIR="./outdir"
  6. TIFF_LIB="`pwd`/tiff-3.9.6"
  7.  
  8. IOS_BASE_SDK="6.1"
  9. IOS_DEPLOY_TGT="6.1"
  10.  
  11. setenv_all()
  12. {
  13. # Add internal libs
  14. export CFLAGS="-O2 $CFLAGS -I$GLOBAL_OUTDIR/include -L$GLOBAL_OUTDIR/lib"
  15.  
  16. export CXX="$DEVROOT/usr/bin/llvm-g++"
  17. export CC="$DEVROOT/usr/bin/llvm-gcc"
  18.  
  19. export LD=$DEVROOT/usr/bin/ld
  20. export AR=$DEVROOT/usr/bin/ar
  21. export AS=$DEVROOT/usr/bin/as
  22. export NM=$DEVROOT/usr/bin/nm
  23. export RANLIB=$DEVROOT/usr/bin/ranlib
  24. export LDFLAGS="-L$SDKROOT/usr/lib/"
  25.  
  26. export CPPFLAGS=$CFLAGS
  27. export CXXFLAGS=$CFLAGS
  28. }
  29.  
  30. setenv_armv7()
  31. {
  32. unset DEVROOT SDKROOT CFLAGS CC LD CPP CXX AR AS NM CXXCPP RANLIB LDFLAGS CPPFLAGS CXXFLAGS
  33.  
  34. export DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
  35. export SDKROOT=$DEVROOT/SDKs/iPhoneOS$IOS_BASE_SDK.sdk
  36.  
  37. export CFLAGS="-arch armv7 -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT -I$SDKROOT/usr/include/"
  38.  
  39. setenv_all
  40. }
  41.  
  42. setenv_i386()
  43. {
  44. unset DEVROOT SDKROOT CFLAGS CC LD CPP CXX AR AS NM CXXCPP RANLIB LDFLAGS CPPFLAGS CXXFLAGS
  45.  
  46. export DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
  47. export SDKROOT=$DEVROOT/SDKs/iPhoneSimulator$IOS_BASE_SDK.sdk
  48.  
  49. export CFLAGS="-arch i386 -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT"
  50.  
  51. setenv_all
  52. }
  53.  
  54. create_outdir_lipo()
  55. {
  56. for lib_i386 in `find $LOCAL_OUTDIR/i386 -name "lib*\.a"`; do
  57. lib_armv7=`echo $lib_i386 | sed "s/i386/armv7/g"`
  58. lib=`echo $lib_i386 | sed "s/i386//g"`
  59. lipo -arch armv7 $lib_armv7 -arch i386 $lib_i386 -create -output $lib
  60. done
  61. }
  62.  
  63. #######################
  64. # LIBTIFF
  65. #######################
  66.  
  67. cd $TIFF_LIB
  68. rm -rf $LOCAL_OUTDIR
  69. mkdir -p $LOCAL_OUTDIR/armv7 $LOCAL_OUTDIR/i386
  70.  
  71. make clean 2> /dev/null
  72. make distclean 2> /dev/null
  73. setenv_i386
  74. ./configure --enable-shared=no --prefix=`pwd`/$LOCAL_OUTDIR/i386
  75. make -j4
  76. make install
  77.  
  78. make clean 2> /dev/null
  79. make distclean 2> /dev/null
  80. setenv_armv7
  81. ./configure --host=arm-apple-darwin7 --enable-shared=no --prefix=`pwd`/$LOCAL_OUTDIR/armv7
  82. make -j4
  83. make install
  84.  
  85. # since we're installing the libraries into LOCAL_OUTDIR/<arch>/lib
  86. # create_outdir_lipo will try to put them in LOCAL_OUTDIR/lib
  87. mkdir -p $LOCAL_OUTDIR/lib
  88. create_outdir_lipo
  89. mkdir -p $GLOBAL_OUTDIR/include
  90. cp -rvf $LOCAL_OUTDIR/i386/include/*.h $GLOBAL_OUTDIR/include
  91. mkdir -p $GLOBAL_OUTDIR/lib
  92. cp -rvf $LOCAL_OUTDIR/lib/lib*.a $GLOBAL_OUTDIR/lib
  93. cd ..
  94.  
  95. echo "Finished!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement