3 # Ideally we will capture the exit code of each step and try them all before failing
4 # the build script. For now, use set -e and fail the build at first failure.
9 echo "*********** Clean build *************"
16 if [ $(uname -s) = "Linux" ]
18 echo "*********** Build for linux *************"
22 # Note: for android, as oic-resource uses C++11 feature stoi and to_string,
23 # it requires gcc-4.9, currently only android-ndk-r10(for linux)
24 # and windows android-ndk-r10(64bit target version) support these features.
25 if [ "$BUILD_FOR_ANDROID" = "true" ]
27 echo "*********** Build Boost for android ***********"
29 .//buildDependencies.sh
32 echo "*********** Build for android x86 *************"
33 scons TARGET_OS=android TARGET_ARCH=x86 ANDROID_NDK=$1 RELEASE=$3
35 echo "*********** Build for android armeabi *************"
36 scons TARGET_OS=android TARGET_ARCH=armeabi ANDROID_NDK=$1 RELEASE=$3
38 echo "*********** Build for android armeabi-v7a *************"
39 scons TARGET_OS=android TARGET_ARCH=armeabi-v7a ANDROID_NDK=$1 RELEASE=$3
41 echo "*********** Build for android armeabi-v7a-hard *************"
42 scons TARGET_OS=android TARGET_ARCH=armeabi-v7a-hard ANDROID_NDK=$1 RELEASE=$3
45 echo "*********** Build for arduino avr *************"
46 scons TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=ETHERNET NET=Ethernet RELEASE=$3
47 scons TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=WIFI NET=Wifi RELEASE=$3
49 echo "*********** Build for arduino arm *************"
50 scons TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=ETHERNET NET=Ethernet RELEASE=$3
51 scons TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=WIFI NET=Wifi RELEASE=$3
53 echo "*********** Build for arduino mega w/WiFi *************"
54 scons TARGET_OS=arduino BOARD=mega NET=Wifi ARDUINO_HOME=$2 RELEASE=$3
56 if [ $(uname -s) = "Darwin" ]
58 echo "*********** Build for OSX *************"
59 scons TARGET_OS=darwin SYS_VERSION=10.9 RELEASE=$3
61 echo "*********** Build for IOS i386 *************"
62 scons TARGET_OS=ios TARGET_ARCH=i386 SYS_VERSION=7.0 RELEASE=$3
64 echo "*********** Build for IOS x86_64 *************"
65 scons TARGET_OS=ios TARGET_ARCH=x86_64 SYS_VERSION=7.0 RELEASE=$3
67 echo "*********** Build for IOS armv7 *************"
68 scons TARGET_OS=ios TARGET_ARCH=armv7 SYS_VERSION=7.0 RELEASE=$3
70 echo "*********** Build for IOS armv7s *************"
71 scons TARGET_OS=ios TARGET_ARCH=armv7s SYS_VERSION=7.0 RELEASE=$3
73 echo "*********** Build for IOS arm64 *************"
74 scons TARGET_OS=ios TARGET_ARCH=arm64 SYS_VERSION=7.0 RELEASE=$3
82 echo " `basename $0` <path-to-android-ndk>"
84 echo " `basename $0` -c"
103 # Suppress "Reading ..." message and enable parallel build
104 export SCONSFLAGS="-Q -j 4"
107 scons resource RELEASE=false -c
108 scons resource LOGGING=false RELEASE=false
109 scons resource TEST=1 RELEASE=false
110 echo "===================== done ====================="