| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 function usage { | 3 function usage { |
| 4 echo "usage: $0 [ --help ] [ --android ] [ --arm | --x86] [--clean] [<Dart dir
ectory>]" | 4 echo "usage: $0 [ --help ] [ --android ] [ --arm | --x86] [ --debug ] [--clean
] [<Dart directory>]" |
| 5 echo | 5 echo |
| 6 echo "Sync up Skia and build" | 6 echo "Sync up Skia and build" |
| 7 echo | 7 echo |
| 8 echo " --android: Build for Android" | 8 echo " --android: Build for Android" |
| 9 echo " --x86 : Build for Intel" | 9 echo " --x86 : Build for Intel" |
| 10 echo " --arm : Cross-compile for ARM (implies --android)" | 10 echo " --arm : Cross-compile for ARM (implies --android)" |
| 11 echo " --debug : Build a debug version" |
| 11 echo | 12 echo |
| 12 } | 13 } |
| 13 | 14 |
| 14 DO_ANDROID=0 | 15 DO_ANDROID=0 |
| 15 TARGET_ARCH=x86 | 16 TARGET_ARCH=x86 |
| 16 CLEAN=0 | 17 CLEAN=0 |
| 18 BUILD=Release |
| 17 DART_DIR=../../.. | 19 DART_DIR=../../.. |
| 18 | 20 |
| 19 while [ ! -z "$1" ] ; do | 21 while [ ! -z "$1" ] ; do |
| 20 case $1 in | 22 case $1 in |
| 21 "-h"|"-?"|"-help"|"--help") | 23 "-h"|"-?"|"-help"|"--help") |
| 22 usage | 24 usage |
| 23 exit 1 | 25 exit 1 |
| 24 ;; | 26 ;; |
| 25 "--android") | 27 "--android") |
| 26 DO_ANDROID=1 | 28 DO_ANDROID=1 |
| 27 ;; | 29 ;; |
| 28 "--arm") | 30 "--arm") |
| 29 TARGET_ARCH=arm | 31 TARGET_ARCH=arm |
| 30 DO_ANDROID=1 | 32 DO_ANDROID=1 |
| 31 ;; | 33 ;; |
| 32 "--x86") | 34 "--x86") |
| 33 TARGET_ARCH=x86 | 35 TARGET_ARCH=x86 |
| 34 ;; | 36 ;; |
| 35 "--clean") | 37 "--clean") |
| 36 CLEAN=1 | 38 CLEAN=1 |
| 37 ;; | 39 ;; |
| 40 "--debug") |
| 41 BUILD=Debug |
| 42 ;; |
| 43 "--release") |
| 44 BUILD=Release |
| 45 ;; |
| 38 *) | 46 *) |
| 39 if [ ! -d "$1" ] | 47 if [ ! -d "$1" ] |
| 40 then | 48 then |
| 41 echo "Unrecognized argument: $1" | 49 echo "Unrecognized argument: $1" |
| 42 usage | 50 usage |
| 43 exit 1 | 51 exit 1 |
| 44 fi | 52 fi |
| 45 DART_DIR="$1" | 53 DART_DIR="$1" |
| 46 ;; | 54 ;; |
| 47 esac | 55 esac |
| 48 shift | 56 shift |
| 49 done | 57 done |
| 50 | 58 |
| 51 mkdir -p "${DART_DIR}/third_party/skia" | 59 mkdir -p "${DART_DIR}/third_party/skia" |
| 52 pushd "${DART_DIR}/third_party/skia" | 60 pushd "${DART_DIR}/third_party/skia" |
| 53 | 61 |
| 54 if [ ${DO_ANDROID} != 0 ] ; then | 62 if [ ${DO_ANDROID} != 0 ] ; then |
| 55 echo "Building for Android ${TARGET_ARCH}" | 63 echo "Building for Android ${TARGET_ARCH}" |
| 56 curl http://skia.googlecode.com/svn/android/gclient.config -o .gclient | 64 curl http://skia.googlecode.com/svn/android/gclient.config -o .gclient |
| 57 gclient sync | 65 gclient sync |
| 58 | 66 |
| 59 export ANDROID_SDK_ROOT=`readlink -f ../android_tools/sdk` | 67 export ANDROID_SDK_ROOT=`readlink -f ../android_tools/sdk` |
| 60 | 68 |
| 61 cd trunk | 69 cd trunk |
| 62 | 70 |
| 63 echo "Using SDK ${ANDROID_SDK_ROOT}" | 71 echo "Using SDK ${ANDROID_SDK_ROOT}" |
| 64 if [ ${CLEAN} != 0 ] ; then | 72 if [ ${CLEAN} != 0 ] ; then |
| 65 ../android/bin/android_make -d $TARGET_ARCH -j clean | 73 ../android/bin/android_make -d $TARGET_ARCH -j clean |
| 66 else | 74 else |
| 67 env -i BUILDTYPE=Debug ANDROID_SDK_ROOT="${ANDROID_SDK_ROOT}" ../android/bin
/android_make BUILDTYPE=Debug -d $TARGET_ARCH -j --debug=j | 75 env -i BUILDTYPE=$BUILD ANDROID_SDK_ROOT="${ANDROID_SDK_ROOT}" ../android/bi
n/android_make BUILDTYPE=$BUILD -d $TARGET_ARCH -j --debug=j |
| 68 #../android/bin/android_make ANDROID_NDK= BUILDTYPE=Debug ANDROID_SDK_ROOT=
-d $TARGET_ARCH -j | |
| 69 #../android/bin/android_make ANDROID_NDK= BUILDTYPE=Debug ANDROID_SDK_ROOT="
${ANDROID_SDK_ROOT}" -d $TARGET_ARCH -j | |
| 70 #../android/bin/android_make BUILDTYPE=Debug ANDROID_SDK_ROOT="${ANDROID_SDK
_ROOT}" -d $TARGET_ARCH -j png | |
| 71 fi | 76 fi |
| 72 | 77 |
| 73 else | 78 else |
| 74 | 79 |
| 75 echo "Building for desktop in `pwd`" | 80 echo "Building for desktop in `pwd`" |
| 76 # Desktop build. Requires svn client and Python. | 81 # Desktop build. Requires svn client and Python. |
| 77 | 82 |
| 78 # Note that on Linux these packages should be installed first: | 83 # Note that on Linux these packages should be installed first: |
| 79 # | 84 # |
| 80 # libfreetype6 | 85 # libfreetype6 |
| 81 # libfreetype6-dev | 86 # libfreetype6-dev |
| 82 # libpng12-0, libpng12-dev | 87 # libpng12-0, libpng12-dev |
| 83 # libglu1-mesa-dev | 88 # libglu1-mesa-dev |
| 84 # mesa-common-dev | 89 # mesa-common-dev |
| 85 # freeglut3-dev | 90 # freeglut3-dev |
| 86 | 91 |
| 87 SKIA_INSTALLDIR=`pwd` | 92 SKIA_INSTALLDIR=`pwd` |
| 88 svn checkout http://skia.googlecode.com/svn/trunk | 93 svn checkout http://skia.googlecode.com/svn/trunk |
| 89 cd trunk | 94 cd trunk |
| 90 if [ ${CLEAN} != 0 ] ; then | 95 if [ ${CLEAN} != 0 ] ; then |
| 91 echo 'Cleaning' | 96 echo 'Cleaning' |
| 92 make clean | 97 make clean |
| 93 else | 98 else |
| 94 # Dart sets BUILDTYPE to DebugX64 which breaks Skia build. | 99 # Dart sets BUILDTYPE to DebugX64 which breaks Skia build. |
| 95 make BUILDTYPE=Debug | 100 make BUILDTYPE=$BUILD |
| 96 fi | 101 fi |
| 97 cd .. | 102 cd .. |
| 98 | 103 |
| 99 fi | 104 fi |
| 100 | 105 |
| 101 popd | 106 popd |
| 102 # TODO(gram) We should really propogate the make exit code here. | 107 # TODO(gram) We should really propogate the make exit code here. |
| 103 exit 0 | 108 exit 0 |
| 104 | 109 |
| 105 | 110 |
| OLD | NEW |