X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=auto_build.sh;h=2a09953d853a8be323d3f4428648408b76e85b10;hb=b79dc9e23777bca1995ae5fbb63d1b7071a0f079;hp=4defa6626b62347e1ed50321913d861db3201d38;hpb=7fbee66fa26ef5322bde5734f9362accf7671354;p=platform%2Fupstream%2Fiotivity.git diff --git a/auto_build.sh b/auto_build.sh index 4defa66..2a09953 100755 --- a/auto_build.sh +++ b/auto_build.sh @@ -4,115 +4,226 @@ # the build script. For now, use set -e and fail the build at first failure. set -e -function clean() -{ - echo "*********** Clean build *************" - scons -c - scons -f resource/csdk/connectivity/build/tizen/SConscript TARGET_OS=tizen -c - rm -rf out -} - -function build() +function build_all() { if [ $(uname -s) = "Linux" ] then - echo "*********** Build for linux ************" - scons RELEASE=$3 + build_linux_unsecured $1 $2 + build_linux_secured $1 $2 + build_linux_unsecured_with_ra $1 $2 + build_linux_secured_with_ra $1 $2 + fi - echo "*********** Build for linux with Security *************" - scons RELEASE=$3 SECURED=1 + build_android $1 $2 - echo "*********** Build for linux With Remote Access *************" - scons RELEASE=$3 WITH_RA=1 + build_arduino $1 $2 - echo "*********** Build for linux With Remote Access & Security ************" - scons RELEASE=$3 WITH_RA=1 SECURED=1 + build_tizen $1 $2 + + if [ $(uname -s) = "Darwin" ] + then + build_darwin $1 $2 fi +} + +function build_linux() +{ + build_linux_unsecured $1 $2 + + build_linux_secured $1 $2 +} + +function build_linux_unsecured() +{ + echo "*********** Build for linux ************" + scons RELEASE=$1 $2 +} + +function build_linux_secured() +{ + echo "*********** Build for linux with Security *************" + scons RELEASE=$1 SECURED=1 $2 +} + +function build_linux_unsecured_with_ra() +{ + + echo "*********** Build for linux With Remote Access *************" + scons RELEASE=$1 WITH_RA=1 $2 +} + +function build_linux_secured_with_ra() +{ + echo "*********** Build for linux With Remote Access & Security ************" + scons RELEASE=$1 WITH_RA=1 SECURED=1 $2 +} +function build_android() +{ # Note: for android, as oic-resource uses C++11 feature stoi and to_string, # it requires gcc-4.9, currently only android-ndk-r10(for linux) # and windows android-ndk-r10(64bit target version) support these features. - echo "*********** Build Boost for android ***********" - # disable parallel build for android as gradle depends on scons to finish first - export SCONSFLAGS="-Q" + build_android_x86 $1 $2 + build_android_armeabi $1 $2 +} + +function build_android_x86() +{ echo "*********** Build for android x86 *************" - scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=$3 TARGET_TRANSPORT=IP + scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=$1 TARGET_TRANSPORT=IP $2 + scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=$1 TARGET_TRANSPORT=BT $2 + scons TARGET_OS=android TARGET_ARCH=x86 RELEASE=$1 TARGET_TRANSPORT=BLE $2 +} +function build_android_armeabi() +{ echo "*********** Build for android armeabi *************" - scons TARGET_OS=android TARGET_ARCH=armeabi RELEASE=$3 TARGET_TRANSPORT=IP - - # enable parallel build - export SCONSFLAGS="-Q -j 4" + scons TARGET_OS=android TARGET_ARCH=armeabi RELEASE=$1 TARGET_TRANSPORT=IP $2 + scons TARGET_OS=android TARGET_ARCH=armeabi RELEASE=$1 TARGET_TRANSPORT=BT $2 + scons TARGET_OS=android TARGET_ARCH=armeabi RELEASE=$1 TARGET_TRANSPORT=BLE $2 +} +function build_arduino() +{ echo "*********** Build for arduino avr *************" - scons resource TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=IP SHIELD=ETH RELEASE=$3 - scons resource TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=IP SHIELD=WIFI RELEASE=$3 + scons resource TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=IP SHIELD=ETH RELEASE=$1 $2 + scons resource TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=IP SHIELD=WIFI RELEASE=$1 $2 + scons resource TARGET_OS=arduino UPLOAD=false BOARD=mega TARGET_ARCH=avr TARGET_TRANSPORT=BLE SHIELD=RBL_NRF8001 RELEASE=$1 $2 echo "*********** Build for arduino arm *************" - scons resource TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=IP SHIELD=ETH RELEASE=$3 - scons resource TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=IP SHIELD=WIFI RELEASE=$3 + scons resource TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=IP SHIELD=ETH RELEASE=$1 $2 + scons resource TARGET_OS=arduino UPLOAD=false BOARD=arduino_due_x TARGET_ARCH=arm TARGET_TRANSPORT=IP SHIELD=WIFI RELEASE=$1 $2 + # BLE support for the Arduino Due is currently unavailable. +} +function build_tizen() +{ echo "*********** Build for Tizen CA lib and sample *************" - #scons -f resource/csdk/connectivity/build/tizen/SConscript TARGET_OS=tizen TARGET_TRANSPORT=IP LOGGING=true RELEASE=$3 + scons -f resource/csdk/connectivity/build/tizen/SConscript TARGET_OS=tizen TARGET_TRANSPORT=IP LOGGING=true RELEASE=$1 $2 echo "*********** Build for Tizen CA lib and sample with Security *************" - #scons -f resource/csdk/connectivity/build/tizen/SConscript TARGET_OS=tizen TARGET_TRANSPORT=IP LOGGING=true SECURED=1 RELEASE=$3 + scons -f resource/csdk/connectivity/build/tizen/SConscript TARGET_OS=tizen TARGET_TRANSPORT=IP LOGGING=true SECURED=1 RELEASE=$1 $2 +} - if [ $(uname -s) = "Darwin" ] - then - echo "*********** Build for OSX *************" - scons TARGET_OS=darwin SYS_VERSION=10.9 RELEASE=$3 +function build_darwin() # Mac OSx and iOS +{ + echo "*********** Build for OSX *************" + scons TARGET_OS=darwin SYS_VERSION=10.9 RELEASE=$1 $2 - echo "*********** Build for IOS i386 *************" - scons TARGET_OS=ios TARGET_ARCH=i386 SYS_VERSION=7.0 RELEASE=$3 + echo "*********** Build for IOS i386 *************" + scons TARGET_OS=ios TARGET_ARCH=i386 SYS_VERSION=7.0 RELEASE=$1 $2 - echo "*********** Build for IOS x86_64 *************" - scons TARGET_OS=ios TARGET_ARCH=x86_64 SYS_VERSION=7.0 RELEASE=$3 + echo "*********** Build for IOS x86_64 *************" + scons TARGET_OS=ios TARGET_ARCH=x86_64 SYS_VERSION=7.0 RELEASE=$1 $2 - echo "*********** Build for IOS armv7 *************" - scons TARGET_OS=ios TARGET_ARCH=armv7 SYS_VERSION=7.0 RELEASE=$3 + echo "*********** Build for IOS armv7 *************" + scons TARGET_OS=ios TARGET_ARCH=armv7 SYS_VERSION=7.0 RELEASE=$1 $2 - echo "*********** Build for IOS armv7s *************" - scons TARGET_OS=ios TARGET_ARCH=armv7s SYS_VERSION=7.0 RELEASE=$3 + echo "*********** Build for IOS armv7s *************" + scons TARGET_OS=ios TARGET_ARCH=armv7s SYS_VERSION=7.0 RELEASE=$1 $2 - echo "*********** Build for IOS arm64 *************" - scons TARGET_OS=ios TARGET_ARCH=arm64 SYS_VERSION=7.0 RELEASE=$3 - fi + echo "*********** Build for IOS arm64 *************" + scons TARGET_OS=ios TARGET_ARCH=arm64 SYS_VERSION=7.0 RELEASE=$1 $2 +} + +function unit_tests() +{ + echo "*********** Unit test Start *************" + scons resource RELEASE=false -c + scons resource LOGGING=false RELEASE=false + scons resource TEST=1 RELEASE=false + echo "*********** Unit test Stop *************" } function help() { echo "Usage:" echo " build:" - echo " `basename $0` " + echo " `basename $0` " + echo " Allowed values for : all, linux_unsecured, linux_secured, linux_unsecured_with_ra, linux_secured_with_ra, android, arduino, tizen, darwin" + echo " Note: \"linux\" will build \"linux_unsecured\", \"linux_secured\", \"linux_unsecured_with_ra\" & \"linux_secured_with_ra\"." + echo " Any selection will build both debug and release versions of all available targets in the scope you've" + echo " selected. To choose any specific command, please use the SCons commandline directly. Please refer" + echo " to [IOTIVITY_REPO]/Readme.scons.txt." echo " clean:" echo " `basename $0` -c" } +# Suppress "Reading ..." message and enable parallel build +export SCONSFLAGS="-Q -j 4" + if [ $# -eq 1 ] then if [ $1 = '-c' ] then - clean + build_all true $1 + build_all false $1 exit 0 + elif [ $1 = 'all' ] + then + build_all true + build_all false + unit_tests + elif [ $1 = 'linux' ] + then + build_linux true + build_linux false + elif [ $1 = 'linux_unsecured' ] + then + build_linux_unsecured true + build_linux_unsecured false + elif [ $1 = 'linux_secured' ] + then + build_linux_secured true + build_linux_secured false + elif [ $1 = 'linux_unsecured_with_ra' ] + then + build_linux_unsecured_with_ra true + build_linux_unsecured_with_ra false + elif [ $1 = 'linux_secured_with_ra' ] + then + build_linux_secured_with_ra true + build_linux_secured_with_ra false + elif [ $1 = 'android' ] + then + build_android true + build_android false + elif [ $1 = 'android_x86' ] + then + build_android_x86 true + build_android_x86 false + elif [ $1 = 'android_armeabi' ] + then + build_android_armeabi true + build_android_armeabi false + elif [ $1 = 'arduino' ] + then + build_arduino true + build_arduino false + elif [ $1 = 'tizen' ] + then + build_tizen true + build_tizen false + elif [ $1 = 'darwin' ] + then + build_darwin true + build_darwin false + elif [ $1 = 'unit_tests' ] + then + unit_tests else help exit -1 fi -elif [ $# -ne 2 ] +elif [ $# -eq 0 ] then + build_all true + build_all false + unit_tests +else help exit -1 fi -# Suppress "Reading ..." message and enable parallel build -export SCONSFLAGS="-Q -j 4" -build $1 $2 true -build $1 $2 false -scons resource RELEASE=false -c -scons resource LOGGING=false RELEASE=false -scons resource TEST=1 RELEASE=false echo "===================== done =====================" - -